Creează caracteristici și ținte
Suntem aproape gata să folosim caracteristicile și țintele în algoritmi de învățare automată – avem caracteristici bazate pe variațiile curente de preț (5d_close_pct) și indicatori (medii mobile și RSI), iar țintele reprezintă variațiile viitoare de preț (5d_close_future_pct). Acum trebuie să le separăm în array-uri numpy distincte, pentru a le putea transmite algoritmilor de învățare automată.
Indicatorii noștri introduc valori lipsă la începutul DataFrame-ului, din cauza modului în care sunt calculați. Putem completa aceste valori cu date anterioare, cu o valoare fixă sau putem elimina rândurile respective. Eliminarea rândurilor este cea mai bună opțiune, astfel încât algoritmii de învățare automată să nu fie induși în eroare de date completate artificial sau cu valoarea 0. Pandas oferă funcția .dropna(), pe care o vom folosi pentru a elimina orice rând cu valori lipsă.
Acest exercițiu face parte din cursul
Machine Learning pentru finanțe în Python
Instrucțiuni pentru exercițiu
- Elimină valorile lipsă din
lng_dffolosind.dropna()din pandas. - Creează o variabilă care să conțină țintele, adică valorile
'5d_close_future_pct'. - Creează un DataFrame care să includă atât țintele (
5d_close_future_pct), cât și caracteristicile (din lista existentăfeature_names), pentru a putea verifica corelațiile.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# 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)