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

2021-10-11 12:57:42 字數 885 閱讀 9240

缺失值問題可以從三個方面來考慮

1. 在選擇**屬性的時候,訓練樣本存在缺失值,如何處理?(計算**損失減少值時,忽略特徵缺失的樣本,最終計算的值乘以比例(實際參與計算的樣本數除以總的樣本數))

假如你使用id3演算法,那麼選擇分類屬性時,就要計算所有屬性的熵增(資訊增益,gain)。假設10個樣本,屬性是a,b,c。在計算a屬性熵時發現,第10個樣本的a屬性缺失,那麼就把第10個樣本去掉,前9個樣本組成新的樣本集,在新樣本集上按正常方法計算a屬性的熵增。然後結果乘0.9(新樣本佔raw樣本的比例),就是a屬性最終的熵。

2. 分類屬性選擇完成,對訓練樣本分類,發現樣本屬性缺失怎麼辦?(將該樣本分配到所有子節點中,權重由1變為具有屬性a的樣本被劃分成的子集樣本個數的相對比率,計算錯誤率的時候,需要考慮到樣本權重)

比如該節點是根據a屬性劃分,但是待分類樣本a屬性缺失,怎麼辦呢?假設a屬性離散,有1,2兩種取值,那麼就把該樣本分配到兩個子節點中去,但是權重由1變為相應離散值個數佔樣本的比例。然後計算錯誤率的時候,注意,不是每個樣本都是權重為1,存在分數。

3. 訓練完成,給測試集樣本分類,有缺失值怎麼辦?(分類時,如果待分類樣本有缺失變數,而決策樹決策過程中沒有用到這些變數,則決策過程和沒有缺失的資料一樣;否則,如果決策要用到缺失變數,決策樹也可以在當前節點做多數投票來決定(選擇樣本數最多的特徵值方向)。)

(u)如果有單獨的缺失分支,使用此分支。(c)把待分類的樣本的屬性a值分配乙個最常出現的a的屬性值,然後進行分支**。(s)根據其他屬性為該待分類樣本填充乙個屬性a值,然後進行分支處理。(f)在決策樹中屬性a節點的分支上,遍歷屬性a節點的所有分支,探索可能所有的分類結果,然後把這些分類結果結合起來一起考慮,按照概率決定乙個分類。(h)待分類樣本在到達屬性a節點時就終止分類,然後根據此時a節點所覆蓋的葉子節點類別狀況為其分配乙個發生概率最高的類。

決策樹缺失值處理

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

決策樹和CART決策樹

首先簡單介紹下決策樹 說到決策樹肯定離不開資訊熵 什麼是資訊熵 不要被這名字唬住,其實很簡單 乙個不太可能的時間居然發生了,要比乙個非常可能的時間發生提供更多的資訊。訊息說 今天早上太陽公升起 資訊量是很少的,以至於沒有必要傳送。但另一條訊息說 今天早上日食 資訊量就很豐富。概率越大資訊量就越少,與...

決策樹(二)決策樹回歸

回歸 決策樹也可以用於執行回歸任務。我們首先用sk learn的decisiontreeregressor類構造一顆回歸決策樹,並在乙個帶雜訊的二次方資料集上進行訓練,指定max depth 2 import numpy as np quadratic training set noise np.r...