決策樹處理缺失值


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

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節點所覆蓋的葉子節點類別狀況為其分配一個發生概率最高的類

 

https://www.zhihu.com/question/34867991

http://blog.sina.com.cn/s/blog_68ffc7a40100urn3.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM