決策樹 缺失值如何處理

2021-10-03 18:30:36 字數 710 閱讀 6169

參考部落格

決策樹如何處理缺失值?也就是面對兩個問題:

1、如果樣本某個屬性有缺失值,那麼怎麼計算使用這個屬性劃分結點時的資訊增益呢?

2、在第一步的基礎上,即使資訊增益計算出來了,那麼由於樣本這一屬性值缺失了,應該將這一樣本劃分到哪個子結點呢?

我們分別來看一下訓練集、測試集上怎麼處理缺失值。

訓練集

對於問題1,在計算某乙個屬性的資訊增益時,如果有的樣本在這個屬性上有缺失值,那麼我們先計算在這個屬性上沒有缺失值的樣本佔此時總樣本的比值,使用此屬性上無缺失的樣本如常計算資訊增益,只是在最後要將得到的資訊增益乘以我們先前計算的比值,這樣就得到最終的資訊增益了。

對於問題2,如果乙個樣本的某屬性值缺失了,那麼在使用此屬性劃分時,這一樣本到底該劃分到哪個子結點呢?決策樹的經典方法是將此樣本劃分到所有的子結點中,只是會改變這一樣本的權重,權重是按照子結點中樣本數目與父結點中樣本總數目地比值確定地。直觀地理解,就是樣本以一定地概率劃分到子結點中。在決策樹中,樣本地權重都為1,但如果樣本權重改變之後,在後續劃分結點過程中,樣本地權重就變成了改變後地權重。

測試集

因為對測試集進行**時,樹已經構建成功了,那麼只涉及第2個問題。該將此樣本劃分到屬性地哪個分支上?

比較常用的方法:對每個分支都探測一下,看看屬於哪個類別的概率最大。(概率可以按照劃分到此屬性時某個類別的樣本佔總樣本的比例確定)

決策樹缺失值python 決策樹處理缺失值

缺失值問題可以從三個方面來考慮 1.在選擇 屬性的時候,訓練樣本存在缺失值,如何處理?計算 損失減少值時,忽略特徵缺失的樣本,最終計算的值乘以比例 實際參與計算的樣本數除以總的樣本數 假如你使用id3演算法,那麼選擇分類屬性時,就要計算所有屬性的熵增 資訊增益,gain 假設10個樣本,屬性是a,b...

決策樹缺失值處理

缺失值問題可以從三個方面來考慮 1.在選擇 屬性的時候,訓練樣本存在缺失值,如何處理?計算 損失減少值時,忽略特徵缺失的樣本,最終計算的值乘以比例 實際參與計算的樣本數除以總的樣本數 假如你使用id3演算法,那麼選擇分類屬性時,就要計算所有屬性的熵增 資訊增益,gain 假設10個樣本,屬性是a,b...

決策樹如何處理取值為連續值的特徵(屬性)

在介紹資訊增益 資訊增益率 基尼指數的時候都只是說了離散特徵的處理,公式也是只針對離散特徵,那麼連續特徵怎麼辦呢?顯然公式不再適用,那麼我們改公式嗎?本來這幾個公式就來自其他學科的研究成果,直接推廣似乎不大可能,那麼就有另一條路,把連續的特徵離散化。這樣一來不就又可以套上面處理離散值的公式了嗎?辦法...