ความสำคัญของฟีเจอร์และ Gradient Boosting

Machine Learning สำหรับการเงินด้วย Python

Nathan George

Data Science Professor

การแบ่งตามวันในสัปดาห์

Machine Learning สำหรับการเงินด้วย Python

การแบ่งด้วย SMA 200 วัน

Machine Learning สำหรับการเงินด้วย Python

การดึงค่าความสำคัญของฟีเจอร์

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 สำหรับการเงินด้วย Python

การเรียงลำดับและพล็อตกราฟ

# 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 สำหรับการเงินด้วย Python

กราฟความสำคัญของฟีเจอร์

Machine Learning สำหรับการเงินด้วย Python

โมเดลเชิงเส้น vs Gradient Boosting

Machine Learning สำหรับการเงินด้วย Python

แผนภาพ Boosting

Machine Learning สำหรับการเงินด้วย Python

โมเดลแบบ Boosted

โมเดลแบบ Boosted ที่ใช้งานได้:

  • Gradient boosting
  • Adaboost
Machine Learning สำหรับการเงินด้วย Python

การ Fit โมเดล 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)
Machine Learning สำหรับการเงินด้วย Python

มาฝึกกันเถอะ!

Machine Learning สำหรับการเงินด้วย Python

Preparing Video For Download...