模型混合
您将使用一种称为 blending 的技术开始创建模型集成。
您的目标是基于 New York City Taxi 竞赛数据训练 2 个不同的模型。在测试数据上进行预测,然后使用简单的算术平均进行混合。
train 和 test DataFrame 已在您的工作区中可用。features 是用于训练的列名列表,也已在您的工作区中可用。目标变量名为 "fare_amount"。
本练习是课程的一部分
用 Python 赢下 Kaggle 竞赛
练习说明
- 使用
features列表在训练数据上训练一个梯度提升模型,目标变量为 "fare_amount" 列。 - 以相同方式训练一个随机森林模型。
- 使用梯度提升和随机森林模型对测试数据进行预测。
- 计算两个模型预测的平均值。
交互式实操练习
通过完成这段示例代码来试试这个练习。
from sklearn.ensemble import GradientBoostingRegressor, RandomForestRegressor
# Train a Gradient Boosting model
gb = GradientBoostingRegressor().____(____[features], ____.fare_amount)
# Train a Random Forest model
rf = RandomForestRegressor().____(____[features], ____.fare_amount)
# Make predictions on the test data
test['gb_pred'] = ____.____(test[features])
test['rf_pred'] = ____.____(test[features])
# Find mean of model predictions
test['blend'] = (____[____] + ____[____]) / 2
print(test[['gb_pred', 'rf_pred', 'blend']].head(3))