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.csvmodel_C_pred.csv 赋予不同的权重

②由于多模型A由目标B数据集直接获得,与测试数据相关性大,则权重较大

③多模型C参杂源A数据集,则权重交小

Final_Pred = 0.85 * model_A_pred.csv + 0.15 * model_C_pred.csv


代码及题目数据打包

链接:https://pan.baidu.com/s/1crRWogK_XBpDtXjafveBsA
提取码:axlg