如何使用pROC或ROCR包在R中根据预测的类概率计算ROC曲线下的面积?

San*_*ram 3 r roc auc r-caret

我使用插入库来计算二元分类问题的类概率和预测,使用10倍交叉验证和5次重复.

现在我有一个TRUE(每个数据点的观测值)值,PREDICTED(通过算法)值,Class 0概率Class 1概率,它们被算法用来预测类标签.

现在我如何roc使用其中一个ROCRpROC库创建一个对象然后计算auc值?

假设我将所有这些值存储在predictionsdataframe中.例如predictions$pred,predictions$obs分别是预测值和真值,依此类推......

Ste*_*pré 5

由于您没有提供可重现的示例,我假设您有二进制分类问题,并且您预测Class它是Good或者Bad.

predictions <- predict(object=model, test[,predictors], type='prob')
Run Code Online (Sandbox Code Playgroud)

你可以做:

> pROC::roc(ifelse(test[,"Class"] == "Good", 1, 0), predictions[[2]])$auc
# Area under the curve: 0.8905
Run Code Online (Sandbox Code Playgroud)