为分类器绘制 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为真报率。您也可以更改它们。
我正在尝试在 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为真报率。您也可以更改它们。