決策樹面試知識點最全總結(五) CART分類樹

2021-08-28 11:56:12 字數 3147 閱讀 8680

cart分類樹用基尼指數選擇最優特徵,同時決定該特徵的最優二值切分點。

**基尼指數:**分類問題中,假設有k個類,樣本點屬於第k類的概率為p

kp_k

pk​則概率分布的基尼指數定義為:

g in

i(p)

=∑k=

1kpk

(1−p

k)=1

−∑k=

1kpk

2gini(p) =\displaystyle\sum_^p_k(1-p_k)=1-\displaystyle\sum_^p_^

gini(p

)=k=

1∑k​

pk​(

1−pk

​)=1

−k=1

∑k​p

k2​對於給定的樣本集合d,其基尼指數為:

g in

i(d)

=1−∑

k=1k

(∣ck

∣∣d∣

)gini(d)=1-\displaystyle\sum_^(\frac)

gini(d

)=1−

k=1∑

k​(∣

d∣∣c

k​∣​

)其中,c

kc_k

ck​是d中屬於第k類的樣本子集,k是類的個數。

如果集合d根據特徵a是否取某一可能值a被分割成d1和

d2

d_1和d_2

d1​和d2

​兩部分,即

d 1=

(x,y

)∈d∣

a(x)

=ad2

=d−d

1d_1= d_2 = d - d_1

d1​=(x

,y)∈

d∣a(

x)=a

d2​=

d−d1

​則在特徵a的條件下,集合d的基尼指數定義為:

g in

i(d)

=∣d1

∣∣d∣

gini

(d1)

+∣d2

∣∣d∣

gini

(d2)

gini(d)=\fracgini(d_1) +\fracgini(d_2)

gini(d

)=∣d

∣∣d1

​∣​g

ini(

d1​)

+∣d∣

∣d2​

∣​gi

ni(d

2​)基尼指數gini(d)表示集合d的不確定性,基尼指數gini(d,a)表示經a =a分割後集合d的不確定性。

基尼指數值越大,樣本集合的不確定性也越大,這一點和熵類似。

cart分類樹生成演算法:

輸入:訓練資料集d,停止劃分條件

輸出:cart分類樹

根據訓練資料集d,從根節點開始,遞迴的對每個結點進行以下操作,構建二叉樹

1)設結點的訓練資料集為d,計算現有的特徵對該資料集的基尼指數。此時對每乙個特徵a,對其每乙個可能的取值a,根據樣本點對a=a的測試為「是」或「否」將d分割成d1和

d2

d_1和d_2

d1​和d2

​利用上面的公式計算a=a的基尼指數

2)在所有可能的特徵a以及所有可能的切分點a中,選擇基尼指數最小的特徵及其對應的切分點作為最優特徵與最優切分點。依據最優特徵和最優切分點,從現有結點生成2個子結點,將訓練資料集依特徵分配到兩個子節點中去。

3)對兩個子節點遞迴呼叫1)2),直至滿足停止條件。

4)生成cart分類樹。

連續值與缺失值處理:

**連續值處理:**由於連續屬性的可取數目不再有限,因此,不能直接根據連續屬性的可取值來對結點進行劃分。連續屬性離散化技術就派上用場了,最簡單的策略是採用二分法

給定樣本集d和連續屬性a,假設a在集合d上出現了n個不同的取值,將這些值從小到大排序,記為a1,

a2……

an

a1,a2…

…an

基於劃分點t可將d分為子集dt+

和dt−

d_t^+和d_t^-

dt+​和d

t−​,其中dt+

包含哪些

在屬性a

上取值大

於t的樣

本。dt

−包含哪

些在屬性

a上的取

值不大於

t的樣本

。d_t^+包含哪些在屬性a上取值大於t的樣本。d_t^-包含哪些在屬性a上的取值不大於t的樣本。

dt+​包含

哪些在屬

性a上取

值大於t

的樣本。

dt−​

包含哪些

在屬性a

上的取值

不大於t

的樣本。

顯然對於相鄰的屬性取值 ai和

ai+1

a^i和a^

ai和ai+

1來說,t在區間[ai

,ai+

1)

[a^i,a^)

[ai,ai

+1)中取任意值產生的劃分結果相同。因此對連續屬性a我們可考察包含 n-1 個元素的候選劃分點集合

t a=

ai+a

i+12

∣1

<=i

<=n

−1

t_a=}|1<= i<= n-1}

ta​=2a

i+ai

+1​∣

1<=i

<=n

−1即把區間[ai

,ai+

1)

[a^i,a^)

[ai,ai

+1)的中位點ai+

ai+1

2\frac}

2ai+ai

+1​作為候選劃分點。

缺失值處理:

現實任務中常會遇到不完整樣本,即樣本的某些屬性值缺失。

決策樹中針對缺失值,需要解決以下2個問題:

1)如何在屬性值缺失的情況下進行劃分屬性選擇?

2)給定劃分屬性,若樣本在該屬性上的值缺失,如何對樣本進行劃分?

決策樹面試總結

1 概括 顧名思義,決策樹就是一棵樹,一顆決策樹包含乙個根節點 若干個內部結點和若干個葉結點 葉結點對應於決策結果,其他每個結點則對應於乙個屬性測試 每個結點包含的樣本集合根據屬性測試的結果被劃分到子結點中 根結點包含樣本全集,從根結點到每個葉子結點的路徑對應了乙個判定測試序列。決策樹學習的演算法通...

決策樹基礎知識點整理

決策樹的構造是乙個遞迴的過程,有三種情形會導致遞迴返回 1 當前結點包含的樣本全屬於同一類別,這時直接將該節點標記為葉節點,並設為相應的類別 2 當前屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分,這時將該節點標記為葉節點,並將其類別設為該節點所含樣本最多的類別 3 當前結點包含的樣本集合為...

Linux面試總結知識點

1.一台主機要實現通過區域網與另乙個區域網通訊,需要做的工作是?定義一條本機指向目標網路閘道器的路由 2.下列關於檔案系統中元資料 比如ext2中的inode 的基本作用及ext2和ext3的根本區別描述錯誤的有?b a.ext2 inode用來定義檔案系統的結構以及描述系統中每個檔案的管理資訊,每...