個人決策樹學習兩個難點:決策樹學習(id3)的重點其實是分類的思路,但是很多部落格都寫的很詳細了便不再叨述,大體就是通過統籌分類建立乙個多叉樹,通過多個標籤屬性查詢,來實現新樣本資料的分類工作。而解決最開始說的兩個問題只需明確一下幾點。1.如何度量樣本集合不確定度(純度)以安排節點。
2.如何實現資訊的儲存和有效利用。
1.1 概念
(1)資訊熵
熵描述得是資料的混亂程度,熵越大,混亂程度越高,也就是純度越低;反之,熵越小,混亂程度越低,純度越高。 熵的計算公式如下所示:
其中pi表示類i的數量佔比。以二分類問題為例,如果兩類的數量相同,此時分類節點的純度最低,熵等於1;如果節點的資料屬於同一類時,此時節點的純度最高,熵 等於0。
(2)資訊增益
決策樹採用貪婪思想進行**,即選擇可以得到最優**結果的屬性進行**。最理想的情況當然是能找到乙個屬性剛好能夠將不同類別分開,但是大多數情況下**很難一步到位,我們希望每一次**之後孩子節點的資料盡量」純」,最好是一步到位直接就出分類結果,因此決策樹使用資訊增益或者資訊增益率作為選擇屬性的依據。資訊增益就告訴了我們每次應該選擇以什麼樣的特徵作為結點,進行決策樹的構建。
深入推導傳送門:
1.2停止**的條件
決策樹不可能不限制地生長,總有停止**的時候,最極端的情況是當節點**到只剩下乙個資料點時自動結束**,但這種情況下樹過於複雜。一般情況下為了降低決策樹複雜度和提高**的精度,會適當提前終止節點的**。
以下是決策樹節點停止**的一般性條件:
(1)最小節點數
當節點的資料量小於乙個指定的數量時,不繼續**。兩個原因:一是資料量較少時,再做**容易強化雜訊資料的作用;二是降低樹生長的複雜性。提前結束**一定程度上有利於降低過擬合的影響。
(2)熵小於閥值。
由上述可知,熵和基尼值的大小表示資料的複雜程度,當熵過小時,表示資料的純度比較大,如果熵或者基尼值小於一定程度數,節點停止**。
(3)決策樹的深度達到指定的條件
節點的深度可以理解為節點與決策樹跟節點的距離,如根節點的子節點的深度為1,因為這些節點與跟節點的距離為1,子節點的深度要比父節點的深度大1。決策樹的深度是所有葉子節點的最大深度,當深度到達指定的上限大小時,停止**。
(4)所有特徵已經使用完畢,不能繼續進行**。
被動式停止**的條件,當已經沒有可分的屬性時,直接將當前節點設定為葉子節點。
思路就是每乙個屬性下列較多的類別,把每乙個有這個類別的資訊條目儲存起來,如下圖。
通過層層篩選,如下圖所示,不過下圖是個橫過來的樹;一層一層縮小搜尋範圍,最終得出結論。
一棵過於複雜的決策樹很可能出現過擬合的情況,如果生成乙個完整的決策樹可能會出現**不準確的情況,因此需要對決策樹進行優化,優化的方法主要有兩種,一是剪枝,二是組合樹,將在本系列的剪枝和組合樹中分別講述。
決策樹2 ID3演算法
決策樹 1基本概念中已經提到了id3演算法,這篇部落格再梳理一遍,演算法描述部分搬運了統計學習方法的內容,更詳細內容可以參考這本書。這裡的描述可作為程式設計實現時的指導,樹的建立過程是遞迴實現。123 4567 891011 1213 1415 1617 1819 2021 2223 defid3t...
機器學習筆記之決策樹ID3
劃分資料集最大的原則是 將無序的資料變得更加有序。我們可以使用多種方法劃分資料集,但是每種方法都有各自的優缺點。我們可以在劃分資料之前使用資訊理論量化度量資訊的內容。在劃分資料集之前之後資訊發生的變化稱為資訊增益,知道如何計算資訊增益,我們就可以計算每個特徵值劃分資料集獲得的資訊增益,獲得資訊增益最...
機器學習 筆記2 決策樹
參考資料 周志華機器學習書籍 和 datawhale開源資料 天池鏈結 決策樹基本流程 決策樹的組成內涵 決策樹的建立流程 注意區別屬性和類別 標籤 劃分選擇 如何選擇最優的劃分屬性,決定了每個結點包含的樣本的純度。書中給出了三種劃分方法。2.1 資訊增益 資訊熵 pk 表示當前樣本集合 d 中第 ...