根據(jù)隨機森林創(chuàng)建和訓(xùn)練的特點,隨機森林對缺失值的處理還是比較特殊的。
首先,給缺失值預(yù)設(shè)一些估計值,比如數(shù)值型特征,選擇其余數(shù)據(jù)的中位數(shù)或眾數(shù)作為當(dāng)前的估計值
然后,根據(jù)估計的數(shù)值,建立隨機森林,把所有的數(shù)據(jù)放進隨機森林里面跑一遍。記錄每一組數(shù)據(jù)在決策樹中一步一步分類的路徑。
判斷哪組數(shù)據(jù)和缺失數(shù)據(jù)路徑最相似,引入一個相似度矩陣,來記錄數(shù)據(jù)之間的相似度,比如有N組數(shù)據(jù),相似度矩陣大小就是N*N
如果缺失值是類別變量,通過權(quán)重投票得到新估計值,如果是數(shù)值型變量,通過加權(quán)平均得到新的估計值,如此迭代,直到得到穩(wěn)定的估計值。
其實,該缺失值填補過程類似于推薦系統(tǒng)中采用協(xié)同過濾進行評分預(yù)測,先計算缺失特征與其他特征的相似度,再加權(quán)得到缺失值的估計,而隨機森林中計算相似度的方法(數(shù)據(jù)在決策樹中一步一步分類的路徑)乃其獨特之處。