我使用了caret库来计算二分类问题的类别概率和预测结果,使用了10折交叉验证和5次重复。
现在我拥有每个数据点的实际值,算法预测的值,以及用于预测类标签的类0概率和类1概率。
现在我该如何使用ROCR
或pROC
库创建一个roc
对象,然后计算auc
值呢?
假设我已经将所有这些值存储在predictions
数据框中。例如,predictions$pred
和predictions$obs
分别是预测和实际值,依此类推...
由于您没有提供可重现的示例,我假设您有一个二元分类问题,并且您对标签为Good
或Bad
的Class
进行预测。
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