xgboost简单介绍_XGBOOST模型介绍

前言

这是机器学习系列的第三篇文章,对于住房租金预测比赛的总结这将是最后一篇文章了,比赛持续一个月自己的总结竟然也用了一个月,牵强一点来说机器学习也将会是一个漫长的道路,后续机器学习的文章大多数以知识科普为主,毕竟自己在机器学习这个领域是个渣渣,自己学到的新知识点会分享给大家的。

前面的文章谈了谈这次比赛非技术方面的收获,对数据集的初步了解和特征工程的处理,今天主要介绍这次使用的模型--XGBOOST。

XGBOOST模型介绍

关于xgboost的原理网络上的资源很少,大多数还停留在应用层面,自己也是仅仅学习了一点应用,关于原理可以参考陈天奇博士的这篇文章

https://xgboost.readthedocs.io/en/latest/tutorials/model.html。

简单介绍:

XGBOOST是一个监督模型,xgboost对应的模型本质是一堆CART树。用一堆树做预测,就是将每棵树的预测值加到一起作为最终的预测值。下图就是CART树和一堆CART树的示例,用来判断一个人是否会喜欢计算机游戏:

第二张图明了如何用一堆CART树做预测,就是简单将各个树的预测分数相加。

参数介绍:

官方参数介绍看这里:https://xgboost.readthedocs.io/en/latest/parameter.html#general-parameters

比较重要的参数介绍:

“reg:linear”–线性回归。“reg:logistic”–逻辑回归。“binary:logistic”–二分类的逻辑回归问题,输出为概率。“binary:logitraw”–二分类的逻辑回归问题,输出的结果为wTx。

“count:poisson”–计数问题的poisson回归,输出结果为poisson分布。在poisson回归中,max_delta_step的缺省值为0.7。(usedtosafeguardoptimization)

“multi:softmax”–让XGBoost采用softmax目标函数处理多分类问题,同时需要设置参数num_class(类别个数)

“multi:softprob”–和softmax一样,但是输出的是ndata*nclass的向量,可以将该向量reshape成ndata行nclass列的矩阵。没行数据表示样本所属于每个类别的概率。

lambda[default=0]L2正则的惩罚系数alpha[default=0]L1正则的惩罚系数

lambda_bias在偏置上的L2正则。缺省值为0(在L1上没有偏置项的正则,因为L1时偏置不重要)

eta[default=0.3]为了防止过拟合,更新过程中用到的收缩步长。在每次提升计算之后,算法会直接获得新特征的权重。eta通过缩减特征的权重使提升计算过程更加保守。取值范围为:[0,1]

max_depth[default=6]数的最大深度。缺省值为6,取值范围为:[1,∞]

min_child_weight[default=1]孩子节点中最小的样本权重和。如果一个叶子节点的样本权重和小于min_child_weight则拆分过程结束。在现行回归模型中,这个参数是指建立每个模型所需要的最小样本数。该成熟越大算法越conservative取值范围为:[0,∞]

xgboost参数设置的代码示例:

1xgboost参数设置代码示例:23#划分数据集4X_train,X_test,y_train,y_test=train_test_split(X,y,test_size=0.01,random_state=1729)5print(X_train.shape,X_test.shape)67#模型参数设置8xlf=xgb.XGBRegressor(max_depth=10,9learning_rate=0.1,10n_estimators=10,11silent=True,12objective='reg:linear',13nthread=-1,14gamma=0,15min_child_weight=1,16max_delta_step=0,17subsample=0.85,18colsample_bytree=0.7,19colsample_byl

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值