缺失值的處理辦法:
- 刪除法:
- 簡單刪除法:此方法將存在缺失值的數(shù)據(jù)條目(對象,元組,記錄)進(jìn)行刪除
- 權(quán)重法:當(dāng)缺失值的類型為非完全隨機(jī)缺失的時(shí)候,可以通過對完整的數(shù)據(jù)加權(quán)來減小偏差。把數(shù)據(jù)不完全的個(gè)案標(biāo)記后,將完整的數(shù)據(jù)個(gè)案賦予不同的權(quán)重
2.填補(bǔ)法:
- 人工填寫
- 特殊值填寫
- 均值填寫
- 出現(xiàn)次數(shù)最多的值填寫等
xgboost是如何處理缺失值的呢?
- 在尋找split point的時(shí)候,不會對該特征為missing的樣本進(jìn)行遍歷統(tǒng)計(jì),只對該列特征值為non-missing的樣本上對應(yīng)的特征值進(jìn)行遍歷,通過這個(gè)技巧來減少了為稀疏離散特征尋找split point的時(shí)間開銷。
- 在邏輯實(shí)現(xiàn)上,為了保證完備性,會分別處理將missing該特征值的樣本分配到左葉子結(jié)點(diǎn)和右葉子結(jié)點(diǎn)的兩種情形,計(jì)算增益后選擇增益大的方向進(jìn)行分裂即可。
-
如果在訓(xùn)練中沒有缺失值而在預(yù)測中出現(xiàn)缺失,那么會自動將缺失值的劃分方向放到右子樹。
image.png