【问题标题】:plot ROC curve for classifier绘制分类器的 ROC 曲线
【发布时间】:2018-12-19 19:54:48
【问题描述】:

我正在尝试在 matlab 中为我的分类器绘制 ROC 曲线。 我有一个 8,000 X 50 二进制值 (0,1) 的预测矩阵和 8,000 X 50 二进制值的测试矩阵。 (50 个目标或类别的 8000 个事件,每个类别有 8000 个不同的案例。) 我正在使用命令:

[tpr,fpr,thresholds] = roc(testy,predy);
plotroc(testy,predy)

我当然希望得到 50 条曲线,从 0 到 1 有 8,000 个点,但我得到的是只有 3 个点的 50 条曲线。

这里是 10 个案例的示例:

我不知道是否以错误的方式使用 use to 命令,或者是否有其他方法可以获得 ROC 曲线?谢谢你的帮助!!!

【问题讨论】:

    标签: matlab classification matlab-figure roc


    【解决方案1】:

    使用perfcurve:

    [X,Y] = perfcurve(labels,scores,posclass);
    plot(X,Y);
    

    labels 是数据的真实标签,scores 是分类器的输出分数(在阈值之前),posclass 是标签中的正类。

    X 为假阳性率,Y 默认为真阳性率。您也可以更改它们。

    【讨论】:

    • 嗨,感谢您的回答。我尝试使用 perfcurve,但我不知道用什么代替 posclass。我的预测和真实值是二进制值 (0,1),所以我的正值是 1。
    猜你喜欢
    • 2021-03-03
    • 2019-07-06
    • 1970-01-01
    • 2014-05-12
    • 2016-02-04
    • 2018-12-24
    • 2019-02-27
    • 2022-01-13
    • 2016-07-22
    相关资源
    最近更新 更多