我在类变量为二进制(1或0)的某些数据上尝试使用随机森林。这是我正在运行的代码:

forest.model <- randomForest(x = ticdata2000[,1:85], y = ticdata2000[,86],
                       ntree=500,
                       mtry=9,
                       importance=TRUE,
                       norm.votes=TRUE,
                       na.action=na.roughfix,
                       replace=FALSE,
                             )

但是,当森林走到尽头时,出现以下错误:
Warning message:
In randomForest.default(x = ticdata2000[, 1:85], y = ticdata2000[,  :
  The response has five or fewer unique values.  Are you sure you want to do regression?

答案当然是不。我不想做回归。我有一个仅包含2个类的离散变量。当然,当我使用该模型进行预测时,当我想要一个零和一的列表时,我会得到连续的数字。有人可以告诉我我在做错什么,以便使用回归而不是分类吗?

最佳答案

使用as.factor(或仅factor)将响应列更改为一个因子。由于您已将该变量存储为数字0和1,因此R正确地将其解释为数字变量。如果您希望R区别对待,则必须告诉它。

在文档中y参数下提到了这一点:

关于r - 设置随机森林进行分类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17138722/

10-10 06:36