zoukankan      html  css  js  c++  java
  • 集成学习实战——Boosting(GBDT,Adaboost,XGBoost)

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

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

    1、GBDT

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

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

    参数说明:

    1、loss:损失函数的类型:分类算法中有对数似然损失函数"deviance"和指数损失函数"exponential"两者输入选择,指数有点类似Adaboost

        对于回归模型,有均方差"ls", 绝对损失"lad", Huber损失"huber"和分位数损失“quantile”。

    2、learning_rate:学习率,也就是每个基学习器前面的权重

    3、n_estimators:基学习器数量

    4、subsample:采样,就是正则化因子里讲过,这里是不放回的采样,取值在0,1之间 

    若学习期的参数:这里以决策树为例

    5、max_features:划分是选择的最多特征数

    6、等等

    2、XGBoost

     http://xgboost.apachecn.org/cn/latest/

    参数介绍参考:http://blog.csdn.net/wzmsltw/article/details/50994481

    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、实战

  • 相关阅读:
    如何修改ls命令列出来的目录颜色
    如何替换vi的配色方案
    grep如何结尾匹配
    机器学习模型如何转换成零依赖代码
    在ubuntu bionic下对基于qemu的arm64进行linux内核5.0.1版本的编译和运行
    分析linux内核中的slub内存管理算法
    windows下如何解决chrome浏览器左下角总提示'Downloading proxy script'的问题
    发现vi出现此错误~/.vim/bundle/YouCompleteMe/third_party/ycmd/ycm_core.so: undefined symbol: clang_getCompletionFixIt
    打开vi后提示The ycmd server SHUT DOWN (restart with :YcmRestartServer)该如何处理
    ubuntu下如何修改时区和时间
  • 原文地址:https://www.cnblogs.com/jiegege/p/8587495.html
Copyright © 2011-2022 走看看