我的数据集中有2个级别因子结果变量
str(as.factor(train2$outcome))
Factor w/ 2 levels "0","1": 1 1 1 1 2 1 2 1 1 1 ...
当我使用具有默认度量的火车功能来优化evrt时似乎没问题。
cvCtrl <- trainControl(method="repeatedcv", number=3, repeats=5,classProb = TRUE)
modelFit <- train(as.factor(outcome) ~., data=train2, method="rf", trControl =cvCtrl)
但我想优化AUC。所以我使用这段代码
cvCtrl <- trainControl(method="repeatedcv", number=3, repeats=5, summaryFunction = twoClassSummary,classProb = TRUE)
modelFit <- train(as.factor(outcome) ~., data=train2, method="rf", trControl =cvCtrl, metric="ROC")
我收到一个错误:
Error in train.default(x, y, weights = w, ...) :
final tuning parameters could not be determined
我做错了什么?
答案 0 :(得分:0)
您是否看到了警告
At least one of the class levels are not valid R variables names; This may cause errors if class probabilities are generated because the variables names will be converted to ...
使用0
和1
作为因素级别是一个坏主意和错误的来源。
最高