剪枝處理
三種典型的決策樹學習演算法的比較
決策樹作為一種基本的分類與回歸方法,它由結點和有向邊組成。結點有兩種型別:
決策樹是一種基於規則的方法,在樹的每個決策節點處,根據判斷結果進入乙個分支,反覆執行這項操作直至到達葉子結點,得到**結果。而規則是通過訓練得到的,而不是人工制定的。
決策樹學習的關鍵是如何選擇最優劃分屬性。一般地,我們要求隨著劃分的進行,節點的純度越來越高,即節點所包含的樣本盡可能屬於同一樣本。
為此,下面我們引入度量樣本集不純度的指標:
假設當前樣本集中第 k
kk 類樣本所佔比例為 pk(
k=1,
2,…,
k)
,p_ \, (k = 1, 2, \ldots, k),
pk(k=
1,2,
…,k)
, 則 d
dd 的資訊熵定義為
ent (d
)=−∑
i=1k
pk
log2p
k.
\text(d) = -\sum_^ p_ \log_ p_.
ent(d)
=−i=
1∑k
pklog2
pk.
資訊熵的值越小,則 d
dd 的純度越高。
假定離散屬性 a
aa 有 v
vv 個可能的取值
\, \ldots, a^\}
,若使用 a
aa 來對樣本集進行劃分, 則會產生 v
vv 個分支節點, 其中第 ν
\nuν 個分支節點包含了 d
dd 中所有在屬性 a
aa 上 取值為 aνa^
aν的樣本, 記為 dνd^
dν.接下來,定義用屬性 a
aa 對樣本集劃分所獲得的資訊增益
gain(d
,a)=
end(d)
−∑ν=
1v∣d
ν∣∣d
∣ent(d
ν)
.\text(d, a) = \text(d) - \sum_^ \frac \right|} \text(d^).
gain(d
,a)=
end(d)
−ν=1
∑v∣
d∣∣d
ν∣ent(d
ν).一般來說,資訊增益越大,意味著用屬性 a
aa 來進行劃分所獲得的純度提公升越大。因此,我們可以用資訊增益來進行決策樹的劃分屬性選擇,即
a ∗=
arg
maxa∈
again(d
,a).
a^ = \mathop\limits_ \text(d, a).
a∗=a∈a
argmax
gain(d
,a).
資訊增益比(增益率)定義為
gain_ratio(d
,a)=
gain(d
,a)iv
(a),
\text(d, a) = \frac(d, a)}(a)},
gain_ratio(d
,a)=
iv(a)
gain(d
,a)
,其中iv (a
)=−∑
ν=1v
∣dν∣
∣d
∣log2
∣dν∣
∣d
∣\text(a) = -\sum_^ \frac \vert} \log_ \frac \vert}
iv(a)=−
ν=1∑
v∣d
∣∣dν
∣log2∣
d∣∣d
ν∣稱為屬性 a
aa 的固有值。
資料集 d
dd 的不純度可以用基尼值來度量
gini(d
)=∑k
=1k∑
k′≠k
pkpk
′=1−
∑k=1
kpk2
.\begin \text(d) &= \sum_^ \sum_ p_p_ \\ &= 1 - \sum_^p_^. \end
gini(d
)=k
=1∑k
k′
=k∑
pk
pk′
=1−k
=1∑k
pk2
.基尼值反映了從資料集中隨機抽取兩個樣本,類別不一致的概率。
屬性 a
aa 的 gini index 定義為
gini_index(d
,a)=
∑ν=1
v∣dν
∣∣d∣
gini(d
ν)
.\text(d, a) = \sum_^ \frac \vert} \text(d^).
gini_index(d
,a)=
ν=1∑
v∣d
∣∣dν
∣gini(d
ν).因此,最優劃分屬性為
a ∗=
arg
mina∈
agini_index(d
,a).
a^ = \mathop\limits_ \text(d, a).
a∗=a∈a
argmin
gini_index(d
,a).
當決策樹的結構過於複雜時,有可能會帶來過擬合的問題。此時,要對決策樹進行剪枝,剪掉某些節點。
決策樹的剪枝演算法分為
後剪枝的典型實現: 演算法
支援型別
劃分屬性的選擇
連續值處理
缺失值處理
剪枝id3
分類資訊增益
不支援不支援
不支援c4.5
分類資訊增益比
支援支援
支援cart
分類與回歸
基尼指數/均方差
支援支援
支援
機器學習分類器 決策樹
一 決策樹 經常使用決策樹來處理分類問題,決策樹也是最經常使用的資料探勘演算法,不需要了解機器學習的知識,就能搞明白決策樹是如何工作的。knn演算法可以完成很多分類任務,但它最大的缺點就是無法給出資料的內在含義,決策樹的主要優勢在於資料形式非常容易理解 決策樹能夠讀取資料集合,其乙個重要任務是為了資...
機器學習筆記 決策樹學習
決策樹學習是一種逼近離散值目標函式的方法,在這樣的方法中學習到的函式被表示為一棵決策樹。表示法 把例項從根節點排列到某個葉子節點來分類例項,葉子節點即為例項所屬的分類。樹上的每個節點指定了對例項的某個屬性 attribute 的測試,而且該節點的每個字尾分支相應於該屬性的乙個可能值。分類例項的方法是...
機器學習之決策樹分類器
決策樹,當下比較流行的有三種分類器,c4.5,id3,cart,不過大同小異,主要的區別就是選擇的目標函式不同,id3使用的是資訊增益,c4.5使用資訊增益率,cart使用的是gini係數。具體的原理就不說了,去翻翻別的博主吧,下面給出本人測試的小demo,幫助各位學者更快入手。coding utf...