本文共 1011 字,大约阅读时间需要 3 分钟。
sklearn.metrics.average_precision_score(y_true, y_score, average=‘macro’, sample_weight=None)
注意:此实现仅限于二进制分类任务或多标签分类任务。参数:
y_true : array, shape = [n_samples] or [n_samples, n_classes] 真实标签:取0和1 y_score : array, shape = [n_samples] or [n_samples, n_classes] 预测标签:[0,1]之间的值。 可以是正类的概率估计、置信值,也可以是决策的非阈值度量(如某些分类器上的“决策函数”返回的) average : string, [None, ‘micro’, ‘macro’ (default), ‘samples’, ‘weighted’] sample_weight : array-like of shape = [n_samples], optional sample weights. #------------------------------------------------------------AP和mAP 的计算:
def compute_mAP(labels,outputs): y_true = labels.cpu().detach().numpy() y_pred = outputs.cpu().detach().numpy() AP = [] for i in range(y_true.shape[0]): AP.append(average_precision_score(y_true[i],y_pred[i])) return np.mean(AP)
参考链接:https://www.w3cschool.cn/doc_scikit_learn/scikit_learn-modules-generated-sklearn-metrics-average_precision_score.html
参考链接:https://github.com/lyz04551/voc2007_classification_pytorch/blob/master/PascalTrain.py转载地址:http://njfxf.baihongyu.com/