前面的文章,
主要介绍项目,数据预处理,建模也有了结果的提交。
本文章继续上一节的内容,演示Bagging,Boosting,XGBoost的用法。
Bagging
Bagging把很多的小分类器放在一起,每个train随机的一部分数据,然后把它们的最终结果综合起来(多数投票制)。
Sklearn已经直接提供了这套构架,我们直接调用就行:
注意下面这里的分类器还是选用ridge(alpha=15)
这里用Bagging比单独的使用Ridge 0.135好一点。
Boosting
Boosting 比Bagging 理论上更高级点,为啥叫“提升”,就是弄了很多分类器,按照顺序的进行训练一个分类器。
对上一个分类器做“提升”,让上一个分类器做得不好的地方给它重视(更多的权重)起来,下次分类器就知道那里跟该优化了。
这个结果貌似不理想啊,这里用的分类器是决策树,所以这个算法不能用哦!
可以选择其他的分类器!
XGBoost
最后,我们来看看巨牛逼的XGBoost,外号:Kaggle神器
这依旧是一款Boosting框架的模型,但是却做了很多的改进。
注意xgboost不是属于sklearn库,需要单独安装,(说明地位强大)
关于xgboost的下载,这里提供windows下的安装方法:
深度为5时,错误率缩小到0.126.
所以,明白了为什么说xgboost是kaggle神器了。
这里膜拜一下xgboost的作者:华盛顿大学博士陈天奇。
你们猜我把结果提交到kaggle后排名有上升否?
有,但是不大,kaggle的竞争还是挺大的,还得继续加油!
下一步准备结合特征工程,做得再细致一点,再对xgboost做更深刻的调参!
后续的文章会有xgboost的原理,如何进行xgboost的调参进行分享,欢迎继续关注哦!
-end-
领取专属 10元无门槛券
私享最新 技术干货