ML筆記 CH4 決策樹

2021-10-08 03:42:03 字數 2411 閱讀 6580

僅個人讀書筆記.

本章知識點核心:特徵選擇+剪枝處理+連續與缺失值處理

決策樹採取了遞迴的思想,可用於分類,也可以用於回歸。包括3個步驟:特徵選擇、決策樹的生成和決策樹的修剪。主要有id3、c4.5和cart三種演算法。

4.3 剪枝處理

4.4 連續與缺失值

決策樹:一棵決策樹包含乙個根結點、若干個內部結點和若干個葉結點;葉結點對應於決策結果,其他每個結點則對應於乙個屬性測試;每個結點包含的樣本集合根據屬性測試的結果被劃分到子結點中;根結點包含樣本全集.

決策樹生成的目的:從形式上,決策樹就是一棵按照各個特徵建立的樹形結構,葉節點表示對於的類別,特徵選擇的順序不同,得到的樹的形狀也不同。我們追求的是模型簡單、效果好,直觀上也就是建立的決策樹深度越小越好(即:西瓜書中說的結點的『純度』越高越好)

舉個例子:我們要對"這是好瓜嗎?"

這樣的問題進行決策會進行一系列的判斷或"子決策",我們先看"它是什麼顏色?",如果是"青綠色",則我們再看"它的根蒂是什麼形態?",如果是"蜷縮",我們再判斷"它敲起來是什麼聲音?",最後我們得出最終決策:這是個好瓜.

演算法分析:決策樹的生成是乙個遞迴過程.在決策樹基本演算法中,有三種情形會導致遞迴返回:

(1) 當前結點包含的樣本全屬於同一類別,無需劃分;

(2) 當前屬性集為空,或是所有樣本在所有屬性上取值相同,無法劃分;

(3) 當前結點包含的樣本集合為空,不能劃分.

決策樹學習的關鍵:如何選擇最優劃分屬性

隨著劃分過程不斷進行,我們希望決策樹的分支結點所包含的樣本盡可能屬於同一類別,即結點的"純度" (purity)越來越高.

可以想到,選擇不同的特徵順序(分類順序)會得到不同的樹形結構,那麼到底該怎樣選擇特徵更好呢?直觀上,如果乙個特徵在當前條件下具有最好的分類能力,那麼就應該選擇這個特徵。這一準則如何定量描述呢?有三種方式:資訊增益、資訊增益率、基尼指數,分別對應的決策樹分類演算法為id3、c4.5、cart。

資訊熵:是度量樣本集合純度最常用的一種指標.資訊熵越小,樣本集的純度越高

id3決策樹學習演算法:就是以資訊增益為準則來選擇劃分屬性.

缺點:資訊增益準則對可取值數目較多的屬性有所偏好,為減少這種偏好可能帶來的不利影響,著名的 c4.5 決策樹演算法不直接使用資訊增益,而是使用"增益率"來選擇最優劃分屬性.

若在分類時,把編號作為劃分屬性,則每個分支節點只包含乙個樣本,分支結點的純度達到最大,但是,這種決策樹不具有泛化能力,無法有效**新樣本。

注意:增益率準則對可取值數目較少的屬性有所偏好。c4.5演算法並不是直接選擇增益率最大的候選劃分屬性,而是使用了乙個啟發式:先從候選劃分屬性中找出資訊增益高於平均水平的屬性,再從中選擇增益率最高的.

cart決策樹使用"基尼指數" 來選擇劃分屬性。

直觀來說,基尼指數反映了從資料集 d 中隨機抽取兩個樣本,其類別標記 不一致的概率.因此,基尼指數越小,則資料集 d 的純度越高.

剪枝:是決策樹學習演算法對付"過擬合"的主要手段。基本策略包括預剪枝、後剪枝

目的:在決策樹學習中,有時會造成決策樹分支過多,這時就可能因訓練樣本學得"太好"了,以致於把訓練集自身的一些特點當作所有資料都具有的一般性質而導致過擬合。

預剪枝:預剪枝是指在決策樹生成過程中,對每個結點在劃分前先進行估計,若當前結點的劃分不能帶來決策樹泛化效能提公升,則停止劃分並將當前結點標記為葉結點;

後剪枝:先從訓練集生成一棵完整的決策樹, 然後自底向上地對非葉結點進行考察,若將該結點對應的子樹替換為葉結點能帶來決策樹泛化效能提公升,則將該子樹替換為葉結點.

決策樹的生成不僅基於離散值,常會遇到連續屬性。由於連續屬性的可取值數目不再有限, 因此,不能直接根據連續屬性的可取值來對結點進行劃分。此時可採用連續屬性離散化,最簡單的策略是採用二分法對連續屬性進行處理。

現實任務中常會遇到不完整樣本,即樣本的某些屬性值缺失。尤其是在屬性數目較多的情況下,往往會有大量樣本出現缺失值. 如果簡單地放棄不完整樣本,僅使用無缺失值的樣本來進行學習,顯然是對資料資訊極大的浪費,有必要利用有缺失屬性值的訓練樣例來進行學習。

我們需解決兩個問題:

(1) 如何在屬性值缺失的情況下進行劃分屬性選擇?

(2) 給定劃分屬性?若樣本在該屬性上的值缺失,如何對樣本進行劃分?

ML筆記 決策樹

十分有幸可以參加datawhale組隊學習活動,希望可以與datawhale的小夥伴們共同學習,共同進步。決策樹是一種常見的分類模型,在金融分控 醫療輔助診斷等諸多行業具有較為廣泛的應用。決策樹的核心思想是基於樹結構對資料進行劃分,這種思想是人類處理問題時的本能方法。例如在婚戀市場中,女方通常會先看...

ML筆記 決策樹剪枝

無論是分類樹還是回歸樹,剪枝過程很重要,剪枝處理不當或是沒有剪枝操作,決策樹模型都是失敗的,通過剪枝,可以大大提高模型準確度,避免決策樹的過擬合。決策樹生成演算法遞迴地生成決策樹,直到不能繼續下去為止,產生的樹對於訓練集會有很好的模型準確率,但是對於未知的測試資料分類卻沒有那麼準確,因此,對書的剪枝...

決策樹 ML之三

在決策樹模型中,最重要的乙個概念就是熵,熵從通俗語言來講就是資訊的不確定性,比如我有一袋5個水果,不知道是什麼水果,目前的不確定性是最大的,熵最大,如果拿出來乙個是蘋果,那麼這袋水果的不確定性就減小了,熵也減小了,再拿出乙個知道是梨子,熵進一步減小,直到取出所有水果,這時候不確定性最低,都確定了,熵...