1. Adaboost算法基本原理
- Adaboost:Adaptive Boosting(自适应增强)
- 自适应在于:前一个分类器分错的样本会被用来训练下一个分类器。该方法对噪声数据和异常数据很敏感。 但不容易出现过拟合。
- 每一轮训练都更加关心分类错误的案例,增加分类错误的样例权重,减少分类正确的样例权重
Adaboost 优点:
很好的利用了弱分类器进行级联。
可以将不同分类算法作为弱分类器
Adaboost 具有很好高的精度,不容易过拟合
相对于 bagging/Random Forest 算法,Adaboost充分考虑到每个分类器的权重
Adaboost 缺点:
迭代次数也就是弱分类器数目不太好设定。
训练比较长
预测效果依赖于弱分类器的选择(Adaboost只是一个算法框架)
2.Adaboost 代码
sklearn.ensemble.AdaBoostClassifier(
#弱分类器自身参数
base_estimator = DcisionTreeClassifier, #选择一个弱分类器
#boosting框架参数
n_estimators = 50, #弱学习器 最大迭代次数
learning_rate = 1.0, #弱学习器 的权重缩减系数(0-1)
algorithm = 'SAMME.R', #弱分类器支持概率预测
random_state = None
)