为分类器绘制 ROC 曲线

plot ROC curve for classifier

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

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

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

这里有 10 个案例的例子:

不知道是不是used to commands用错了,还是有别的方法可以得到ROC曲线?感谢您的帮助!!!

使用perfcurve:

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

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

默认X为误报率,Y为真报率。您也可以更改它们。