C4.5算法


一,C4.5算法是基於ID3算法的改進(優點)

  • 對連續的數據也能處理
  • 可以在決策樹構造過程中進行剪枝,因為某些具有很少元素的結點可能會使構造的決策樹過擬合(Overfitting),如果不考慮這些結點可能會更好
  • 能夠對不完整數據進行處理。
  • 信息增益率來進行屬性選擇的度

二,算法流程

image

三,屬性選擇度量(和ID3對比)

    屬性選擇度量又稱分裂規則,因為它們決定給定節點上的元組如何分裂。屬性選擇度量提供了每個屬性描述給定訓練元組的秩評定,具有最好度量得分的屬性被選作給定元組的分裂屬性。目前比較流行的屬性選擇度量有--信息增益、增益率。 先做一些假設,設D是類標記元組訓練集,類標號屬性具有m個不同值,m個不同類Ci(i=1,2,…,m),CiD是D中Ci類的元組的集合,|D|和|CiD|分別是D和CiD中的元組個數。

  •   信息增益

      信息增益實際上是ID3算法中用來進行屬性選擇度量的。它選擇具有最高信息增益的屬性來作為節點N的分裂屬性。該屬性使結果划分中的元組分類所需信息量最小。對D中的元組分類所需的期望信息為下式:

    image (1)

   Info(D)又稱為熵。

    現在假定按照屬性A划分D中的元組,且屬性A將D划分成v個不同的類。在該划分之后,為了得到准確的分類還需要的信息由下面的式子度量(條件熵):

   image       (2)

    信息增益定義為原來的信息需求(即僅基於類比例)與新需求(即對A划分之后得到的)之間的差,即

   image       (3)

  •   信息增益率

   正是基於此,ID3后面的C4.5采用了信息增益率這樣一個概念。信息增益率使用“分裂信息”值將信息增益規范化。分類信息類似於Info(D),定義如下:

  image    (4)

這個值表示通過將訓練數據集D划分成對應於屬性A測試的v個輸出的v個划分產生的信息。信息增益率定義:

 image         (5)

選擇具有最大增益率的屬性作為分裂屬性。

四,樹剪枝

  在決策樹的構建的過程中,由於數據中的噪聲和離群點,許多分枝反映的是訓練數據中的異常。剪枝方法是用來處理這種過分擬合數據的問題。通常剪枝方法都是使用統計度量,剪去最不可靠的分枝。

  • 先剪枝:

    1. 當決策樹達到一定的高度就停止決策樹的生長;
    2. 到達此節點的實例具有相同的特征向量,而不必一定屬於同一類,也可以停止生長
    3. 到達此節點的實例個數小於某個閾值的時候也可以停止樹的生長,不足之處是不能處理那些數據量比較小的特殊情況
    4. 計算每次擴展對系統性能的增益,如果小於某個閾值就可以讓它停止生長。先剪枝有個缺點就是視野效果問題,也就是說在相同的標准下,也許當前擴展不能滿足要求,但更進一步擴展又能滿足要求。這樣會過早停止決策樹的生長。
  • 后剪枝:

    1. 它由完全成長的樹剪去子樹而形成。通過刪除節點的分枝並用樹葉來替換它。樹葉一般用子樹中最頻繁的類別來標記

五,具體舉例

http://wenku.baidu.com/link?url=RojimcYAVhxUJnAvn6K7EpBWQkm2ZA_KGcZhfcjmpHSk4vWE6JSDqKu_PdKjL7DhNeM1925F9Yh0TgjI-82Rh2YAsIUeOD11vMzsVmCwG4_


免責聲明!

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



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