MATLAB 绘制ROC曲线和混淆矩阵程序
时间: 2025-03-03 19:31:38 浏览: 48
### MATLAB 示例代码:绘制 ROC 曲线 和 混淆矩阵
#### 绘制混淆矩阵
为了在MATLAB中绘制混淆矩阵,可以使用内置函数`confusionchart`。此方法能够直观展示不同类别的预测情况以及各类之间的误分类状况。
```matlab
% 假设 trueLabels 是实际标签数组, predictedLabels 是模型预测的结果数组.
cm = confusionchart(trueLabels, predictedLabels);
title('Confusion Matrix');
```
对于更详细的统计量如精确率(Precision),召回率(Recall), F1-Score等可以通过`classificationReport`辅助工具来获取[^1]。
#### 计算并绘制ROC曲线
针对二元或多类别分类器性能评估时,ROC (Receiver Operating Characteristic) 曲线是非常有用的图形化表示形式之一。下面给出一段简单的例子说明如何基于给定的概率得分构建ROC曲线:
```matlab
% scoreMatrix 表示每个样本属于各个类别的概率分布,
% targetClassIdxs 存储着测试集中真实所属类别的索引向量.
[X,Y,T,AUC] = perfcurve(targetClassIdxs,scores(:,classIndex),'positive');
figure;
plot(X,Y,'LineWidth',2); hold on; grid on;
xlabel('False positive rate'); ylabel('True positive rate');
title(['ROC Curve for Class ', num2str(classIndex)]);
legend(sprintf('AUC = %.4f', AUC));
hold off;
```
这段脚本利用了MATLAB中的`perfcurve`命令来计算假正例率(FPR)和真正例率(TPR),进而画出ROC曲线,并标注曲线下面积(Area Under the Curve, AUC)。
阅读全文
相关推荐

















