決策樹算法2-決策樹分類原理2.3-信息增益率


決策樹的划分依據-信息增益率C4.5

1 背景

  • 信息增益准則ID3對可取值數目較多的屬性有所偏好,為減少這種偏好可能帶來的不利影響,著名的 C4.5 決策樹算法[Quinlan, 1993J 不直接使用信息增益,而是使用"增益率" (gain ratio) 來選擇最優划分屬性.

2 定義

  • 增益率:增益率是用前面的信息增益Gain(D, a)和屬性a對應的"固有值"(intrinsic value)的比值來共同定義的。

屬性 a 的可能取值數目越多(即 V 越大),則 IV(a) 的值通常會越大.

3 案例

  • 第一列為天氣,第二列為溫度,第三列為濕度,第四列為風速,最后一列該活動是否進行。我們要解決:根據下面表格數據,判斷在對應天氣下,活動是否會進行?


    該數據集有四個屬性,屬性集合A={ 天氣,溫度,濕度,風速}, 類別標簽有兩個,類別集合L={進行,取消}。
    a.計算類別信息熵
    類別信息熵表示的是所有樣本中各種類別出現的不確定性之和。根據熵的概念,熵越大,不確定性就越大,把事情搞清楚所需要的信息量就越多。

    b.計算每個屬性的信息熵
    每個屬性的信息熵相當於一種條件熵。他表示的是在某種屬性的條件下,各種類別出現的不確定性之和。屬性的信息熵越大,表示這個屬性中擁有的樣本類別越不“純”。

c.計算信息增益

信息增益的 = 熵 - 條件熵,在這里就是 類別信息熵 - 屬性信息熵,它表示的是信息不確定性減少的程度。如果一個屬性的信息增益越大,就表示用這個屬性進行樣本划分可以更好的減少划分后樣本的不確定性,當然,選擇該屬性就可以更快更好地完成我們的分類目標。

信息增益就是ID3算法的特征選擇指標。

d.計算屬性分裂信息度量
用分裂信息度量來考慮某種屬性進行分裂時分支的數量信息和尺寸信息,我們把這些信息稱為屬性的內在信息(instrisic information)。信息增益率用信息增益/內在信息,會導致屬性的重要性隨着內在信息的增大而減小(也就是說,如果這個屬性本身不確定性就很大,那我就越不傾向於選取它),這樣算是對單純用信息增益有所補償。

e.計算信息增益率

天氣的信息增益率最高,選擇天氣為分裂屬性。發現分裂了之后,天氣是“陰”的條件下,類別是”純“的,所以把它定義為葉子節點,選擇不“純”的結點繼續分裂。

在子結點當中重復過程1~5,直到所有的葉子結點足夠"純"。現在我們來總結一下C4.5的算法流程:

while(當前節點"不純"):
    1.計算當前節點的類別熵(以類別取值計算)
    2.計算當前階段的屬性熵(按照屬性取值嚇得類別取值計算)
    3.計算信息增益
    4.計算各個屬性的分裂信息度量
    5.計算各個屬性的信息增益率
end while
當前階段設置為葉子節點

4 為什么使用C4.5要好

1.用信息增益率來選擇屬性
克服了用信息增益來選擇屬性時偏向選擇值多的屬性的不足。
2.采用了一種后剪枝方法
避免樹的高度無節制的增長,避免過度擬合數據
3.對於缺失值的處理
在某些情況下,可供使用的數據可能缺少某些屬性的值。

  • 處理缺少屬性值的一種策略是賦給它結點n所對應的訓練實例中該屬性的最常見值;
  • 另外一種更復雜的策略是為A的每個可能值賦予一個概率。
    • 例如,給定一個布爾屬性A,如果結點n包含6個已知A=1和4個A=0的實例,那么A(x)=1的概率是0.6,而A(x)=0的概率是0.4。於是,實例x的60%60%被分配到A=1的分支,40%40%被分配到另一個分支。C4.5就是使用這種方法處理缺少的屬性值。


免責聲明!

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



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