Ważności cech i gradient boosting

Uczenie maszynowe w finansach z Pythonem

Nathan George

Data Science Professor

podział według dnia tygodnia

Uczenie maszynowe w finansach z Pythonem

podział według 200-dniowej SMA

Uczenie maszynowe w finansach z Pythonem

Wyodrębnianie ważności cech

from sklearn.ensemble import RandomForestRegressor

random_forest = RandomForestRegressor()
random_forest.fit(train_features, train_targets)

feature_importances = random_forest.feature_importances_

print(feature_importances)
[0.07586547 0.10697602 0.12215955 0.23969227 0.29010304 0.0314028
 0.11977058 0.00276721 0.00246329 0.0026431  0.00615667]
Uczenie maszynowe w finansach z Pythonem

Sortowanie i wizualizacja

# feature importances from random forest model
importances = random_forest.feature_importances_

# index of greatest to least feature importances
sorted_index = np.argsort(importances)[::-1]

x = range(len(importances)) # create tick labels labels = np.array(feature_names)[sorted_index] plt.bar(x, importances[sorted_index], tick_label=labels) # rotate tick labels to vertical plt.xticks(rotation=90) plt.show()
Uczenie maszynowe w finansach z Pythonem

wykres ważności cech

Uczenie maszynowe w finansach z Pythonem

Modele liniowe a gradient boosting

Uczenie maszynowe w finansach z Pythonem

schemat boostingu

Uczenie maszynowe w finansach z Pythonem

Modele boostingowe

Dostępne modele boostingowe:

  • Gradient boosting
  • Adaboost
Uczenie maszynowe w finansach z Pythonem

Dopasowanie modelu gradient boosting

from sklearn.ensemble import GradientBoostingRegressor

gbr = GradientBoostingRegressor(max_features=4,
                                learning_rate=0.01,
                                n_estimators=200,
                                subsample=0.6,
                                random_state=42)

gbr.fit(train_features, train_targets)
Uczenie maszynowe w finansach z Pythonem

Czas na boosting!

Uczenie maszynowe w finansach z Pythonem

Preparing Video For Download...