决策树的生成—ID3算法
決策樹(shù)的生成—ID3算法
算法由來(lái):
決策樹(shù)算法最開(kāi)始是由Hunt Earl B提出的CLS(Concept Learning System),但是沒(méi)有給出采用什么方法選擇最優(yōu)特征,后面羅斯昆(J. Ross Quinlan)提出ID3算法,使用 [信息增益] 確定最優(yōu)特征,之后羅斯昆又對(duì)ID3算法進(jìn)行了優(yōu)化改進(jìn),得到 C4.5算法,并用 信息增益比來(lái)確定最優(yōu)特征。兩種算法本質(zhì)是差不多的,只是確定最優(yōu)特征的方法不同,ID3算法偏向于選擇數(shù)量較多的某一特征,C4.5算法偏向于某一特征單位數(shù)量的選擇。
ID3算法
輸入:訓(xùn)練數(shù)據(jù)集D、特征集A、閾值∈\in∈
輸出:決策樹(shù)T
判斷T是否需要選擇特征生成決策樹(shù):
——若D中所有實(shí)例屬于同一類(lèi),則T為單結(jié)點(diǎn)樹(shù),記錄實(shí)例類(lèi)別CkC_kCk?以此作為該結(jié)點(diǎn)的類(lèi)標(biāo)記,并返回T:
——若D中所有實(shí)例無(wú)任何特征(A=?)(A=\emptyset)(A=?),則T為單結(jié)點(diǎn)樹(shù),記錄D中實(shí)例個(gè)數(shù)最多類(lèi)別CkC_kCk?,以此作為該結(jié)點(diǎn)的類(lèi)標(biāo)記,并返回T;
否則,計(jì)算A中各特征的信息增益,并選擇信息增益最大的特征Ag:
——若Ag的信息增益小于,則T為單結(jié)點(diǎn)樹(shù),記錄D中實(shí)例個(gè)數(shù)最多類(lèi)別CkC_kCk?,以此作為該結(jié)點(diǎn)的類(lèi)標(biāo)記,并返回T;
——否則,按照Ag的每個(gè)可能值aia_iai?,將D分為若干非空子集DiD_iDi?,將DiD_iDi?中實(shí)例個(gè)數(shù)最多的類(lèi)別作為標(biāo)記,構(gòu)建子結(jié)點(diǎn),以結(jié)點(diǎn)和其子節(jié)點(diǎn)構(gòu)成T,并返回T;
第i個(gè)子結(jié)點(diǎn),以DiD_iDi?為訓(xùn)練集,A一Ag為特征集合,遞歸地調(diào)用以上步驟,得到子樹(shù)TiT_iTi?并返回。
決策樹(shù)思想的核心在于當(dāng)每個(gè)迭代出來(lái)的訓(xùn)練集計(jì)算出的最大信息增益小于閾值時(shí),生成單結(jié)點(diǎn)樹(shù)才可終止。
例題:
計(jì)算出來(lái)的各個(gè)特征的經(jīng)驗(yàn)熵、經(jīng)驗(yàn)條件熵、信息增益如下:
最大信息增益為自己的房子這個(gè)特征,分為兩類(lèi):有房子和無(wú)房子,有房子的設(shè)置單一節(jié)點(diǎn)為同意貸款,沒(méi)有房子的訓(xùn)練數(shù)據(jù)集作為新的訓(xùn)練數(shù)據(jù)集D2D_2D2?,再?gòu)氖O碌奶卣髦杏?jì)算信息增益,選擇最大信息增益的特征。
以特征:年齡為A1A_1A1?, 有工作為A2A_2A2?, 信貸情況為A3A_3A3?
信息增益公式:
g(D2,Ai)=H(D2)?H(D2∣Ai)g\left(D_{2}, A_{i}\right)=H\left(D_{2}\right)-H\left(D_{2} \mid A_{i}\right) g(D2?,Ai?)=H(D2?)?H(D2?∣Ai?)
經(jīng)驗(yàn)熵:
H(D2)=?69log?2(69)?39log?2(39)=0.918\begin{aligned} H\left(D_{2}\right) &=-\frac{6}{9} \log _{2}\left(\frac{6}{9}\right)-\frac{3}{9} \log _{2}\left(\frac{3}{9}\right) \\ &=0.918 \end{aligned} H(D2?)?=?96?log2?(96?)?93?log2?(93?)=0.918?
特征:年齡
計(jì)算:
w1=∣D21∣∣D2∣=49H(D21)=?14log?214?34log?234=0.811\begin{aligned} &w_{1}=\frac{\left|D_{21}\right|}{\left|D_{2}\right|}=\frac{4}{9} \\ &H\left(D_{21}\right)=-\frac{1}{4} \log _{2} \frac{1}{4}-\frac{3}{4} \log _{2} \frac{3}{4}=0.811 \end{aligned} ?w1?=∣D2?∣∣D21?∣?=94?H(D21?)=?41?log2?41??43?log2?43?=0.811?
? 中年:
w2=∣D21∣∣D2∣=29H(D22)=0\begin{aligned} &w_{2}=\frac{\left|D_{21}\right|}{\left|D_{2}\right|}=\frac{2}{9} \\ &H\left(D_{22}\right)=0 \end{aligned} ?w2?=∣D2?∣∣D21?∣?=92?H(D22?)=0?
? 老年:
w3=∣D23∣∣D2∣=39H(D23)=?23log?223?13log?213=0.918\begin{aligned} &w_{3}=\frac{\left|D_{23}\right|}{\left|D_{2}\right|}=\frac{3}{9} \\ &H\left(D_{23}\right)=-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3}=0.918 \end{aligned} ?w3?=∣D2?∣∣D23?∣?=93?H(D23?)=?32?log2?32??31?log2?31?=0.918?
經(jīng)驗(yàn)條件熵:
H(D2∣A1)=w1H(D21)+w2H(D22)+w3H(D23)=0.360+0+0.307=0.667\begin{aligned} H\left(D_{2} \mid A_{1}\right) &=w_{1} H\left(D_{21}\right)+w_{2} H\left(D_{22}\right)+w_{3} H\left(D_{23}\right) \\ &=0.360+0+0.307 \\ &=0.667 \end{aligned} H(D2?∣A1?)?=w1?H(D21?)+w2?H(D22?)+w3?H(D23?)=0.360+0+0.307=0.667?
特征:是否有工作
計(jì)算:
有工作:
w1=∣D22∣∣D2∣=39H(D22)=0\begin{aligned} &w_{1}=\frac{\left|D_{22}\right|}{\left|D_{2}\right|}=\frac{3}{9} \\ &H\left(D_{22}\right)=0 \end{aligned} ?w1?=∣D2?∣∣D22?∣?=93?H(D22?)=0?
? 沒(méi)有工作:
w2=∣D22∣∣D2∣=69H(D22)=0\begin{aligned} &w_{2}=\frac{\left|D_{22}\right|}{\left|D_{2}\right|}=\frac{6}{9} \\ &H\left(D_{22}\right)=0 \end{aligned} ?w2?=∣D2?∣∣D22?∣?=96?H(D22?)=0?
經(jīng)驗(yàn)條件熵:
H(D2∣A3)=w1H(d21)+w2H(D22)=0H(D_2|A_3)=w_1H(d_{21})+w_2H(D_{22})=0 H(D2?∣A3?)=w1?H(d21?)+w2?H(D22?)=0
特征:信貸情況
計(jì)算:
w1=∣D23∣∣D2∣=19H(D23)=0\begin{aligned} &w_{1}=\frac{\left|D_{23}\right|}{\left|D_{2}\right|}=\frac{1}{9} \\ &H\left(D_{23}\right)=0 \end{aligned} ?w1?=∣D2?∣∣D23?∣?=91?H(D23?)=0?
? 好:
w2=∣D23∣∣D2∣=39H(D23)=?23log?223?13log?213\begin{aligned} &w_{2}=\frac{\left|D_{23}\right|}{\left|D_{2}\right|}=\frac{3}{9} \\ &H\left(D_{23}\right)=-\frac{2}{3} \log _{2} \frac{2}{3}-\frac{1}{3} \log _{2} \frac{1}{3} \end{aligned} ?w2?=∣D2?∣∣D23?∣?=93?H(D23?)=?32?log2?32??31?log2?31??
? 老年:
w1=∣D23∣∣D2∣=59H(D23)=?15log?215?45log?245\begin{aligned} &w_{1}=\frac{\left|D_{23}\right|}{\left|D_{2}\right|}=\frac{5}{9} \\ &H\left(D_{23}\right)=-\frac{1}{5} \log _{2} \frac{1}{5}-\frac{4}{5} \log _{2} \frac{4}{5} \end{aligned} ?w1?=∣D2?∣∣D23?∣?=95?H(D23?)=?51?log2?51??54?log2?54??
經(jīng)驗(yàn)條件熵:
H(D2∣A3)=w1H(D21)+w2H(D22)+w3H(D23)=0.444\begin{aligned} H\left(D_{2} \mid A_{3}\right) &=w_{1} H\left(D_{21}\right)+w_{2} H\left(D_{22}\right)+w_{3} H\left(D_{23}\right) =0.444 \end{aligned} H(D2?∣A3?)?=w1?H(D21?)+w2?H(D22?)+w3?H(D23?)=0.444?
綜合:
比較發(fā)現(xiàn),特征為:是否有工作信息增益最大,所以下一個(gè)特征選它。
通過(guò)這個(gè)例子,整顆決策樹(shù)只用了兩個(gè)特征,他們的子集都屬于一個(gè)類(lèi)別的,對(duì)于有房子都是同意貸款,對(duì)于沒(méi)有房子都是不同意貸款,滿(mǎn)足單一葉結(jié)點(diǎn),決策樹(shù)生成。
總結(jié)
以上是生活随笔為你收集整理的决策树的生成—ID3算法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: SAAS系统架构之成熟度模型
- 下一篇: Markdown中插入数学公式的方法