如何用 AUC 绘制 ROC 曲线?

问题描述 投票:0回答:1

我试图对两种不同的情况进行分类。因此,我构建了决策树、混淆矩阵并计算了准确性、灵敏度和特异性。我运行了我的程序 100 次,所以我有 100 个准确度、灵敏度和特异性值。

我现在想做的是用AUC绘制ROC曲线。我做了一些研究,所有这些例子都在讨论概率,但我不知道它们到底是什么。

那么有人可以帮我绘制这个吗?

r roc auc
1个回答
3
投票

您可以使用像 pROC 这样的包,这可能比您自己创建它更容易。您使用 roc() 函数创建一个 roc 对象,然后使用plot() 绘制该对象并创建 ROC 曲线。

此外,听起来您的处理方式并不正确。 ROC 曲线是根据模型可能概率范围内不同切点(即 0 到 1 之间的切点)获取的灵敏度和特异性值计算得出的。您不需要创建 100 组模型预测,只需一个模型即可够了。

尝试这样的操作,其中 y 是响应变量,p 是模型输出的概率值向量:

plot(roc(y, p)), print.auc = TRUE)
© www.soinside.com 2019 - 2024. All rights reserved.