我使用 caret 库来计算二元分类问题的类别概率和预测,使用 10 折交叉验证和 5 次重复。
现在我有TRUE(每个数据点的观察值)值、PREDICTED(通过算法)值、0 级概率 和1 类概率,算法使用它来预测类标签。
现在如何使用 ROCR
或 pROC
库创建一个 roc
对象,然后计算 auc
值?
假设我将所有这些值存储在 predictions
数据框中。例如predictions$pred
和predictions$obs
分别是预测值和真实值,依此类推...
最佳答案
由于您没有提供可重现的示例,我假设您有一个二元分类问题,并且您预测 Class
是 Good
或 Bad
。
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
关于r - 如何使用 pROC 或 ROCR 包在 R 中根据预测的类概率计算 ROC 曲线下的面积?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29887887/