Adaboost算法
sklearn中,AdaBoostClassifier用于分类,AdaBoostRegressor用于回归。AdaBoostClassifier使用了两种Adaboost分类算法的实现,SAMME和SAMME.R。AdaBoostRegressor使用了Adaboost.R2算法。
from sklearn.ensemble import AdaBoostClassifier,AdaBoostRegressor
分类和回归两者大部分参数相同,所以一起讨论。
参数:
①base_estimator:使用的弱学习器,默认是CART决策树(分类和回归都有)。
②algorithm:只有AdaBoostClassifier有,选择SAMME或SAMME.R,默认是SAMME.R,一般选默认的即可,但要求base_estimator选择的弱学习器要有支持方法predict_proba。
③loss:只有AdaBoostRegressor有,选择计算相对误差的方法,一般选择默认的线性‘linear'就行。
④n_estimators:弱学习器的个数,太小,容易欠拟合,太大容易过拟合,默认是50,通常与下面的learning_rate一起来决定算法的拟合效果。
⑤learning_rate:正则化系数v,范围(0,1],默认1。
重点后两个的调参,同时注意选择的弱学习器自身参数的调参(比如:决策树的防止过拟合的一些参数)