Kaggle实战之集成学习进行泰坦尼克预测比赛

一、集成学习浅谈

集成算法利用统计学中的采样原理训练出数量庞大的模型再利用投票原则进行预测,正所谓三个臭皮匠顶的上一个诸葛亮,许多弱学习器集成起来可以达到很好的效果。

集成学习算法主要分为Bagging, Boosting, Stacking这几种, 在Kaggle竞赛中使用的十分广泛.

Bagging

随机有放回采样, 可以并行训练多个模型, 常用的随机森林属于Bagging的进化版

Boosting

Boogting与Bagging的区别主要在于boosting采用的是加大预测错误样本的权重的方法对于模型进行不断的修正, 所以模型之间会产生影响, 只能够串行执行. Xgboost和我下面要介绍的Catboost就属于这一种.

其中Gradient Boosting属于Boosting中的一大类算法, 其基本思想是依据当前模型损失函数的负梯度信息来训练新加如的弱分类器, 然后将其以累加的方式加入现有模型中. LightGBM也在Kaggle竞赛中应用极广, 效果很好.

二、CatBoost

在这个比赛中我主要用的是Yandex公司开源的CatBoost库, 这个库在Kaggle中的热度没有Xgboost和LightGBM高, 但是经我尝试CatBoost的效果还是非常令人满意的.

发现这个库也有一段曲折的经历, 在闲鱼上面花了几块钱买下来Coursera上机器学习专题的所有课程后, 毛子做的一个课程吸引了我的注意力."How to Win a Data Science Competition: Learn from Top Kagglers", 这里面一个毛妹介绍了一下这个库, 搜了一下它跟Xgboost和lightGBM的比较, 发现这个库也是相当不错.

CatBoost:ä¸ä¸ªèªå¨å¤çåç±»(CAT)æ°æ®çæºå¨å­¦ä¹ åº

CatBoost与Xgboost有点不同, CatBoost采用的是平衡树, 运算的速度比Xgboost快了不少, Xgboost巨慢的速度也是影响我们调参的一个障碍. CatBoost还可以直接对于Category进行处理, 这也是它得名的原因, 这就免去了我们在特征工程中对于种类数据的独热处理.

在Kaggle的leadboard上面我们经常会看见很多大神的名字以洛夫, 斯基, 娃等俄语专有的词缀结尾, 中美虽然几乎各自占据了AI产业界的半壁江山, 但是俄罗斯的人才实力也是绝对不容忽视的, 从ACM-ICPC的榜单上我们就可以窥知一二, 苏联解体已经近三十年了, 但是苏式这种极为扎实的理科教育还是为一大批独联体国家及苏联曾经的卫星国培养出了许许多多相当优秀的人才.

三、Kaggle实战代码

总得而言,Catboost的效果比决策树的效果好了很多,0.79425分,能够排到2270/10162

https://colab.research.google.com/drive/10-KvwlPOzJcj0r7Xis95JIza0mYOsyYH

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值