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

时间:2015-04-27 05:30:53

标签: r r-caret roc auc

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

现在我有 TRUE (每个数据点的观察值)值, PREDICTED (通过算法)值, 0级概率 Class 1概率,由算法用于预测类标签。

现在如何使用rocROCR库创建pROC对象,然后计算auc值?

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

1 个答案:

答案 0 :(得分:5)

由于您没有提供可重现的示例,我假设您有二进制分类问题,并且您在Class上预测GoodBad

predictions <- predict(object=model, test[,predictors], type='prob')

你可以这样做:

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