機器學習筆記 分類決策樹

2021-10-05 06:07:42 字數 3080 閱讀 1380

剪枝處理

三種典型的決策樹學習演算法的比較

決策樹作為一種基本的分類與回歸方法,它由結點和有向邊組成。結點有兩種型別:

決策樹是一種基於規則的方法,在樹的每個決策節點處,根據判斷結果進入乙個分支,反覆執行這項操作直至到達葉子結點,得到**結果。而規則是通過訓練得到的,而不是人工制定的。

決策樹學習的關鍵是如何選擇最優劃分屬性。一般地,我們要求隨著劃分的進行,節點的純度越來越高,即節點所包含的樣本盡可能屬於同一樣本。

為此,下面我們引入度量樣本集不純度的指標:

假設當前樣本集中第 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

log⁡2p

k.

\text(d) = -\sum_^ p_ \log_ p_.

ent(d)

=−i=

1∑k​

pk​log2​

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⁡

max⁡a∈

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

∣log⁡2

∣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⁡

min⁡a∈

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...