MATLAB:求一个混淆矩阵的小程序
时间: 2024-01-03 15:09:10 浏览: 35
以下是一个简单的 MATLAB 程序,用于生成混淆矩阵:
```matlab
% 定义实际和预测的分类结果
actual = [1 0 1 1 1 0 0 1 0 1];
predicted = [0 0 1 1 1 0 1 1 0 1];
% 计算混淆矩阵
confusion_matrix = confusionmat(actual, predicted)
% 显示混淆矩阵
disp('Confusion Matrix:');
disp(confusion_matrix);
% 计算准确率、召回率和 F1 值
accuracy = sum(diag(confusion_matrix)) / sum(confusion_matrix(:));
disp(['Accuracy: ', num2str(accuracy)]);
precision = confusion_matrix(1,1) / sum(confusion_matrix(:,1));
recall = confusion_matrix(1,1) / sum(confusion_matrix(1,:));
f1_score = 2 * (precision * recall) / (precision + recall);
disp(['Precision: ', num2str(precision)]);
disp(['Recall: ', num2str(recall)]);
disp(['F1 Score: ', num2str(f1_score)]);
```
在这个例子中,我们定义了一个包含 10 个样本的分类问题。我们计算了实际和预测分类结果之间的混淆矩阵,并计算了准确率、召回率和 F1 值。你可以将 `actual` 和 `predicted` 替换为你的实际和预测分类结果,以生成自己的混淆矩阵。