🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
[TOC] ## **1.概念** 集成学习(ensemble learning),本身并不是一个单独的机器学习算法,而是通过构建并结合多个机器学习器来完成学习任务,以达到获得比单个学习器更好的学习效果的一种机器学习方法。 **集成学习的好处:** * 提高单个模型的表现 * 减少模型选择的困扰 * 单个模型的构建可以使用一些简单的模型 ## **2.关键点** * 如何生成好而不同的基评估器 * 如何combine不同基评估器的结果 ## **3.分类** * bagging * boosting * stacking ## **4.随机森林** ### **1)算法描述** (1).从样本集中通过重采样的方式产生n个样本 (2).假设样本特征数目为a,对n个样本选择a中的k个特征,用建立决策树的方式获得最佳分割点 (3).重复m次,产生m棵决策树 (4).多数投票机制来进行预测 ### **2)特点** * 良好的随机性(样本的随机性+特征的随机)保障了集成方法的可行性 * 不容易过拟合 * 不需要做特征选择 * 所有数据都可以在训练过程中使用到,OOB(Out of Bag)的数据可以用来评估当前的决策树 * 通用性:可以应用于分类和回归 ### **3)ensemble.RandomForestClassifier** ## **5. Adaboost** **Adaboost**是adaptive boosting(自适应boosting)的缩写,由Yoav Freund和Robert Schapire在1995年提出。 * Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器)。 * 算法本身是**通过改变数据分布来实现的**,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值。将修改过权值的新数据集送给下层分类器进行训练,**最后将每次训练得到的分类器最后融合起来**,作为最后的决策分类器。 * ensemble.AdaBoostClassifier