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