【问题标题】:How can I plot a ROC curve with AUC?如何用 AUC 绘制 ROC 曲线?
【发布时间】:2019-04-11 18:58:02
【问题描述】:

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

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

那么任何人都可以帮助我绘制这个吗? 我不知道我应该展示我的代码的哪一部分,所以请随时询问。

【问题讨论】:

    标签: r roc auc


    【解决方案1】:

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

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

    试试这样的方法,其中 y 是您的响应变量,p 是您的模型输出的概率值向量:

    plot(roc(y, p)), print.auc = TRUE)
    

    【讨论】:

    • 感谢克莱兰的评论!我从哪里得到我的可能概率?比如这些是如何计算的?
    • 查看您构建的模型类型的 predict() 函数。通常会有选项来输出每个观察的概率分数。
    • 好的,我将深入了解我的预测函数。谢谢!
    猜你喜欢
    • 2012-04-15
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    • 1970-01-01
    • 2016-02-04
    • 1970-01-01
    • 2019-02-27
    • 2020-08-15
    相关资源
    最近更新 更多