1. Nauka
  2. /
  3. Kursy
  4. /
  5. Uczenie maszynowe w finansach z Pythonem

Connected

ćwiczenie

Standaryzacja danych

Niektóre modele, takie jak K najbliższych sąsiadów (KNN) i sieci neuronowe, działają lepiej na przeskalowanych danych – dlatego przeprowadzimy standaryzację.

Usuniemy też nieistotne zmienne (dzień tygodnia) na podstawie ważności cech, indeksując ramki danych cech za pomocą .iloc[]. KNN wyznacza podobne punkty na podstawie odległości, więc cechy o dużych wartościach dominują nad tymi o małych. Skalowanie danych rozwiązuje ten problem.

Funkcja scale() z biblioteki sklearn standaryzuje dane, ustawiając średnią na 0 i odchylenie standardowe na 1. Idealnie byłoby użyć StandardScaler z fit_transform() na danych treningowych i fit() na danych testowych, jednak tutaj jesteśmy ograniczeni do 15 linii kodu.

Po przeskalowaniu danych sprawdzimy, czy operacja się powiodła, wyświetlając histogramy danych.

Instrukcje

100 XP
  • Usuń cechy oznaczające dzień tygodnia ze zbioru cech treningowych i testowych, używając .iloc (cechy dnia tygodnia to ostatnie 4 kolumny).
  • Wystandaryzuj train_features i test_features za pomocą funkcji scale() z biblioteki sklearn; zapisz przeskalowane cechy jako scaled_train_features i scaled_test_features.
  • Na pierwszym wykresie (ax[0]) narysuj histogram 14-dniowej średniej kroczącej RSI (indeksowanej jako [:, 2]) z niezskalowanego zbioru train_features.
  • Na drugim wykresie (ax[1]) narysuj histogram wystandaryzowanej 14-dniowej średniej kroczącej RSI.