{
  "slug": "average-precision",
  "term": "Average precision",
  "aliases": [
    "AP",
    "non-interpolated average precision"
  ],
  "definition": "Non-interpolated average precision summarizes ranked prediction scores by weighting precision at each threshold by the corresponding increase in recall.",
  "note": "The scikit-learn convention is AP = sum((R_n - R_(n-1)) * P_n), with points ordered by increasing recall and initial recall zero. It uses score thresholds, not just one binary decision. Trapezoidal PR-AUC instead integrates linear segments between precision-recall points; it need not equal AP. State the algorithm, positive class and any averaging across classes. [sklearn-ap]",
  "limitations": [
    {
      "text": "AP does not specify an operating threshold or alert budget, and an evaluation sample without positive outcomes cannot establish failure-detection quality.",
      "citationIds": [
        "sklearn-ap"
      ]
    }
  ],
  "related": [
    "precision",
    "recall",
    "class-prevalence"
  ],
  "citations": [
    {
      "id": "sklearn-ap",
      "title": "scikit-learn: average_precision_score; non-interpolated AP versus trapezoidal integration.",
      "url": "https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html",
      "accessed": "2026-10-12"
    },
    {
      "id": "hesela-prediction",
      "title": "Hesela: disk failure prediction, metric denominators and a synthetic alert-count example.",
      "url": "https://hesela.com/analyses/ml-disk-failure-prediction/",
      "accessed": "2026-10-12"
    }
  ],
  "status": "shipping",
  "advantages": [],
  "supersedes": [],
  "supersededBy": [],
  "firstSeen": null,
  "lastSeen": null,
  "updated": "2026-10-12"
}
