1. 程式人生 > >機器學習十大演算法之決策樹(詳細)

機器學習十大演算法之決策樹(詳細)

什麼是決策樹?
如何構建決策樹?
ID3
C4.5
CART
決策樹的優缺點及改進

什麼是決策樹?
決策樹是運用於分類的一種樹結構,其本質是一顆由多個判斷節點組成的樹,其中的每個內部節點代表對某一屬性的一次測試,每條邊代表一個測試結果,而葉節點代表某個類或類的分佈。
屬於有監督學習

核心思想:
分類決策樹的核心思想就是在一個數據集中找到一個最優特徵,根據這個最優特徵將資料集分為兩個子資料集,然後遞迴上述操作,直到滿足指定條件為止。

決策樹的構建步驟:
1. 開始,所有記錄看作一個節點 
2. 遍歷每個特徵的每一種分裂方式,找到最好的分裂特徵(分裂點) 
3. 分裂成兩個或多個節點 
4. 對分裂後的節點分別繼續執行2-3步,直到每個節點足夠“純”為止 

如何評估分裂點的好壞?如果一個分裂點可以將當前的所有節點分為兩類,使得每一類都很“純”,也就是同一類的記錄較多,那麼就是一個好分裂點。 具體實踐中,到底選擇哪個特徵作為當前分裂特徵,常用的有下面三種演算法: 
ID3:使用資訊增益g(D,A)進行特徵選擇 
C4.5:資訊增益率 =g(D,A)/H(A) 
CART:基尼係數一個特徵的資訊增益(或資訊增益率,或基尼係數)越大,表明特徵對樣本的熵的減少能力更強,這個特徵使得資料由不確定性到確定性的能力越強。

ID3:
ID3演算法通過計算每個屬性的資訊增益,認為資訊增益高的是好屬性,每次劃分選取資訊增益最高的屬性為劃分標準,重複這個過程,直至生成一個能完美分類訓練樣例的決策樹。


ID3的缺陷:
突出的缺陷是資訊增益的計算依賴於特徵水平較多的特徵,而屬性取值最多的屬性並不一定最優
它只能處理那些分類的特徵,對於連續值特徵毫無辦法

由上述計算結果可知“好友密度”在屬性中具有最大的資訊增益比,取“好友密度”為分割屬性,引出一個分枝,樣本按此劃分。對引出的每一個分枝再用此分類法進行分類,再引出分枝。
某屬性的資訊增益除以分裂資訊,消除了特徵水平數量多少的影響,使得分裂屬性的選擇更加合理。

 

決策樹的優點:
1)可以自學習。在學習過程中不需要使用者瞭解過多的背景知識,只需要對訓練資料進行較好的標註,就能進行學習。 2)決策樹模型可讀性好,具有描述性,有助於人工分析; 3)效率高,決策樹只需要一次構建,就可以反覆使用,每一次預測的最大計算次數不超過決策樹的深度。

存在問題:
決策樹容易產生過擬合現象
比較好的解決方法:
隨機森林

可參考ppt: https://download.csdn.net/download/qq_38900441/10714599