[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