Модель gradient boosting
Тепер навчимо модель gradient boosting (GB). Як влучно зауважили в одній статті (https://blog.kaggle.com/2017/01/23/a-kaggle-master-explains-gradient-boosting/), лінійна модель — це наче Toyota Camry, а GB — мов гелікоптер Black Hawk. GB може перевершити випадкові ліси, але не завжди. Це відповідає теоремі про відсутність безкоштовного обіду: для кожної задачі варто спробувати кілька різних моделей.
GB подібний до моделей випадкового лісу, але різниця в тому, що дерева будуються послідовно. На кожній ітерації наступне дерево апроксимує залишкові помилки попереднього дерева, щоб поліпшити підгонку.
Поки що ми не шукатимемо значення гіперпараметрів — це вже зроблено за вас.
Ця вправа є частиною курсу
Machine Learning для фінансів у Python
Інструкції до вправи
- Створіть об'єкт
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))
____