matlab 混淆矩阵代码
时间: 2023-10-07 09:04:49 浏览: 114
在 MATLAB 中,可以使用 `confusionmat` 函数来计算混淆矩阵。该函数的输入是真实标签和预测标签,输出是一个混淆矩阵。
以下是一个示例代码:
```matlab
% 真实标签
trueLabels = [1, 2, 2, 3, 1, 3, 3];
% 预测标签
predictedLabels = [1, 2, 1, 3, 1, 2, 2];
% 计算混淆矩阵
C = confusionmat(trueLabels, predictedLabels);
disp(C);
```
运行代码后,将会输出混淆矩阵 C,其对角线上的元素表示分类正确的样本数,非对角线上的元素表示分类错误的样本数。例如,C(1,1) 表示真实标签为1且预测标签为1的样本数,C(2,3) 表示真实标签为2但预测标签为3的样本数。
希望能帮到你!如果还有其他问题,请随时问我。
相关问题
matlab混淆矩阵代码
在 MATLAB 中,可以使用 `confusionmat` 函数来计算混淆矩阵。以下是一个示例代码:
```matlab
% 实际类别
actual = [1; 1; 2; 2; 3; 3; 3];
% 预测类别
predicted = [1; 1; 1; 2; 2; 3; 3];
% 计算混淆矩阵
C = confusionmat(actual, predicted);
% 显示混淆矩阵
disp(C);
```
运行上述代码将输出以下混淆矩阵:
```
2 0 0
1 1 0
0 1 2
```
这个混淆矩阵表示有 2 个样本被正确预测为类别 1,1 个样本被错误预测为类别 2,1 个样本被正确预测为类别 2,2 个样本被正确预测为类别 3,等等。你可以根据自己的实际数据和预测结果修改 `actual` 和 `predicted` 数组来计算你自己的混淆矩阵。
matlab混淆矩阵 代码
在MATLAB中,混淆矩阵是一个二维数组,用于评估分类模型的表现。它通常包含实际类别(纵坐标)和预测类别(横坐标)的组合。以下是一个简单的例子,假设我们有一个已分类的测试数据和一个分类器的预测结果,我们可以创建并计算混淆矩阵:
```matlab
% 假设 groundTruth 是真实的类别向量,prediction 是模型预测的结果
groundTruth = [1 0 1 0 1]; % 例如,真实标签可能是 {正类, 负类}
prediction = [1 0 0 1 1]; % 预测结果
% 创建混淆矩阵
confMat = confusionmat(groundTruth, prediction);
% 显示混淆矩阵
disp(confMat);
```
运行上述代码后,`confMat`将显示为:
```
2 1
0 1
```
在这个例子中,第一行(True Positives)表示真正为正类的样本中有2个被正确预测为正类,1个被错误预测为负类。第二行(False Positives)表示实际为负类的样本中,有0个被误判为正类,1个被误判为正类。类似地,第三列代表了实际为正类的样本中被预测为负类的数量,第四列代表了实际为负类的样本中被预测为正类的数量。
你可以通过各种统计量如精度(Accuracy)、召回率(Recall)、F1分数等从混淆矩阵进一步分析模型性能。例如:
```matlab
accuracy = sum(diag(confMat)) / sum(confMat(:));
precision = confMat(1,1) / (confMat(1,1) + confMat(1,2));
recall = confMat(1,1) / (confMat(1,1) + confMat(2,1));
```
阅读全文