ID3
決策樹關鍵問題:如何選擇特徵進行分支
ID3算法思想:選擇信息增益最大的屬性作爲當前的特徵對數據集進行分類。
信息熵(Information Entropy):信息的不確定性程度,變量的不確定性越大,熵的值越大;隨機變量不確定性的度量叫熵。一個變量X,它可能的取值有n多種,分別是x1,x2,……,xn,每一種取到的概率分別是P1,P2,……,Pn,那麼X的熵就定義爲
知乎:信息熵是什麼?
信息增益(Information Gain): 在一個條件下,信息不確定性減少的程度;信息增益=信息熵 - 條件熵
其中a是有V個不同取值的離散特徵,使用特徵a對樣本集D進行劃分會產生V個分支.
條件熵:已知隨機變量X的條件下隨機變量Y的不確定性
通俗理解決策樹算法中的信息增益
https://blog.csdn.net/u011327333/article/details/51167952
ID3算法構建決策樹存在的問題:
- 不能處理連續特徵
- 用信息增益作爲標準容易偏向於取值較多的特徵
- 缺失值處理的問
- 過擬合問題
C4.5
信息增益比(Information Gain Ratio): 信息增益 與訓練集D關於特徵A的值的熵 之比:
C4.5生成算法與ID3的不同之處:使用信息增益比來選擇特徵
C4.5算法構建決策樹存在的問題:
- 由於決策樹算法非常容易過擬合,因此對於生成的決策樹必須要進行剪枝.->
預剪枝
,後剪枝
- C4.5生成的是多叉樹,即一個父節點可以有多個節點
- C4.5只能用於分類
- C4.5由於使用了熵模型,裏面有大量的耗時的對數運算,如果是連續值還有大量的排序運算
https://mp.weixin.qq.com/s/EZY3l73aSAA88o-8zJp3ww
決策樹剪枝
決策樹學習的損失函數:
使損失函數最小,可動態規劃實現。
預剪枝:決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化性能提升,則停止劃分並將當前結點標記爲葉節點。有欠擬合風險
後剪枝:先從訓練集生成一顆完整的決策樹,然後自底向上地對非葉節點進行考察,若將該節點對應的子樹替換爲葉節點能提升決策樹的泛化性能,則將該子樹減去。訓練時間開銷大
CART
基尼指數:
屬性a的基尼指數定義爲: