Začněte nyníZačněte zdarma

Standardizace dat

Některé modely, jako K-nearest neighbors (KNN) a neuronové sítě, fungují lépe se škálovanými daty – proto naše data standardizujeme.

Také odstraníme nepodstatné proměnné (den v týdnu) na základě důležitosti příznaků, a to indexováním DataFrame příznaků pomocí .iloc[]. KNN využívá vzdálenosti k hledání podobných bodů pro predikce, takže příznaky s velkými hodnotami přebijí ty s malými. Škálování dat tento problém řeší.

Funkce scale() z knihovny sklearn data standardizuje – nastaví střední hodnotu na 0 a směrodatnou odchylku na 1. V ideálním případě bychom použili StandardScaler s fit_transform() na trénovacích datech a fit() na testovacích, ale zde jsme omezeni na 15 řádků kódu.

Po škálování dat ověříme, že vše proběhlo správně, vykreslením histogramů.

Toto cvičení je součástí kurzu

Machine Learning for Finance in Python

Zobrazit kurz

Pokyny k cvičení

  • Odstraň příznaky dne v týdnu z trénovacích a testovacích dat pomocí .iloc (den v týdnu tvoří poslední 4 příznaky).
  • Standardizuj train_features a test_features pomocí funkce scale() z knihovny sklearn; škálované příznaky ulož jako scaled_train_features a scaled_test_features.
  • Vykresli histogram 14denního klouzavého průměru RSI (indexovaného jako [:, 2]) z nešálovaných train_features do prvního podgrafu (ax[0]).
  • Vykresli histogram standardizovaného 14denního klouzavého průměru RSI do druhého podgrafu (ax[1]).

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

from sklearn.preprocessing import scale

# Remove unimportant features (weekdays)
train_features = train_features.iloc[:, :-4]
test_features = test_features.____

# Standardize the train and test features
scaled_train_features = scale(train_features)
scaled_test_features = ____

# Plot histograms of the 14-day SMA RSI before and after scaling
f, ax = plt.subplots(nrows=2, ncols=1)
train_features.iloc[:, 2].hist(ax=____)
ax[1].hist(scaled_train_features[:, 2])
plt.show()
Upravit a spustit kód