初めてランダム フォレストを扱っているのですが、理解できない問題がいくつかあります。すべてのデータセット (約 3000 行) に対して分析を実行すると、エラー メッセージは表示されません。しかし、データセットのサブセット (約 300 行) に対して同じ分析を実行すると、エラーが発生します。
dataset <- read.csv("datasetNA.csv", sep=";", header=T)
names (dataset)
dataset2 <- dataset[complete.cases(dataset$response),]
library(randomForest)
dataset2 <- na.roughfix(dataset2)
data.rforest <- randomForest(dataset2$response ~ dataset2$predictorA + dataset2$predictorB+ dataset2$predictorC + dataset2$predictorD + dataset2$predictorE + dataset2$predictorF + dataset2$predictorG + dataset2$predictorH + dataset2$predictorI, data=dataset2, ntree=100, keep.forest=FALSE, importance=TRUE)
# subset of my original dataset:
groupA<-dataset2[dataset2$order=="groupA",]
data.rforest <- randomForest(groupA$response ~ groupA$predictorA + groupA$predictorB+ groupA$predictorC + groupA$predictorD + groupA$predictorE + groupA$predictorF + groupA$predictorG + groupA$predictorH + groupA$predictorI, data=groupA, ntree=100, keep.forest=FALSE, importance=TRUE)
Error in randomForest.default(m, y, ...) : Can't have empty classes in y.
ただし、応答変数には空のクラスがありません。
代わりに、この他のメッセージが表示される(a+b+c,y)
代わりに、このように randomForest を記述した場合:(y ~ a+b+c)
Error in if (n == 0) stop("data (x) has 0 rows") :
argument length zero
Warning messages:
1: In Ops.factor(groupA$responseA + groupA$responseB, :
+ not meaningful for factors
2 番目の問題は、データを代入しようとするとrfImpute()
エラーが発生することです。
Errore in na.roughfix.default(x) : roughfix can only deal with numeric data
ただし、私の列はすべて因子と数値です。
誰かが私が間違っているところを見ることができますか???