决策树——ID3和C4.5
? ? ? ??決策樹(decision tree)是一個樹結構(可以是二叉樹或非二叉樹)。其每個非葉節點表示一個特征屬性上的測試,每個分支代表這個特征屬性在某個值域上的輸出,而每個葉節點存放一個類別。使用決策樹進行決策的過程就是從根節點開始,測試待分類項中相應的特征屬性,并按照其值選擇輸出分支,直到到達葉子節點,將葉子節點存放的類別作為決策結果。
? ? ? ?構建決策樹的過程:
關鍵步驟是分裂屬性。所謂分裂屬性就是在某個節點處按照某一特征屬性的不同劃分構造不同的分支,其目標是讓各個分裂子集盡可能地“純”。盡可能“純”就是盡量讓一個分裂子集中待分類項屬于同一類別。分裂屬性分為三種不同的情況:
? ? ? ? ? ? ? ?1. 屬性是離散值且不要求生成二叉決策樹。此時用屬性的每一個劃分作為一個分支。
? ? ? ? ? ? ? ?2. 屬性是離散值且要求生成二叉決策樹。此時使用屬性劃分的一個子集進行測試,按照“屬于此子集”和“不屬于此子集”分成兩個分支。Yes or No.
? ? ? ? ? ? ? ??3. 屬性是連續值。此時確定一個值作為分裂點split_point,按照>split_point和<=split_point生成兩個分支。
????? 構造決策樹的關鍵性內容是進行屬性選擇度量,屬性選擇度量是一種選擇分裂準則,是將給定的類標記的訓練集合的數據劃分D“最好”地分成個體類的啟發式分類,它決定了拓撲結構及分裂點split_point的選擇。
? ? 屬性選擇度量算法有很多,一般使用自頂向下遞歸分治法,并采用不回溯的貪心算法。
遞歸劃分方法:
(1) 分區D的所有元祖都屬于同一個類;
(2)沒有剩余屬性可以用來進一步劃分元組。在此情況下,使用多數表決。 ?設計將N轉換成樹葉,并用D中的多數類標記它。另外,也可以存放節點元組的類分布。
(3)給定的分支沒有元組。即有一個分支為空。在這種情況下,用D中的多數類創建一個樹葉。
ID3算法
ID3算法的核心思想就是以信息增益度量屬性選擇,選擇分裂后信息增益最大的屬性進行分裂。
熵越大,越混亂,越穩定(熵表示混亂程度,越混亂表明越不需要維持,則越穩定;越整齊越需要維持,越不穩定)。
期望信息越小,信息增益越大,從而純度越高。我們需要找的是最“純”的特征。
????? 設D為用類別對訓練元組進行的劃分,則D的熵(entropy)表示為:
??????
????? 其中pi表示第i個類別在整個訓練元組中出現的概率,可以用屬于此類別元素的數量除以訓練元組元素總數量作為估計。熵的實際意義表示是D中元組的類標號所需要的平均信息量。
????? 現在我們假設將訓練元組D按屬性A進行劃分,則A對D劃分的期望信息為:
??????
????? 而信息增益即為兩者的差值:
??????
????? ID3算法就是在每次需要分裂時,計算每個屬性的增益率,然后選擇增益率最大的屬性進行分裂。下面我們繼續用SNS社區中不真實賬號檢測的例子說明如何使用ID3算法構造決策樹。為了簡單起見,我們假設訓練集合包含10個元素:
????? 其中s、m和l分別表示小、中和大。
????? 設L、F、H和R表示日志密度、好友密度、是否使用真實頭像和賬號是否真實,下面計算各屬性的信息增益。
??????
??????
??????
????? 因此日志密度的信息增益是0.276。
????? 用同樣方法得到H和F的信息增益分別為0.033和0.553。
????? 因為F具有最大的信息增益,所以第一次分裂選擇F為分裂屬性,分裂后的結果如下圖表示:
????? 在上圖的基礎上,再遞歸使用這個方法計算子節點的分裂屬性,最終就可以得到整個決策樹。
????? 上面為了簡便,將特征屬性離散化了,其實日志密度和好友密度都是連續的屬性。對于特征屬性為連續值,可以如此使用ID3算法:
????? 先將D中元素按照特征屬性排序,則每兩個相鄰元素的中間點可以看做潛在分裂點,從第一個潛在分裂點開始,分裂D并計算兩個集合的期望信息,具有最小期望信息的點稱為這個屬性的最佳分裂點,其信息期望作為此屬性的信息期望。
C4.5算法
?ID3算法存在一個問題,就是偏向于多值屬性,例如,如果存在唯一標識屬性ID,則ID3會選擇它作為分裂屬性,這樣雖然使得劃分充分純凈,但這種劃分對分類幾乎毫無用處。ID3的后繼算法C4.5使用增益率(gain ratio)的信息增益擴充,試圖克服這個偏倚。C4.5算法實現步驟: ? ??1)求“分裂信息”?: ? ? ? ??
? ? ? 2)求熵:
? ? ? ?
? ? 3)劃分期望:
? ? ??
? ? 4)信息增益:
? ? ?
? ? 5)增益率: ? ? ?
?C4.5選擇具有最大增益率的屬性作為分裂屬性。
建議參考機械工業出版社《數據挖掘概念與技術》第3版,P213-P220,更容易明白。
——————————————————————————我是華麗麗的分割線—————————————————————————— 歡迎互相討論交流,望不吝賜教。
總結
以上是生活随笔為你收集整理的决策树——ID3和C4.5的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 为啥动物界大部分雄性比雌性漂亮,而人类恰
- 下一篇: 微信已认证的公众号如何修改微信号?