我最初有一个由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)

问题解决了!

10-07 13:48