欢迎关注天善智能,我们是专注于商业智能BI,人工智能AI,大数据分析与挖掘领域的垂直社区,学习,问答、求职一站式搞定!
对商业智能BI、大数据分析挖掘、机器学习,python,R等数据领域感兴趣的同学加微信:tstoutiao,邀请你进入数据爱好者交流群,数据爱好者们都在这儿。
作者:Ahab
个人公众号:程序员小王
前言
这是机器学习系列的第三篇文章,对于住房租金预测比赛的总结这将是最后一篇文章了,比赛持续一个月自己的总结竟然也用了一个月,牵强一点来说机器学习也将会是一个漫长的道路,后续机器学习的文章大多数以知识科普为主,毕竟自己在机器学习这个领域是个渣渣,自己学到的新知识点会分享给大家的。
前文回顾:
从0开始如何用一个月杀进机器学习比赛Top25%
机器学习实战--住房月租金预测(1)
机器学习实战--住房月租金预测(2)
前面的文章谈了谈这次比赛非技术方面的收获,对数据集的初步了解和特征工程的处理,今天主要介绍这次使用的模型--XGBOOST。
XGBOOST模型介绍
关于xgboost的原理网络上的资源很少,大多数还停留在应用层面,自己也是仅仅学习了一点应用,关于原理可以参考陈天奇博士的这篇文章
https://xgboost.readthedocs.io/en/latest/tutorials/model.html。
简单介绍:
第二张图明了如何用一堆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。(used to safeguard optimization)
“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参数设置代码示例:
2
3# 划分数据集
4X_train, X_test, y_t

本文是机器学习系列的第三篇,作者分享了在住房月租金预测比赛中使用XGBOOST的经验。介绍了XGBOOST模型的基本概念、重要参数,并展示了比赛代码,讨论了特征选择和调参策略。通过对比,指出在特征组合上的不足是提高模型性能的关键。
最低0.47元/天 解锁文章
&spm=1001.2101.3001.5002&articleId=88888780&d=1&t=3&u=3a86981bf5124ce1bb9f1f9a517dc3b7)
1583

被折叠的 条评论
为什么被折叠?



