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