将随机森林设置为分类

Eri*_*ric 5 r random-forest

我正在尝试一些数据的随机森林,其中类变量是二进制(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,
                             )
Run Code Online (Sandbox Code Playgroud)

但是当森林结束时,我收到以下错误:

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?
Run Code Online (Sandbox Code Playgroud)

答案当然是不.我不想做回归.我有一个单独的离散变量,只需要2个类.当然,当我使用这个模型运行预测时,我会得到连续数字,当我想要一个零和一个列表时.有人可以告诉我,我做错了让这个使用回归而不是分类吗?

jor*_*ran 10

使用as.factor(或仅factor)将响应列更改为因子.由于您已将该变量存储为数字 0和1,因此R正确地将其解释为数字变量.如果你想让R以不同的方式对待它,你必须这样说.

这在y论证下的文档中提到:

响应向量.如果假设一个因子,则假设为回归.如果省略,randomForest将以无人监督模式运行.