XgBoost使用
XgBoost模型使用
简介:
本文章记录一下内容:参加一个大数据比赛,运用到该模型中的XGBRegressor回归模型
以及对数据的处理(pandas使用),同时还有一些迁移学习的思想及运用。
完整代码及题目数据已上传到百度网盘,下面对当时设计的方案作一个回想(运用到迁移学习的思想)
方案:
说明:
A数据多,B数据少
方法:通过探索二者关系,将A数据集中的信息迁移到B数据集中
目标:获得B数据预测模型
模型A
①对B数据进行特征工程,得到特征集合,并将其划分为训练集和数据集
b_train_t.to_csv('B_train_dummy.csv', index=False)
b_test_t.to_csv('B_train_dummy.csv', index = False)
②采用XGBoost训练B数据,获得单模型A
③模型集成
通过修改params不同的参数:例如max_depth,eta等
获得多模型集成得到的多模型A
多模型A对B数据预测,得到平均结果 ->
model_A_pred.csv
模型B
①对A数据进行特征工程,得到特征集合,A数据全部作为训练集
②采用XGBoost训练A数据,并将B数据作为验证集来进行调参
③通过①②获得单模型B
模型C
①只选取B数据,将其划分为训练集和验证集
②在模型B的基础上,利用B数据微调模型B,获得单模型C
③模型集成
获得多模型C
多模型C对B数据预测,得到平均结果 ->
model_C_pred.csv
目标结果
①给 model_A_pred.csv
和 model_C_pred.csv
赋予不同的权重
②由于多模型A由目标B数据集直接获得,与测试数据相关性大,则权重较大
③多模型C参杂源A数据集,则权重交小
④Final_Pred
= 0.85 * model_A_pred.csv
+ 0.15 * model_C_pred.csv
代码及题目数据打包
本博客所有文章除特别声明外,转载请注明出处!