經典決策樹模型


常用的決策樹算法有ID3、C4.5、CART,它們構建樹所使用的啟發式函數各是什么?除了構建准則之外,它們之間的區別與聯系是什么?首先,我們回顧一下這幾種決策樹構造時使用的准則。

年齡 長相 工資 寫代碼 類別
小A 不會 不見
小B 年輕 一般 中等
小C 年輕 不會 不見
小D 年輕 一般
小L 年輕 一般 不會 不見

ID3: 最大信息增益


信息增益 = 經驗熵-經驗條件熵

\(D\):樣本集合;\(K\):類別數

經驗熵:

\[H(D) = -\sum_{k=1}^K \frac{|C_k|}{|D|} \text{log}_2\frac{|C_k|}{|D|} \]

經驗條件熵:

\[H(D|A)=\sum_{i=1}^n \frac{|D_i|}{|D|} H(D_i)=\sum_{i=1}^n \frac{|D_i|}{|D|}\left(-\sum_{k=1}^K \frac{|C_k|}{|D|} \text{log}_2\frac{|C_k|}{|D|}\right) \]

示例:

  • Step1:計算經驗熵

總共D=5,不見:3,見:2

\[H(D)=-\frac{3}{5} \log_2\frac{3}{5}-\frac{2}{5} \log_2\frac{2}{5}=0.971 \]

  • Step2. 計算經驗條件熵

\[\begin{aligned} &H(D|年齡) = \frac{1}{5}H(老)+\frac{4}{5}H(年輕)=\frac{1}{5}(-0)+\frac{4}{5}\left(-\frac{2}{4} \log _{2} \frac{2}{4}-\frac{2}{4} \log _{2} \frac{2}{4}\right)=0.8 \\ &H(D|長相) = \frac{1}{5}H(帥)+\frac{3}{5}H(一般)+\frac{1}{5}H(丑)=0+\frac{3}{5}\left(-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3}\right)+0=0.551 \\ &H(D|工資) = \frac{3}{5}H(高)+\frac{1}{5}H(中等)+\frac{1}{5}H(低)=\frac{3}{5}\left(-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3}\right)+0+0=0.551 \\ &H(D|寫代碼)=\frac{3}{5}H(不會)+\frac{2}{5}H(會)=\frac{3}{5}(0)+\frac{2}{5}(0)=0 \end{aligned} \]

  • Step3. 計算信息增益

\[\begin{aligned} &g(D,年齡) = 0.171,g(D,長相)=0.42 \\ &g(D,工資) = 0.42,g(D,寫代碼)=0.971 \end{aligned} \]

ID3只能用於離散型變量.

C4.5:最大信息增益比

特征A對於數據集D的信息增益比定義為:

\[\text{g}_R(D, A)=\frac{\text{g}(D, A)}{H_A(D)} \]

其中:

\[H_A(D) = -\sum_{i=1}^K \frac{|D_i|}{|D|} \text{log}_2\frac{|D_i|}{|D|} \]

CART:最大基尼指數


CART是指分類與回歸樹,而前兩種只能用做分類.

Gini描述的是數據的純度,和信息熵類似。

\[\text{Gini}(D) = 1-\sum_{k=1}^n \left(\frac{|C_k|}{|D|}\right) \]

CART在每一次迭代中選擇基尼指數最小的特征及其對應的切分點進行分類。CART是一棵二叉樹。特征A的Gini指數定義為:

\[\text{Gini}(D|A)=\sum_{i=1}^n\left(\frac{|D_i|}{|D|}\right)\text{Gini}(D_i) \]

根據式(3.24)可計算出各個特征的Gini指數為

\[\begin{aligned} &\text{Gini}(D|\text{年齡=老})=0.4, \\ &\text{Gini}(D|\text{年齡=年輕})=0.4,\\ &\text{Gini}(D|\text{長相=帥})=0.4,\text{Gini}(D|\text{長相=丑})=0.4,\\ &\text{Gini}(D|\text{寫代碼=會})=0,\text{Gini}(D|\text{寫代碼=不會})=0,\\ &\text{Gini}(D|\text{工資=高})=0.47,\text{Gini}(D|\text{工資=中等})=0.3,\\ &\text{Gini}(D|\text{工資=低})=0.4 \end{aligned} \]


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM