如何从分类报告中计算AP和mAP

你已经使用report函数得到了每个类别的precision、recall、f1-score和support,并将其保存在csv文件中。现在,你想计算每个类别的平均精度(Average Precision, AP)和平均精度均值(mean Average Precision, mAP)。

以下是计算AP和mAP的步骤:

  1. 导入所需的库:
import pandas as pd
from sklearn.metrics import average_precision_score
  1. 从CSV文件中读取数据:
df = pd.read_csv('your_file.csv')
  1. 提取每个类别的真实标签和预测概率:
y_true = df['true_label'].values
y_pred_prob = df['predicted_prob'].values
  1. 计算每个类别的平均精度(AP):
ap_scores = []
for i in range(num_classes):
    y_true_i = (y_true == i)
    ap_scores.append(average_precision_score(y_true_i, y_pred_prob[:, i]))
  1. 计算平均精度均值(mAP):
mAP = sum(ap_scores) / num_classes

注意:

  • 在第3步中,你需要根据你的CSV文件中的实际情况提取真实标签和预测概率。
  • 在第4步中,num_classes 是指你的数据集中的类别数量。
  • 请确保真实标签 y_true 和预测概率 y_pred_prob 的形状正确,以便计算平均精度。

希望对你有所帮助!


原文地址: https://www.cveoy.top/t/topic/qmWr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录