1.決策樹模型
- 決策樹是一種基本的分類與迴歸方法,以建樹的形式來做決策。
- 決策樹學習的三個步驟:特徵選擇、生成決策樹、決策樹修剪。
2.特徵選擇
特徵選擇就是尋找屬性來劃分樣本,隨着劃分過程不斷進行,我們希望決策樹的分支結點所包含的樣本儘可能屬於同一類別,即結點的"純度"越來越高。其準則就是信息增益或信息增益比。
信息熵:信息熵越小代表的樣本純度越高。
信息增益:信息增益越大,則意味着用屬性a來進行劃分所獲得的"純度提升"越大。
信息增益比:使用“增益比”來選擇最優劃分屬性
基尼指數:Gini越小,則D的純度越高。
3.決策樹中的三個經典算法
- ID3算法:在決策樹各個結點上應用增益準則選擇特徵,遞歸構建決策樹,從根節點開始對結點計算所有可能的特徵的信息增益,選擇信息增益最大的特徵作爲結點的特徵
- C4.5算法:改進ID3算法,用信息增益比來選擇特徵。
- CART算法:根據基尼指數來構建決策樹
4.生成決策樹(舉個例子)
1)得到數據集
2)計算信息增益
3)生成決策樹
5.決策樹修剪——剪枝處理
剪枝是決策樹學習算法對付"過擬合"的主要手段。
過擬合原因: 1)噪聲導致的過擬合:擬合了被誤標記的樣例,導致誤分類。 2)缺乏代表性樣本導致的過擬合:缺乏代表性樣本的少量訓練集作出的決策會出現過擬合。 3)多重比較造成的過擬合:複雜模型。
剪枝算法:
1. 計算每個結點的經驗熵;
2. 遞歸地從樹的葉結點向上回縮;
3. 一直到得到損失函數最小的子樹。
剪枝處理
預剪枝是指在決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化性能提升,則停止劃分並將當前結點標記爲葉結點;
後剪枝則是先從訓練集生成一棵完整的決策樹,然後自底向上地對非葉結點進行考察,若將該結點對應的子樹替換爲葉結點能帶來決策樹泛化性能提升,則將該子樹替換爲葉結點。
判斷決策樹泛化性能是否提升:留出法,即預留一部分數據用作"驗證集"以進行性能評估。
例如:在預剪枝中,對於每一個分裂節點,對比分裂前後決策樹在驗證集上的預測精度,從而決定是否分裂該節點。而在後剪枝中,考察非葉節點,對比剪枝前後決策樹在驗證集上的預測精度,從而決定是否對其剪枝。
6.特殊值處理
缺失值:即樣本的某些屬性值缺失。
推廣信息增益公式,爲每個樣本賦予權重,通過計算後會調整缺失值的自結點的權重:
參考書籍:《機器學習》周志華、《統計學習方法》李航