目录

  • 1.使用均值或0填充缺失值
  • 2.使用随机森林填补缺失值


1.使用均值或0填充缺失值

R随机森林删除缺失值 随机森林处理缺失值_回归

2.使用随机森林填补缺失值

R随机森林删除缺失值 随机森林处理缺失值_随机森林_02

对于一个有n个特征的数据来说,其中特征T有缺失值,我们就把特征T当作标签,其他的n-1个特征和原本的标签组成新的特征矩阵。那对于T来说,它没有缺失的部分,就是我们的Y_train,这部分数据既有标签也有特征,而它缺失的部分,只有特征没有标签,就是我们需要预测的部分。
特征T不缺失的值对应的其他n-1个特征+本来的标签:x_train特征T不缺失的值: Y_train
特征T缺失的值对应的其他n-1个特征+本来的标签:x_test特征T缺失的值:未知,我们需要预测的Y_test
这种做法,对于某一个特征大量缺失,其他特征却很完整的情况,非常适用。

那如果数据中除了特征T之外,其他特征也有缺失值怎么办?

答案是遍历所有的特征,从缺失最少的开始进行填补〈因为填补缺失最少的特征所需要的准确信息最少)。
填补一个特征时,先将其他特征的缺失值用O代替,每完成一次回归预测,就将预测值放到原本的特征矩阵中,再继续填
补下一个特征。每一次填补完毕,有缺失值的特征会减少一个,所以每次循环后,需要用0来填补的特征就越来越少。当进行到最后一个特征时(这个特征应该是所有特征中缺失值最多的),已经没有任何的其他特征需要用0来进行填补了,
而我们已经使用回归为其他特征填补了大量有效信息,可以用来填补缺失最多的特征。

R随机森林删除缺失值 随机森林处理缺失值_sklearn_03


R随机森林删除缺失值 随机森林处理缺失值_缺失值_04


画图

R随机森林删除缺失值 随机森林处理缺失值_回归_05