码迷,mamicode.com
首页 > 其他好文 > 详细

集成学习实战——Boosting(GBDT,Adaboost,XGBoost)

时间:2018-03-17 10:49:31      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:文档   预测概率   log   org   tin   技术分享   分类器   权重   必须   

集成学习实践部分也分成三块来讲解:

sklearn官方文档:http://scikit-learn.org/stable/modules/ensemble.html#ensemble

1、GBDT

 

2、XGBoost

 

3、Adaboost

在sklearn中Adaboost库分成两个,分别是分类和回归AdaBoostClassifier和AdaBoostRegressor

对于集成学习我们参数部分也分成框架跟基学习器的参数两种

1、框架部分:

AdaBoostClassifier:http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostClassifier.html#sklearn.ensemble.AdaBoostClassifier

 AdaBoostRegressor:http://scikit-learn.org/stable/modules/generated/sklearn.ensemble.AdaBoostRegressor.html#sklearn.ensemble.AdaBoostRegressor

技术分享图片

技术分享图片

参数说明:

base_estimator:弱学习器是什么,default=DecisionTreeClassifier,

algorithm:这个参数只有AdaBoostClassifier有。主要原因是scikit-learn实现了两种Adaboost分类算法,SAMME和SAMME.R。两者的主要区别是弱学习器权重的度量,SAMME使用了和我们的原理篇里二元分类Adaboost算法的扩展,即用对样本集分类效果作为弱学习器权重,而SAMME.R使用了对样本集分类的预测概率大小来作为弱学习器权重。由于SAMME.R使用了概率度量的连续值,迭代一般比SAMME快,因此AdaBoostClassifier的默认算法algorithm的值也是SAMME.R。我们一般使用默认的SAMME.R就够了,但是要注意的是使用了SAMME.R, 则弱分类学习器参数base_estimator必须限制使用支持概率预测的分类器。SAMME算法则没有这个限制。

loss:只有AdaBoostRegressor有,代表使用的损失是那种损失

技术分享图片

n_estimators:弱学习器个数

learning_rate:学习率,也就是我们前面理论部分有讲到正则化里面的参数

技术分享图片

 

2、基学习器

基学习器可选的有很多种,这里举例CART树

技术分享图片

与决策树的参数一样,可选择的有很多,更多参考决策树那篇

 

3、实战

 

集成学习实战——Boosting(GBDT,Adaboost,XGBoost)

标签:文档   预测概率   log   org   tin   技术分享   分类器   权重   必须   

原文地址:https://www.cnblogs.com/jiegege/p/8587495.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!