这是我的代码:
train <- data.frame(***contain label, feature group 1 and feature group 2***)
formula <- label ~ features group 1
ctrl <- trainControl(method = "repeatedcv",
number = 10,
repeats = 5,
summaryFunction = twoClassSummary,
classProbs = T)
fit <- train(formula,
data = train,
method = "glm",
metric = "ROC",
trControl = ctrl,
na.action = na.omit)
pred <- predict(fit, train)
我的问题是:如何计算pred
的AUC?
我尝试过prSummary,ROCR和pROC均不起作用,当obs和pred完全相同(逐级)时,似乎无法计算AUC。
我想知道我是否可以使用AUC作为度量标准进行训练,怎么不能显示AUC?
p.s。
> levels(train$label)
[1] "classA" "classB"
> levels(as.factor(pred))
[1] "classA" "classB"
我正在做的是:将多个算法与插入号匹配,并根据AUC对它们进行排名,然后我可以选择最佳算法(基于AUC)。
*可复制的示例:
火车组:虹膜
功能g1:前2个功能
功能g2:最后2个功能
种子:123 *
答案 0 :(得分:0)
这可能是可能的答案,但我不确定是否正确,请告诉我我是否错了。
response = as.factor(as.numeric(train$label))
predictor = as.vector(as.numeric(pred))
library(pROC)
result = as.numeric(roc(response, predictor)$auc)
顺便说一句,由于pROC运行非常缓慢,有人可以帮助我将其转换为ROCR软件包吗?非常感谢:)