经过构建并结合多个学习器来完成任务,常能够得到比单一学习器更加优越的泛化性能。即便每一个简单的模型能力很弱,预测精度很是低,但组合起来以后,精度获得了显著的提高,能够和其余类型的强模型相媲美。html
个体学习器一般由现有的一个算法从训练中产生。此时集成中之包含同种类型的个体学习器,如决策树集成中的个体学习器所有是决策树,神经网络模型中的个体学习器所有是神经网络,这种集成是同质(homogenous)的,同质集成中的个体学习器也称做基学习器。 对应的,有异质集成,若集成中包含不一样类型的个体学习器,如同时包含决策树集成和神经网络集成,这时的个体学习器通常称做组件学习器,而不是基学习器,或者,直接称之为个体学习器。node
根据个体学习器的生成方式不一样,目前的集成学习方法大体分为两类:算法
工做机制:先从初始训练机训练出一个基学习器,再根据基学习器的表现对训练样本分布进行调整,使得先前基学习器作错的训练样本在后续受到更多的关注,而后基于调整后的样本分布来训练下一个基学习器。bootstrap
Bagging 是并行式集成学习方法表明之一,其算法原理大体以下:网络
当训练数据不少时,一种更为强大的结合策略是使用 “学习法”,即经过另外一个学习器来进行结合。 Stacking 是学习法的典型表明。这里咱们把个体学习器称为初级学习器,用于结合的学习器称为次级学习器或元学习器 (meta-learner)。 Stacking 先从初始数据集训练出初级学习器,而后 “生成” 一个新数据集用于训练次级学习器。在这个新数据集中,初级学习器的输出被当作样例输入特征,而初始样本的标记仍被看成样例标记。dom
随机森林是Bagging的表明算法,其原理与Bagging十分类似,在此基础上作了一些改进:机器学习
随机森林算法流程:性能
基于RF,有不少算法变种,应用很普遍,不止用于分类,还能够用于特征转换,异常点检测等。 一、 extra trees 原理与RF几乎相同,具体的区别有:学习
gini
或者信息熵
等选择一个最优特征值划分点,与传统决策树相同。但ET会随机选择一个特征值来划分决策树。 因为随机选择了特征值的划分点位,而不是最优势位,这样会致使生成的决策树的规模通常会大于 RF 所生成的决策树。也就是说,模型的方差相对于 RF 进一步减小,可是偏倚相对于 RF 进一步增大。在某些时候,ET的泛化能力比 RF 更好。 二、Totally Random Trees Embedding (如下简称 TRTE) TRTE 是一种非监督学习的数据转化方法。它将低维的数据集映射到高维,从而让映射到高维的数据更好的运用于分类回归模型。咱们知道,在支持向量机中运用了核方法来将低维的数据集映射到高维,此处 TRTE 提供了另一种方法。 三、 Isolation Forest(如下简称 IForest) 是一种异常点检测的方法。它也使用了相似于 RF 的方法来检测异常点RandomForestClassifier(n_estimators='warn', criterion='gini', max_depth=None, min_samples_split=2, min_samples_leaf=1, min_weight_fraction_leaf=0.0, max_features='auto', max_leaf_nodes=None, min_impurity_decrease=0.0, min_impurity_split=None, bootstrap=True, oob_score=False, n_jobs=None, random_state=None, verbose=0, warm_start=False, class_weight=None)_
.net
其中,参数2criterion
表示特征划分方法选择,默认为gini
,可选择为entropy
(信息增益) 两者用于表示信息的纯度,区别是计算方法的不一样。