一、ID3算法
ID3算法的核心是在決策樹各個結點上應用信息增益准則選擇特征,遞歸地構建決策樹。具體方法是:從根結點(root node)開始,對結點計算所有可能的特征的信息增益,選擇信息增益最大的特征作為結點的特征,由該特征的不同取值建立子結點;再對子結點遞歸地調用以上方法,構建決策樹;直到所有的信息增益均很小或沒有特征可以選擇為止,最后得到一個決策樹,ID3相當於用極大似然法進行概率模型的選擇。
二、C4.5生成算法
C4.5算法與ID3算法相似,C4.5算法對ID3算法進行了改進,C4.5在生成過程中,用信息增益比來選擇特征。
三、C5.0算法
C5.0是基於C4.5的開發的新版本,是一個商業版軟件,它能適用於很多類型的問題,C5.0主要增加了對Boosting的支持,它同時也用更少的內存,與C4.5相比,它構建了更小的規則集,因此它更准確。
四、CART算法
分類與回歸樹(classification and regression tree, CART)模型是應用廣泛的決策樹學習方法。CART由特征選擇、樹的生成及剪枝組成,即可以用於分類也可以用於回歸。
CART算法的組成:
(1)、決策樹生成:基於訓練數據集生成決策樹,生成的決策樹要盡量大;
(2)、決策樹剪枝:用驗證數據集對已生成的樹進行剪枝並選擇最優子樹,這時用損失函數最小作為剪枝的標准
CART生成:
決策樹的生成就是遞歸地構建二叉決策樹的過程,對回歸樹用平方誤差最小化准則,對分類樹用基尼指數(Gini index)最小化准則,進行特征選擇,生成二叉樹。
五、ID3、C4.5、C5.0算法比較
| ID3 |
C4.5 |
C5.0 |
|
| 缺點 |
非遞增算法,單變量決策樹,(在分枝節點上只考慮單個屬性)只考慮屬性變量是離散形 |
1、在構建的過程中需要對數據集進行多次的掃描與排序,因此算法比較低效 2、大數據集乏力,只適用於能夠駐留內存的數據集,當訓練集大的無法在內存中容納時,程序無法運行 |
|
| 優點 |
|
屬性變量是可以連續形的,能夠在構造過程中進行剪枝 |
1、應用於大數據集的分類算法,主要在執行效率和內存使用上進行了改進 2、在面對數據遺露和輸入字段很多的問題時非常穩健 3、提供強大的技術以提高分類的精度 4、比一些其它類型的模型更易於理解,模型退出的規則有非常地直觀的解釋 |
| 節點選擇 |
信息增益最大 |
信息增益率最大 |
采用Boosting的方式提高模型的准確率,又稱為BoostingTree,在軟件上計算速度較快,占用內存較小 |
|
|
|
采用悲觀的剪枝方法,它使用訓練集生成決策樹又用它來進行剪枝,不需要獨立的剪枝集 |
