我的随机林模型中的一个特性缺少值。数据丢失有5个原因,我知道所有丢失值的原因。我的问题是如何将这些信息输入到模型中?由于数据丢失,我可以创建一个分类变量(或编码的假人(,但当我的主变量中缺少值时,我如何确保随机森林从这个分类变量中获得信息?
添加另一个变量对您没有多大帮助,因为1(Random Forrest假设变量的独立性,所以您将无法纠缠两个变量,并且2(它不能保证它会使用所有变量。
如果你想使用随机森林,你必须以某种方式估算缺失的值。
最简单的方法是,如果变量在某个范围内,则将缺失的值设置为编码原因的超出范围的值。也就是说,如果你的变量位于范围[-1..1]内,如果原因是原因#1,则将缺失的值设置为-101,如果原因#2,则设置为-102,等等。这样做的目的是让算法在不同的值之间找到不同的边界。
第二种称为MissForest的方法在计算上有点复杂。因为你不知道它的价值,所以关于你为什么错过它的信息并没有多大贡献。尽管如此,您仍然可以迭代地找到要设置的最佳值,而不是缺少的值。