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

2021-08-29 00:12:34 字數 1915 閱讀 9632

什麼是決策樹?

如何構建決策樹?

id3c4.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:

十大演算法 決策樹

一 什麼是熵 假設符號xi的資訊定義為 則熵定義為資訊的期望值,為了計算熵,我們需要計算所有類別所有可能值包含的資訊期望值,計算方式如下 熵愈大,不穩定性愈高,即在決策樹中乙個樣本可選擇的分支會愈多。從公式來理解是 假如每個p xi 愈少,則i值愈大,即資訊量愈大,就是有可以有很多中分類。同時,h是...

機器學習演算法之決策樹

1 演算法流程 一般的,一棵決策樹包含乙個根節點 若干內部節點和若干個葉節點 葉節點對應於決策結果,其他每個結點則對應於乙個屬性測試 每個結點包含的樣本集合根據屬性測試的結果被劃分到子結點中 根結點包含樣本全集.從根結點到每個葉結點的路徑對應了乙個判定測試序列.決策樹學習的目的是為了產生一棵泛化能力...

機器學習之決策樹演算法

決策樹 從根節點開始一步步走到葉子節點 決策 所有的資料最終都會落到葉子節點,既可以做分類也可以做回歸 這裡先講分類樹 假如我們需要對是否玩遊戲進行分類,我們有兩個特徵。如上圖所示。決策樹的訓練與測試 如何切分特徵 選擇節點 衡量標準 熵 資料 14天打球情況 特徵 4種環境變化 目標 構造決策樹 ...