四、划分選擇
1、屬性划分選擇
構造決策樹的關鍵是如何選擇最優划分屬性。一般而言,隨着划分過程不斷進行,我們希望決策樹的分支結點所包含的樣本盡可能屬於同一類別,即結點的“純度”越來越高。
常用屬性划分的准則:
(1)ID3:信息增益
(2)C4.5:增益率
(3)CART:基尼指數
直觀上,如果一個特征具有更好的分類能力,或者說,按照這一特征將訓練數據集分割成子集,使得各個子集在當前條件下有最好的分類,那么就更應該選擇這個特征
純度越高意味着從這個子集中取得某個類別的樣本的確定性越高,不確定性越低。
三種決策樹算法ID3,C4.5 ,Cart的區別在於划分屬性准則的不同。
2、信息增益
(1)信息熵
1948年,香農提出了“信息熵”(information entropy)的概念,解決了信息的量化度量問題。信息熵 是度量樣本集合“純度”最常用的一種指標。假定當前樣本集合 D 中第 k 類樣本所占的比例為pk,則D的信息熵定義為:
信息熵越大,信息不確定性越大,純度越低。
(2)信息增益
信息增益:在划分數據集之前之后信息發生的變化。按照屬性的特征值划分數據集,計算信息增益,獲得信息增益最高的屬性就是最好的選擇。
計算數據集D關於屬性a的信息增益,首先計算數據集D的信息熵,然后按照屬性a的屬性值划分成若干個子集,計算各個子集的信息熵,然后將各個子集熵進行加權,權值定義為子集樣本個數對總數的占比。要想獲得最大的信息增益,那么划分后的信息熵要盡量小,熵越小,數據的純度越高,信息的不確定性越小。
舉例:
(1)求信息熵:
(2)求信息增益:
以屬性“色澤”為例,其對應的3個數據子集分別為:
D1(色澤=青綠),D2(色澤=烏黑),D3(色澤=淺白)
子集D1包含的編號為{1,4,6,10,13,17}的6個樣例,其中正例占 P1 = 3/6 ,反例占 P2 = 3/6 ;D2、D3同理,3個結點的信息熵為:
屬性“色澤”的信息增益為:
類似的其他的信息增益為:
顯然,屬性“紋理”的信息增益最大,其被選為划分屬性:
對每個分支結點作進一步划分,最終得到決策樹:
3、信息增益率
信息增益:對可取值數目較多的屬性有所偏好(有明顯弱點,例如:考慮將“編號”作為一個屬性),這里引入一個新的度量——增益率。
增益率:
其中
屬性 a 的可能取值數目越多 (即 V 越大),則 IV(a) 的值(屬性固有值)通常就越大。
每一個樣本的編號是不同的,這時按照編號屬性進行划分時,每個子集的樣本只有一個,所有子集的信息熵為0,則划分后的信息熵0,該屬性的信息增益是最大的,但這種划分不具備泛化能力,為了減少這種不利影響,著名的決策樹算法C4.5不知用信息增益,而是用增益率。
增益率對於可能取值數目較少的屬性有所偏好,因此C4.5不直接采用信息率最大的屬性作為候選划分屬性,而是使用一個啟發式:
啟發式: 先從候選划分屬性中找出信息增益高於平均水平的,再從中選取增益率最高的。
舉例:
以色澤為例,
D1(色澤=青綠)={1,4,6,10,13,17}6個樣例(3正,3負)
D2(色澤=烏黑)={2,3,7,8,9,15}6個樣例(4正,2負)
D3(色澤=淺白)={5,11,12,14,16}5個樣例(1正,4負)
信息增益率為:
4、基尼指數
CART決策樹使用“基尼指數”來選擇划分屬性,數據集D的純度可用基尼值來度量:
反映了從 D 中隨機抽取兩個樣例,其類別標記不一致的概率。Gini(D) 越小,數據集 D 的純度越高
屬性 a 的基尼指數:
在候選屬性集合中,選取那個使划分后基尼指數最小的屬性。
在Cart決策樹中,采用基尼指數作為划分屬性的准則,它定義為任意兩個不相同的類別的概率的乘積之和,pk表示從數據集D抽取第k個類別的概率,可以用D中第k個類別的樣本占樣本總數的比例進行估計。
舉例:
以色澤為例,
D1(色澤=青綠)={1,4,6,10,13,17}6個樣例,3個正例,3個反例
D2(色澤=烏黑)={2,3,7,8,9,15}6個樣例,4個正例,2個反例
D3(色澤=淺白)={5,11,12,14,16}5個樣例,1個正例,4個反例
求色澤的基尼指數: