如何在R中使用随机森林进行分类,以确定列的值是小于还是大于值N?

时间:2013-06-22 12:01:40

标签: r classification random-forest

我已经在R中使用随机森林进行分类,其中相关列具有分类值(例如0或1)。例如,对于虹膜数据库,我们可以使用随机森林根据物种对数据进行分类,如下所示:

myRF <- randomForest(Species ~ ., data=iris, importance=TRUE,proximity=TRUE)

这是有道理的,因为Species只能采用几个分类值。问题是,如果物种可以从1到100取值,我想将数据分为两类:值大于50的那些和值小于50的那些?

当然,我可以添加另一个值为1或0的列,具体取决于Species,然后我对最后一列而不是Species进行分类,但有没有办法直接告诉R我们要对数据进行分类分为两类:物种少于50的类别和另一类大于50的类别? (假设物种的新假设值)?

谢谢

1 个答案:

答案 0 :(得分:1)

myRf ~ randomForest(Species < 50 ~ ., ...)

  1. 与定义包含Species是否小于50的新变量没有什么不同,但是避免修改数据集;

  2. 只有Species是连续的而不是分类的变量才有意义(即,以这种方式比较物种数量是有意义的。)

  3. 在更一般的情况下,您想要预测一个因子将采用其中一个值的子集,您可以使用

    randomForest(y.fac %in% c("level1","level2",...) ~ .....)