1. 採用資訊增益率
因為 id3 在計算的時候,傾向於選擇取值多的屬性。為了避免這個問題,c4.5 採用資訊增益率的方式來選擇屬性。資訊增益率 = 資訊增益 / 屬性熵,具體的計算公式這裡省略。當屬性有很多值的時候,相當於被劃分成了許多份,雖然資訊增益變大了,但是對於 c4.5 來說,屬性熵也會變大,所以整體的資訊增益率並不大。
2. 採用悲觀剪枝
id3 構造決策樹的時候,容易產生過擬合的情況。在 c4.5 中,會在決策樹構造之後採用悲觀剪枝(pep),這樣可以提公升決策樹的泛化能力。
悲觀剪枝是後剪枝技術中的一種,通過遞迴估算每個內部節點的分類錯誤率,比較剪枝前後這個節點的分類錯誤率來決定是否對其進行剪枝。這種剪枝方法不再需要乙個單獨的測試資料集。
3. 離散化處理連續屬性
c4.5 可以處理連續屬性的情況,對連續的屬性進行離散化的處理。比如打籃球存在的「濕度」屬性,不按照「高、中」劃分,而是按照濕度值進行計算,那麼濕度取什麼值都有可能。該怎麼選擇這個閾值呢,c4.5 選擇具有最高資訊增益的劃分所對應的閾值。
4. 處理缺失值
針對資料集不完整的情況,c4.5 也可以進行處理。假如我們得到的是如下的資料,你會發現這個資料中存在兩點問題。第乙個問題是,資料集中存在數值缺失的情況,如何進行屬性選擇?第二個問題是,假設已經做了屬性劃分,但是樣本在這個屬性上有缺失值,該如何對樣本進行劃分?
我們不考慮缺失的數值,可以得到溫度 d=。溫度 = 高:d1= ;溫度 = 中:d2=;溫度 = 低:d3= 。這裡 + 號代表打籃球,- 號代表不打籃球。比如 id=2 時,決策是不打籃球,我們可以記錄為 2-。
針對將屬性選擇為溫度的資訊增益為:
gain(d′, 溫度)=ent(d′)-0.792=1.0-0.792=0.208,
屬性熵 =-3/6log3/6 - 1/6log1/6 - 2/6log2/6=1.459,
資訊增益率 gain_ratio(d′, 溫度)=0.208/1.459=0.1426。
d′的樣本個數為 6,而 d 的樣本個數為 7,所以所佔權重比例為 6/7,所以 gain(d′,溫度) 所佔權重比例為 6/7,所以:gain_ratio(d, 溫度)=6/7*0.1426=0.122。這樣即使在溫度屬性的數值有缺失的情況下,我們依然可以計算資訊增益,並對屬性進行選擇。
id3 演算法的優點是方法簡單,缺點是對雜訊敏感。訓練資料如果有少量錯誤,可能會產生決策樹分類錯誤。
c4.5 在 id3 的基礎上,用資訊增益率代替了資訊增益,解決了雜訊敏感的問題,並且可以對構造樹進行剪枝、處理連續數值以及數值缺失等情況,但是由於 c4.5 需要對資料集進行多次掃瞄,演算法效率相對較低。
在決策樹的構造中,乙個決策樹包括根節點、子節點、葉子節點。在屬性選擇的標準上,度量方法包括了資訊增益和資訊增益率。id3 是基礎的決策樹演算法,c4.5 在它的基礎上進行了改進,也是目前決策樹中應用廣泛的演算法。
決策樹之C4 5演算法
c4.5演算法是機器學習中的乙個重要的決策樹演算法,它是對id3演算法的改進,相對於id3演算法主要有以下幾個改進 1 用資訊增益率來選擇屬性 2 在決策樹的構造過程中對樹進行剪枝 3 對非離散資料也能處理 4 能夠對不完整資料進行處理 接下來分別詳細講述這幾點的改進方案 1 用資訊增益率來選擇屬性...
決策樹 C4 5演算法
c4.5演算法是用於生成決策樹的的一種經典演算法,是id3演算法的一種延伸和優化。改進了點 1 通過資訊增益率選擇 屬性,克服了id3演算法中通過資訊增益傾向於選擇擁有多個屬性值的屬性作為 屬性的不足 2 能夠處理離散型和連續型的屬性型別,即將連續型的屬性進行離散化處理 3 構造決策樹之後進行剪枝操...
決策樹構建演算法之 C4 5
決策樹演算法的優越性在於 離散學習演算法進行組合總可以表達任意複雜的布林函式,並不受資料集的限制即學習沒有飽和性,只是現實應用受限於時間和計算能力,一般不能滿足不飽和性。c4.5是機器學習演算法中的另乙個分類決策樹演算法,它是基於id3演算法進行改進後的一種重要演算法,相比於id3演算法,改進有如下...