Tworzenie cech i wartości docelowych
Cechy i wartości docelowe są już prawie gotowe do uczenia maszynowego – mamy cechy oparte na bieżących zmianach cen (5d_close_pct) oraz wskaźniki (średnie kroczące i RSI), a także wartości docelowe w postaci przyszłych zmian cen (5d_close_future_pct). Teraz trzeba podzielić te dane na osobne tablice numpy, aby można było przekazać je do algorytmów uczenia maszynowego.
Nasze wskaźniki powodują pojawienie się brakujących wartości na początku DataFrame ze względu na sposób ich obliczania. Można by wypełnić te braki danymi z kolejnych wierszy, zastąpić je pojedynczą wartością lub po prostu usunąć odpowiednie wiersze. Usunięcie wierszy to dobry wybór – algorytmy uczenia maszynowego nie będą wtedy mylone przez dane uzupełnione wstecznie ani wypełnione zerami. Pandas udostępnia funkcję .dropna(), której użyjemy do usunięcia wierszy z brakującymi wartościami.
To ćwiczenie jest częścią kursu
Uczenie maszynowe w finansach z Pythonem
Instrukcje do ćwiczenia
- Usuń brakujące wartości z
lng_dfza pomocą.dropna()z biblioteki pandas. - Utwórz zmienną zawierającą wartości docelowe, czyli kolumnę
'5d_close_future_pct'. - Utwórz DataFrame zawierający zarówno wartości docelowe (
5d_close_future_pct), jak i cechy (zawarte w istniejącej liściefeature_names), aby sprawdzić korelacje.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Drop all na values
lng_df = lng_df.____
# Create features and targets
# use feature_names for features; '5d_close_future_pct' for targets
features = lng_df[feature_names]
targets = lng_df[____]
# Create DataFrame from target column and feature columns
feature_and_target_cols = ['5d_close_future_pct'] + ____
feat_targ_df = lng_df[feature_and_target_cols]
# Calculate correlation matrix
corr = feat_targ_df.corr()
print(corr)