梯度提升模型
現在我們要訓練一個梯度提升(GB)模型。有人打趣地說,線性模型像是 Toyota Camry,而 GB 則像 Black Hawk 直升機。GB 有機會表現優於隨機森林,但並非總是如此。這呼應了所謂的「no free lunch 定理」,意思是每個問題都應該嘗試多種不同的模型。
GB 和隨機森林模型相似,但差別在於樹是逐步建構的。每一次迭代,下一棵樹會去擬合前一棵樹的殘差,藉此改善整體擬合效果。
目前我們不會搜尋超參數——這些已經幫你事先調好。
本練習屬於課程
Python 金融 Machine Learning
練習說明
- 使用已為你設定好的超參數,建立一個
GradientBoostingRegressor物件。 - 將
gbr模型擬合到train_features和train_targets。 - 列印訓練與測試的特徵與目標分數。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
from sklearn.ensemble import GradientBoostingRegressor
# Create GB model -- hyperparameters have already been searched for you
gbr = ____(max_features=4,
learning_rate=0.01,
n_estimators=200,
subsample=0.6,
random_state=42)
gbr.fit(____)
print(gbr.score(train_features, train_targets))
____