gpt4 book ai didi

r - 在R中使用脱字符训练后,如何计算ROC和ROC下的ROC?

转载 作者:行者123 更新时间:2023-12-03 19:42:59 25 4
gpt4 key购买 nike

我已经将caret包的train函数用于10倍交叉验证。我还通过在classProbs = TRUE中设置trControl来获得预测类的类概率,如下所示:

myTrainingControl <- trainControl(method = "cv", 
number = 10,
savePredictions = TRUE,
classProbs = TRUE,
verboseIter = TRUE)

randomForestFit = train(x = input[3:154],
y = as.factor(input$Target),
method = "rf",
trControl = myTrainingControl,
preProcess = c("center","scale"),
ntree = 50)


我得到的输出预测如下。

  pred obs    0    1 rowIndex mtry Resample

1 0 1 0.52 0.48 28 12 Fold01
2 0 0 0.58 0.42 43 12 Fold01
3 0 1 0.58 0.42 51 12 Fold01
4 0 0 0.68 0.32 55 12 Fold01
5 0 0 0.62 0.38 59 12 Fold01
6 0 1 0.92 0.08 71 12 Fold01


现在,我想使用此数据计算ROC和ROC下的AUC。我将如何实现?

最佳答案

AUC的示例示例:

rf_output=randomForest(x=predictor_data, y=target, importance = TRUE, ntree = 10001, proximity=TRUE, sampsize=sampsizes)

library(ROCR)
predictions=as.vector(rf_output$votes[,2])
pred=prediction(predictions,target)

perf_AUC=performance(pred,"auc") #Calculate the AUC value
AUC=perf_AUC@y.values[[1]]

perf_ROC=performance(pred,"tpr","fpr") #plot the actual ROC curve
plot(perf_ROC, main="ROC plot")
text(0.5,0.5,paste("AUC = ",format(AUC, digits=5, scientific=FALSE)))


或使用 pROCcaret

library(caret)
library(pROC)
data(iris)


iris <- iris[iris$Species == "virginica" | iris$Species == "versicolor", ]
iris$Species <- factor(iris$Species) # setosa should be removed from factor



samples <- sample(NROW(iris), NROW(iris) * .5)
data.train <- iris[samples, ]
data.test <- iris[-samples, ]
forest.model <- train(Species ~., data.train)

result.predicted.prob <- predict(forest.model, data.test, type="prob") # Prediction

result.roc <- roc(data.test$Species, result.predicted.prob$versicolor) # Draw ROC curve.
plot(result.roc, print.thres="best", print.thres.best.method="closest.topleft")

result.coords <- coords(result.roc, "best", best.method="closest.topleft", ret=c("threshold", "accuracy"))
print(result.coords)#to get threshold and accuracy

关于r - 在R中使用脱字符训练后,如何计算ROC和ROC下的ROC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30366143/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com