決策樹的幾個常用算法:ID3, C4.5和CART算法
原理:
要對數據進行分類,涉及到通過選取什么樣的特征對數據進行分類,比如將柚子和西瓜進行分類,可以選取(大小、顏色、甜度等特征)
決策樹的功能就是判斷使用哪個特征,然后選取他認為最好的特征對數據進行分類。
那么他是如何選取最好的特征呢?
對於ID3(選取信息增益最大的特征),C4.5(選擇信息增益率最大的特征),CART(選擇基尼值最小的特征)
1)ID3信息增益計算:
baseEnt = -Σ pi * log2 (pi)
InfoGain = baseEnt - Σ pj * ent(j) # 信息增益:j 表示以此數據特征來分類后的其他特征(需剔除j數據)
2)C4.5信息增益率計算:
信息增益率=信息增益 / Σ pj*log2(pj)
3)gini系數的計算
gini = -Σ pj 2
通常不會一次就能把數據進行分類(比如橘子和檸檬),可能需要不斷地計算當前數據的信息熵(增益率、基尼值)選取最好的特征然后分類迭代下去,直到達到設置的條件(比如一定的樹深度)。
優點:
1、計算復雜度不高
2、結果易於理解
3、對中間值缺失不敏感
缺點:
可能會產生過度匹配問題