• sklearn-adaboost


    sklearn中实现了adaboost分类和回归,即AdaBoostClassifier和AdaBoostRegressor,

    AdaBoostClassifier 实现了两种方法,即 SAMME 和 SAMME.R

    AdaBoostRegressor 用的 Adaboost.R2

    框架参数

    分类与回归框架参数基本相同

    base_estimator:基学习器,默认是cart分类树和cart回归树,如果AdaBoostClassifier选择SAMME.R算法,基学习器还要支持概率预测,也就是在sklearn中基学习器的预测方法有predict和predict_proba

    algorithm:只在AdaBoostClassifier中有,主要原因是实现了两种Adaboost分类算法,SAMME和SAMME.R。

    两者的主要区别是弱学习器权重的度量,SAMME用对样本集分类效果作为弱学习器权重,而SAMME.R使用了对样本集分类的预测概率大小来作为弱学习器权重。

    由于SAMME.R使用了概率度量的连续值,迭代一般比SAMME快,因此AdaBoostClassifier的默认算法algorithm的值也是SAMME.R。

    我们一般使用默认的SAMME.R就够了,但是要注意的是使用了SAMME.R, 则弱分类学习器参数base_estimator必须限制使用支持概率预测的分类器。SAMME算法则没有这个限制。

    loss:只在AdaBoostRegressor中有,Adaboost.R2算法需要用到。

    有线性‘linear’, 平方‘square’和指数 ‘exponential’三种选择, 默认是线性,一般使用线性就足够了,除非你怀疑这个参数导致拟合程度不好。

    n_estimator:基学习器的个数,默认50

    learning_rate:学习率,默认是1,取值0-1之间,用于正则化,防止过拟合

    random_state:随机种子设置。

    基学习器参数

    默认决策树,基学习器的参数同单独的决策树的参数

    参数很多,选几个调参常用的参数解释下

    max_feature:节点划分时的最大特征数,默认为None,即考虑所有特征,取log2代表最多考虑log2N个特征,取sqrt或auto代表最多考虑 根号N 个特征,取整数m代表m个特征,取浮点数代表百分比,即 m*N,

    如果特征不多,一般用None即可

    max_depth:树的深度,不指定是无限生长

    min_samples_split:节点划分所需的最小样本数,默认是2

    min_samples_leaf :叶子节点最少样本数,默认是1

    min_weight_fraction_leaf:叶子节点最小的样本权重和,限制叶子节点所有样本权重和的最小值,如果小于这个值,则会和兄弟节点一起被剪枝。 默认是0,就是不考虑权重问题。

      一般来说,如果我们有较多样本有缺失值,或者分类树样本的分布类别偏差很大,就会引入样本权重,这时我们就要注意这个值了。

    max_leaf_nodes: 最大叶子节点数,防止过拟合,默认是"None”,即不限制最大的叶子节点数。

    属性

    1、estimators_ : list of classifiers,拟合的基学习器的集合。

    2、classes_ : array of shape = [n_classes],类的标签。

    3、n_classes_ : int,类的数量。

    4、estimator_weights_ : array of floats,在提升的总体效果中,每个估计器的权重。

    5、estimator_errors_ : array of floats,在提升的总体效果中,每个估计器的分类误差。

    6、feature_importances_ : array of shape = [n_features],如果基学习器支持的话,它表示每个特征的重要性。

    方法

    decision_function(X):返回决策函数值(比如svm中的决策距离)

    fit(X,Y):在数据集(X,Y)上训练模型。

    get_parms():获取模型参数

    predict(X):预测数据集X的结果。

    predict_log_proba(X):预测数据集X的对数概率。

    predict_proba(X):预测数据集X的概率值。

    score(X,Y):输出数据集(X,Y)在模型上的准确率。

    staged_decision_function(X):返回每个基分类器的决策函数值

    staged_predict(X):返回每个基分类器的预测数据集X的结果。

    staged_predict_proba(X):返回每个基分类器的预测数据集X的概率结果。

    staged_score(X, Y):返回每个基分类器的预测准确率。

     
     

    参考资料:

    https://blog.csdn.net/hahaha_2017/article/details/79852363

    https://www.jianshu.com/p/b936e49509ca

  • 相关阅读:
    electron调用c#动态库
    Mybatis使用自定义类型转换Postgresql
    Spring Boot Security And JSON Web Token
    从零开始把项目发布到NPM仓库中心
    从零开始把项目发布到Nuget仓库中心
    从零开始把项目发布到maven仓库中心
    vue项目中如何在外部js中例如utils.js直接调用vue实例及vue上挂在的方法
    vue单页应用在页面刷新时保留状态数据的方法
    Vue watch 监听复杂对象变化,oldvalue 和 newValue 一致的解决办法。
    vue项目的登录跳转代码
  • 原文地址:https://www.cnblogs.com/yanshw/p/10725504.html
Copyright © 2020-2023  润新知