我是随机森林分类器的新手。我使用它来分类有两个类的数据集。-特征数目为512。-数据的比例为1:4,即75%的数据来自第一级,25%来自第二类。-我用了500棵树。
该分级机的袋外误差为21.52%。第一类(由75%的培训数据表示)的每类错误为0.0059。而第二类的分类错误确实很高: 0.965。
我正在寻找对这种行为的解释,如果你有建议,提高二等的准确性。
我期待着你的帮助。
谢谢
忘了说我在使用R,在上面的测试中我使用了1000的节点大小。
在这里,我只用10棵树和nodesize= 1重复了训练(只是为了给出一个想法),下面是R中的函数调用和混淆矩阵:
发布于 2012-04-24 21:53:31
我同意@usr的观点,通常情况下,当您看到一个随机森林只是将(几乎)每个观察数据归类为多数类时,这意味着您的特性并没有提供很多信息来区分这两个类。
一种选择是运行随机森林,以便从少数类(而不是用从整个数据集替换的抽样)对观测数据进行过度采样。因此,您可以指定每一棵树都建立在N大小的样本上,其中强制N/2的观测来自每个类(或您选择的其他比率)。
虽然这可能会对一些人有所帮助,但这绝不是一种治愈办法。更有可能的是,通过找到更好的特性来区分类,而不是调整RF设置,您会获得更多的里程。
发布于 2014-01-23 13:49:55
发布于 2013-01-14 21:57:41
这就是典型的阶级失衡问题。随机林是一种分类器,目的是最大限度地提高模型的精度。当某一类数据占了大部分数据时,分类器最容易达到精度的方法是将所有的观测数据分类为多数类。这提供了一个非常高的精度为0.75在您的情况下,但一个糟糕的模型-几乎没有正确的分类少数群体。处理这个问题有很多种方法。最简单的方法是利用大多数类的欠采样来平衡数据,然后用这些均衡的数据来训练模型。希望这能帮到你。
https://stackoverflow.com/questions/10306380
复制相似问题