決策樹(CART演算法)

2021-09-24 14:08:46 字數 1201 閱讀 6567

分類問題中,假設有k個類,樣本點屬於第k類的概率為p

kp_k

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

其中p

kp_k

pk​表示選中的樣本屬於k

kk類別的概率,則這個樣本被分錯的概率為(1−

pk)(1-p_k)

(1−pk​

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

這裡的c

kc_k

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

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

1d_1

d1​和d

2d_2

d2​兩部分,即

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

說明:基尼指數gini(d)表示集合d的不確定性,基尼指數gini(d,a)表示經a=a分割後集合d的不確定性。基尼指數值越大,樣本集合的不確定性也就越大,這一點跟熵相似。

輸入:訓練資料集d,停止計算的條件

輸出:cart決策樹

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

step1:設結點的訓練資料集為d,計算現有特徵對該資料集的基尼指數。此時,對每乙個特徵a,對其可能取的每個值a,根據樣本點a=a的測試為「是」或「否」將d分割為d1和d2兩部分,利用上式gini(d,a)來計算a=a時的基尼指數。

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

step3:對兩個子結點遞迴地呼叫step1、step2,直至滿足條件。

step4:生成cart決策樹

演算法停止計算的條件是節點中的樣本個數小於預定閾值,或樣本集的基尼指數小於預定閾值,或者沒有更多特徵。

下面用算例說明怎麼應用此公式進行計算。

決策樹(三) CART演算法

cart 分類與回歸樹 也就是說cart演算法既可以用於分類,也可以用於回歸,它是在給定輸入隨機變數x條件下輸出隨機變數y的條件概率分布的學習方法,其也和回歸樹一樣是二叉樹。是cart演算法,也是分為 特徵選擇,樹的生成,樹的剪枝。其實感覺前兩步可以合併為一步,因為樹的生成過程中就是不斷的進行特徵的...

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹之CART

本系列分享由三篇部落格組成,建議從前往後閱讀學習。決策樹之id3 決策樹之c4.5 決策樹之cart 前面我們講到了決策樹演算法id3,和c4.5。c4.5是在id3的基礎上發展而來的,c4.5還存在的缺陷有 1 c4.5不能解決回歸的問題。2 c4.5需要進行多個對數計算,效率比較低。3 對於離散...