随机森林填补缺失值具体讲述

下面利用图片理解随机森林填补缺失值(这个最后的标签是我随意填上去的)

使用随机森林回归填补缺失值 随机森林填补法_随机森林


上面的数据前面的7列是特征矩阵,最后的一列是标签。

这个图片中所展示的要进行5次填补(因为有5列有缺失值,填补缺失值的顺序是按每一个列内缺失值数量由少到多的顺序,缺失值越少,对特征的正确率的要求就越低),接下来就对第一次填补进行讲述,其它的可以用这个类推。

在除去没有缺失值的列之后,我们第一次要填补的缺失值是第三列或者第四列,在这里就使用第三列来说。我们要填补的是第三列的第二行的缺失值,首先我们先将其它列中的缺失值使用常量0填补(因为0对数据的影响比较小),这样就变成除了第三列有缺失值,其它的列的缺失值都被暂时的填补了(注意,这里是“暂时”,在代码中的话,这里是使用的是copy版本来填补的)。接着我们就要来划分Xtrain和Ytrain,Xtest和Ytest(注意,其实这里的Ytest并没有用,因为我们是要来填补这个Ytest,这里的Ytest只是单纯的得到所要填补所在的位置)。

接着上面的,首先说明怎么划分Xtrain,这里的Xtrain其实就是上面的图中除去第三列和第二行,就是除去缺失值所在的行和列(在这里如果是倒数第三列填补缺失值的话, 就是除去倒数第三列和第一行和第三行),Ytrain就是第三列除去第二行,其实就是缺失值所在列除去缺失值所在的行,同样的道理,Xtest就是缺失值所在的行除去缺失值所在的列,在图中就是第二行中除去第三列,Ytest其实就是缺失值,最后我们要用predict得到的值来填补。

其它列的缺失值的填补和上述的是一样的。