Ensemble methods(集成方法)

来源:互联网 发布:深圳奥凯软件 编辑:程序博客网 时间:2024/05/17 06:38

一、目的

集成方法是通过结合几个基学习器的预测结果来改善单个学习器的通用性和鲁棒性

二、分类

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 : 基学习器的个数,默认10max_samples : 用于训练每个基学习器的样本数量(默认1.0),可以是int或者floatmax_features : 用于训练每个基学习器的特征数量(默认1.0),可以是int或者floatbootstrap : 样本是否是有放回的抽样(默认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_ : 根据袋外估计计算的决策函数

此处为简单翻译,如有不对,还望指出,,后续会继续补充。。