libsvm回归参数寻优cgp_【lightgbm/xgboost/nn代码整理二】xgboost做二分类,多分类以及回归任务...

本文介绍了xgboost在二分类、多分类和回归任务中的参数设置,包括objective、eval_metric、gamma、max_depth等,并讨论了数据处理中的onehot编码与labelEncoder。此外,文章还讲解了五折交叉验证和模型重要性的计算方法。
摘要由CSDN通过智能技术生成

46bfc3ea4865a8b40dae0f508243f074.png

1.简介

该部分是代码整理的第二部分,为了方便一些初学者调试代码,作者已将该部分代码打包成一个工程文件,包含简单的数据处理、xgboost配置、五折交叉训练和模型特征重要性打印四个部分。数据处理部分参考:代码整理一,这里只介绍不同的部分。本文主要是介绍一些重点的参数部分,一是方便自己以后再次查询,也希望帮助一些初学者快速的使用该项目,应用到自己的工程或者比赛中。如果只是想要阅读代码,可直接移步到尾部链接。

2. 数据处理

data = pd.concat([train_data, test_data])
cate_feature = ['gender', 'cell_province', 'id_province', 'id_city', 'rate', 'term']
for item in cate_feature:
    data[item] = LabelEncoder().fit_transform(data[item])
    item_dummies = pd.get_dummies(data[item])
    item_dummies.columns = [item + str(i + 1) for i in range(item_dummies.shape[1])]
    data = pd.concat([data, item_dummies], axis=1)
data.drop(cate_feature,axis=1,inplace=True)

该部分在lightgbm中只进行了labelEncoder编码处理,然后通过categorical_feature变量处理,在lightgbm中使用了类别特征的最优切分进行了处理,具体详情参考:柯国霖大佬的回答。xgboost中没有对类别特征做处理,这里对其进行了onehot编码处理。而在工程中,如果类别过多,我一般会放弃进行onehot,主要是由于进行onehot会导致特征过于稀疏,运算速度变慢,严重影响模型的迭代速度,并且最终对结果提升很有限,我通常只会进行labelEncod

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值