[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