一、目的
集成方法是通过结合几个基学习器的预测结果来改善单个学习器的通用性和鲁棒性
二、分类
1、bagging与随机森林
几个基学习的学习过程相互独立(并行式集成学习),将其预测结果进行结合
常用方法:
a. 分类(投票法)
b. 回归(平均法)
2、boosting
基学习器串行建立,目的是减小整体学习器的偏差,可以使用几个若学习器产生强学习器
三、sklearn使用
3.1 Bagging meta-estimator
在集成学习方法中,bagging方法是通过几个基分类器的结合,这些基学习器通过在不同的随机子集上进行训练得到不同的预测结果,通常用来减小结果的方差。
3.1.1 sklearn.ensemble.BaggingClassifier
class sklearn.ensemble.BaggingClassifier(base_estimator=None, n_estimators=10, max_samples=1.0, max_features=1.0, bootstrap=True, bootstrap_features=False, oob_score=False, warm_start=False, n_jobs=1, random_state=None, verbose=0)
参数说明:
base_estimator : 基学习器对象,默认决策树
n_estimators : 基学习器的个数,默认10
max_samples : 用于训练每个基学习器的样本数量(默认1.0),可以是int或者float
max_features : 用于训练每个基学习器的特征数量(默认1.0),可以是int或者float
bootstrap : 样本是否是有放回的抽样(默认True)
bootstrap_features : 特征是否是有放回的抽样(默认False)
oob_score : 是否使用袋外样本来估计范话误差
warm_start : 默认False,如果设置为True,重用之前的集成模型并加入更多的学习器,否则将会生成一个全新的集成模型
n_jobs : 默认1,训练和预测过程中并行运行的内核数,如果为-1即为内核数量
random_state :用于设置随机种子, 默认None,使用np.random的随机状态,
属性说明:
base_estimator_ : 基学习器
estimators_ : 基学习器的集合
estimators_samples_ : 每个基学习器使用的训练样本的子集
estimators_features_ : 基学习器使用的特征
classes_ : 类标签,array of shape = [n_classes]
n_classes_ : 类数目
oob_score_ : 使用袋外估计得到的训练得分
oob_decision_function_ : 根据袋外估计计算的决策函数
此处为简单翻译,如有不对,还望指出,,后续会继续补充。。