C4.5屬於決策樹算法的分類樹決策樹更是常見的機器學習方法,可以幫助我們解決分類與回歸兩類問題。以決策樹作為起點的原因很簡單,因為它非常符合我們人類處理問題的方法,而且邏輯清晰,可解釋性好。從嬰兒到長者,我們每天都使用無數次!
決策樹的總體流程;
總體流程
分而治之(devide and conquer)
自根結點的遞歸過程
從每一個中間結點尋找一個划分(split and test)的屬性
三種停止條件:
當前結點包含的樣本屬於同一類別,無需划分
當前屬性集為空,或是所有樣本在所有屬性值上取值相同,無法划分
當前結點包含的樣本集合為空,不能划分
核心數學概念:熵
信息熵(entropy)是度量樣本集合“純度”最常用的一種指標
C4.5算法流程
C4.5算法優缺點分析
優點:
(1)通過信息增益率選擇分裂屬性,克服了ID3算法中通過信息增益傾向於選擇擁有多個屬性值的屬性作為分裂屬性的不足;
(2)能夠處理離散型和連續型的屬性類型,即將連續型的屬性進行離散化處理;
(3)構造決策樹之后進行剪枝操作;
(4)能夠處理具有缺失屬性值的訓練數據。
缺點:
(1)算法的計算效率較低,特別是針對含有連續屬性值的訓練樣本時表現的尤為突出。
(2)算法在選擇分裂屬性時沒有考慮到條件屬性間的相關性,只計算數據集中每一個條件屬性與決策屬性之間的期望信息,有可能影響到屬性選擇的正確性。
算法詳解:https://blog.csdn.net/zjsghww/article/details/51638126
算法程序
while(當前節點不純)
1.計算當前節點的類別熵Info(D)(以類別取值計算)
2.計算當前節點的屬性熵info(Ai)(按照當前屬性取值下的類別取值計算)
3.計算各個屬性的信息增益Gain(Ai) = Info(D)-info(Ai)
4.計算各個屬性的分類信息度量H(Ai)(按照屬性取值計算)
5.計算各個屬性的信息增益率 IGR = Gain(Ai)/H(Ai)
and while
當前節點設置為葉子節點