多分类评价指标matlab
时间: 2023-11-11 11:57:57 浏览: 450
在 MATLAB 中,常用的多分类评价指标包括混淆矩阵、准确率、召回率、F1 值等。其中,混淆矩阵可以通过 confusionmat 函数得到,准确率、召回率、F1 值则可以通过计算每个类别的 Precision、Recall 和 F1 值后取平均得到。
例如,对于一个 4 类分类问题,可以通过以下代码计算混淆矩阵和各项指标:
```matlab
% 生成随机分类结果
N = 100;
true_labels = randi(4, N, 1);
pred_labels = randi(4, N, 1);
% 计算混淆矩阵
C = confusionmat(true_labels, pred_labels);
% 计算各项指标
accuracy = mean(diag(C)) / sum(C(:));
precision = diag(C) ./ sum(C, 1)';
recall = diag(C) ./ sum(C, 2);
f1_score = 2 * precision .* recall ./ (precision + recall);macro_precision = mean(precision);
macro_recall = mean(recall);
macro_f1_score = mean(f1_score);
disp('Confusion matrix:');
disp(C);
disp(['Accuracy: ' num2str(accuracy)]);
disp('Per-class metrics:');
disp(['Class Precision Recall F1-score']);
disp([num2str((1:4)') repmat(' ', 4, 1) num2str([precision recall f1_score], '%-11.3f')]);
disp(['Macro-averaged precision: ' num2str(macro_precision)]);
disp(['Macro-averaged recall: ' num2str(macro_recall)]);
disp(['Macro-averaged F1-score: ' num2str(macro_f1_score)]);
```
阅读全文