這裡主要是說明決策樹的分類與迴歸樹最大的不同點。並且用最簡單的例子來說明 gini index 與 minimize square error
gini index¶
假設資料集合 S 包含 n 個類別,Gini(S)的定義為 Pj 為在 S中的值組屬於類別j的機率 Gini(S)=1−n∑j=1P2j
利用屬性A分割資料集合 S 為 S1 與 S2 (二元分割)。則根據此一分割要件的吉尼係數GiniA(S)為 GiniA(S)=|S1||S|Gini(S1)+|S2||S|Gini(S2)
不純度值的降低為:
ΔGini(A)=Gini(S)−GiniA(S)挑選擁有最大不純度的降低值、或吉尼係數GiniA(S)最小的屬性作為分割屬性。
一個節點¶
用紅黑球10顆來舉例,如果紅和黑是9:1
Gini(S{red,black})=1−(910)2−(110)2=0.18如果紅和黑是4:6
Gini(S{red,black})=1−(410)2−(610)2=0.48可以發現,對於一個節點來說,Gini Index 代表了內部的不純度,也就是比例越是平均,Gini值越高
分割後的節點¶
現在將 4:6 的紅黑球(Gini = 0.48)分成兩組各5顆S1與S2
S1紅黑的比例為3:2 S2紅黑的比例為1:4
Gini(Ssplit)=510Gini(S1)+510Gini(S2)=510⋅0.48+510⋅0.32=0.4然後計算 ΔGini(Split)的值 ΔGini(Split)=0.48−0.4=0.08
在決策樹上的運作方式¶
對於決策樹來說,Gini Index 是選擇分割屬性的方法,因此會比較兩種以上屬性的ΔGini,選擇降低最多的屬性
MAX(ΔGini(A),ΔGini(B))
minimize square error¶
定義 x 和 y x=x1,x2,x3,x4,...xiy=y1,y2,y3,y4,...yi 首先利用特徵A分出兩個區域 R1 與 R2,Loss function 為預測值和真實值的誤差 LossA=∑xi∈R1(yi−c1)2+∑xi∈R2(yi−c2)2
LossA中,y是x對應的真實值。我們的目標就是使得LossA最小化時的c1和c2,目標函式為:
min當式子為最小值時,c_1 和 c_2 分別為
{c_1} =\frac{1}{N_1} \sum_{x_i \in R_1}^{} y_i{c_2} =\frac{1}{N_2} \sum_{x_i \in R_2}^{} y_i用圖可以簡單理解,下面是 R_1 和 R_1。以及個別代表的c_1 和 c_2
此時的 loss function 回傳的是 3.36
接下來稍微修正一下特徵,使分割改變,loss function 回傳的值變為 7.38。
只要分割後的誤差越大,這個值就會升高,最後形成誤差最小的迴歸線
參考資料¶