Důležitost příznaků a gradientní boosting

Machine Learning for Finance in Python

Nathan George

Data Science Professor

rozdělení podle dne v týdnu

Machine Learning for Finance in Python

rozdělení podle 200denního SMA

Machine Learning for Finance in Python

Extrakce důležitosti příznaků

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]
Machine Learning for Finance in Python

Řazení a vizualizace

# 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()
Machine Learning for Finance in Python

graf důležitosti příznaků

Machine Learning for Finance in Python

Lineární modely vs. gradientní boosting

Machine Learning for Finance in Python

diagram boostingu

Machine Learning for Finance in Python

Boostované modely

Dostupné boostované modely:

  • Gradientní boosting
  • Adaboost
Machine Learning for Finance in Python

Trénování modelu gradientního boostingu

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)
Machine Learning for Finance in Python

Vyzkoušejte boosting!

Machine Learning for Finance in Python

Preparing Video For Download...