r - 使用randomforest()在R中进行分类?

标签 r random-forest

我最初有一个由N行中的12列组成的数据框。最后一列是我的课(0或1)。我不得不将我的整个数据框转换为数字

training <- sapply(training.temp,as.numeric)

但是后来我想我需要将class列用作要素列,以使用randomforest()工具作为分类器,所以我做了
training[,"Class"] <- factor(training[,ncol(training)])

我继续创建树
training_rf <- randomForest(Class ~., data = trainData, importance = TRUE, do.trace = 100)

但是我遇到两个错误:
1: In Ops.factor(training[, "Status"], factor(training[, ncol(training)])) : 
<= this is not relevant for factors (roughly translated)
2: In randomForest.default(m, y, ...) :
The response has five or fewer unique values.  Are you sure you want to do regression?

如果有人可以指出我正在犯的格式错误,我将不胜感激。

谢谢!

最佳答案

因此,问题实际上非常简单。事实证明,我的训练数据是一个原子向量。因此,首先必须将其转换为数据帧。所以我需要添加以下行:

training <- as.data.frame(training)

问题解决了!

关于r - 使用randomforest()在R中进行分类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19301033/

相关文章:

r - 在 Windows 7 上找不到对象 pdflatex

r - 从 Mac OSX 10.9.2 卸载 R

machine-learning - 神经网络 - 我应该删除所有派生/计算变量吗?

R:将嵌套列表转换为数据框并获取列表级别和因子的名称

r - R中的距离计算优化

python - RandomForestClassifier 性能不佳

如果测试数据中存在新的因子水平,R 中的随机森林包会在 prediction() 期间显示错误。有什么办法可以避免这个错误?

machine-learning - 基于类别的缺失值替换

r - 使用 randomForest、Caret 和因子变量预测栅格时出错

r - 意外结果 : microbenchmark