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

3

我使用了caret库来计算二分类问题的类别概率和预测结果,使用了10折交叉验证和5次重复。

现在我拥有每个数据点的实际值,算法预测的值,以及用于预测类标签的类0概率类1概率

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

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

1个回答

5

由于您没有提供可重现的示例,我假设您有一个二元分类问题,并且您对标签为GoodBadClass进行预测。

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接