【问题标题】:How to use random forests in R for classification to decide if the value of a column is less or greater than a value N?如何使用 R 中的随机森林进行分类来确定列的值是小于还是大于值 N?
【发布时间】:2013-06-19 11:38:37
【问题描述】:

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

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

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

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

谢谢

【问题讨论】:

    标签: r classification random-forest


    【解决方案1】:
    myRf ~ randomForest(Species < 50 ~ ., ...)
    

    这是

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

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

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

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

    【讨论】:

    • 感谢您的详细说明:)
    猜你喜欢
    • 2020-08-16
    • 2019-08-29
    • 1970-01-01
    • 2015-09-22
    • 2015-11-17
    • 2019-12-23
    • 2012-01-12
    • 2019-04-15
    • 1970-01-01
    相关资源
    最近更新 更多