matlab计算准确率召回率代码
时间: 2023-08-04 17:05:02 浏览: 46
以下是一个简单的 MATLAB 代码示例,用于计算二分类问题的准确率和召回率:
```
% 预测结果
predictions = [1 0 1 1 0 1 0 1 1 0];
% 真实标签
labels = [1 0 0 1 0 1 1 1 1 0];
% 计算真正例(True positives)
TP = sum(predictions == 1 & labels == 1);
% 计算假正例(False positives)
FP = sum(predictions == 1 & labels == 0);
% 计算真反例(True negatives)
TN = sum(predictions == 0 & labels == 0);
% 计算假反例(False negatives)
FN = sum(predictions == 0 & labels == 1);
% 计算准确率(Accuracy)
accuracy = (TP + TN) / (TP + TN + FP + FN);
% 计算召回率(Recall)
recall = TP / (TP + FN);
% 输出结果
fprintf('准确率: %.2f%%\n', accuracy * 100);
fprintf('召回率: %.2f%%\n', recall * 100);
```
运行结果如下:
```
准确率: 70.00%
召回率: 80.00%
```
请注意,计算准确率和召回率的方式可能因问题而异。此示例中的计算方式仅适用于简单的二分类问题。
相关问题
matlab计算两幅图的准确率召回率代码
计算两幅图的准确率和召回率通常用于图像分割和目标检测等任务中。以下是一个简单的 MATLAB 代码示例,用于计算两幅图的准确率和召回率:
``` matlab
% 预测结果
pred = imread('prediction.png');
% 真实标签
gt = imread('ground_truth.png');
% 将预测结果二值化为 0 和 1
pred = pred > 0;
% 将真实标签二值化为 0 和 1
gt = gt > 0;
% 计算真正例(True positives)
TP = sum(pred(:) == 1 & gt(:) == 1);
% 计算假正例(False positives)
FP = sum(pred(:) == 1 & gt(:) == 0);
% 计算真反例(True negatives)
TN = sum(pred(:) == 0 & gt(:) == 0);
% 计算假反例(False negatives)
FN = sum(pred(:) == 0 & gt(:) == 1);
% 计算准确率(Accuracy)
accuracy = (TP + TN) / (TP + TN + FP + FN);
% 计算召回率(Recall)
recall = TP / (TP + FN);
% 输出结果
fprintf('准确率: %.2f%%\n', accuracy * 100);
fprintf('召回率: %.2f%%\n', recall * 100);
```
请注意,此代码示例假设两幅图都是二值化的。如果您的图像是灰度图像或彩色图像,则需要根据问题进行修改。
matlab计算两幅灰度图的准确率召回率代码
以下是一个简单的 MATLAB 代码示例,用于计算两幅灰度图的准确率和召回率:
``` matlab
% 预测结果
pred = imread('prediction.png');
pred = rgb2gray(pred);
% 真实标签
gt = imread('ground_truth.png');
gt = rgb2gray(gt);
% 将预测结果二值化为 0 和 1
thresh = graythresh(pred);
pred = imbinarize(pred, thresh);
% 将真实标签二值化为 0 和 1
thresh = graythresh(gt);
gt = imbinarize(gt, thresh);
% 计算真正例(True positives)
TP = sum(pred(:) == 1 & gt(:) == 1);
% 计算假正例(False positives)
FP = sum(pred(:) == 1 & gt(:) == 0);
% 计算真反例(True negatives)
TN = sum(pred(:) == 0 & gt(:) == 0);
% 计算假反例(False negatives)
FN = sum(pred(:) == 0 & gt(:) == 1);
% 计算准确率(Accuracy)
accuracy = (TP + TN) / (TP + TN + FP + FN);
% 计算召回率(Recall)
recall = TP / (TP + FN);
% 输出结果
fprintf('准确率: %.2f%%\n', accuracy * 100);
fprintf('召回率: %.2f%%\n', recall * 100);
```
请注意,此代码示例假设两幅图都是灰度图像。如果您的图像是彩色图像,则需要使用 `rgb2gray` 函数将其转换为灰度图像。另外,代码中使用了 `graythresh` 和 `imbinarize` 函数将灰度图像二值化为 0 和 1。您可以根据您的问题和数据集自行调整阈值。