红包问答(已开奖):随机森林如何处理缺失值?


本期的红包问答题目:随机森林如何处理缺失值?

一、【规则】
本帖将采用最佳悬赏,评选出一位最佳回答者获得红包27元。

最佳回答者标准(可参考):

1、字数不少于30;
2、有自己观点,不得抄袭;
3、内容要扣题,对问题的回答要有理有据,逻辑清晰。
4、如果有多个回答符合上述3点要求,且难以区分质量高下,则根据答案的点赞数,评选最佳回答。

二、【红包开奖日期】
下周一(3月4日)中午12点,届时会在本帖中公布最佳回答者。

加工作人员微信(微信号:julyedukefu06)领取红包。
......................分割线..............................................

恭喜昵称为:Yieshah的学员,成为本期红包问答的最佳回答者。

yeye.jpg


请加工作人员微信(微信号:julyedukefu06)领取红包。
已邀请:

Yieshah

赞同来自: 社区小管家 July


众所周知,机器学习中处理缺失值的方法有很多,然而,由题目“随机森林如何处理缺失值”可知,问题关键在于随机森林如何处理,所以先简要介绍下随机森林吧,随机森林是由很多个决策树组成的,首先要建立Bootstrap数据集,即从原始的数据中有放回地随机选取一些,作为新的数据集,新数据集中会存在重复的数据,然后对每个数据集构造一个决策树,但是不是直接用所有的特征来建造决策树,而是对于每一步,都从中随机的选择一些特征,来构造决策树,这样我们就构建了多个决策树,组成随机森林,把数据输入各个决策树中,看一看每个决策树的判断结果,统计一下所有决策树的预测结果,Bagging整合结果,得到最终输出。
那么,随机森林中如何处理缺失值呢?根据随机森林创建和训练的特点,随机森林对缺失值的处理还是比较特殊的。
首先,给缺失值预设一些估计值,比如数值型特征,选择其余数据的中位数或众数作为当前的估计值,然后,根据估计的数值,建立随机森林,把所有的数据放进随机森林里面跑一遍。记录每一组数据在决策树中一步一步分类的路径,然后来判断哪组数据和缺失数据路径最相似,引入一个相似度矩阵,来记录数据之间的相似度,比如有N组数据,相似度矩阵大小就是N*N,如果缺失值是类别变量,通过权重投票得到新估计值,如果是数值型变量,通过加权平均得到新的估计值,如此迭代,直到得到稳定的估计值。
其实,该缺失值填补过程类似于推荐系统中采用协同过滤进行评分预测,先计算缺失特征与其他特征的相似度,再加权得到缺失值的估计,而随机森林中计算相似度的方法(数据在决策树中一步一步分类的路径)乃其独特之处。

要回复问题请先登录注册

返回顶部