sk.learn average_precision_score

问题描述

sklearn.metrics.average_precision_score formula

在 sklearn 函数中计算的平均精度分数遵循下面和附图所示的公式。

        AP = Σ(Rn - Rn-1)Pn *The index value of the sumation is n. Please refer to the attached image for a clear version of the formula

我正在努力完全理解这个函数背后的数学原理。我特别好奇公式中的第n个阈值是如何计算的。阈值的数量是否等于样本的数量

解决方法

阈值的数量至多等于样本数量,因为多个样本可能具有来自分类器的相同潜在连续值。

至于数学,precision-recall 曲线在横坐标上有recall,在序数上有precision。所以这基本上只是精确召回曲线下面积的近似值,其中 (Rn-Rn-1) 是矩形的宽度,而 Pn 是高度。有点像 AUC 只针对精确召回曲线而不是 ROC 曲线。