Spaces:
Runtime error
Runtime error
| title: average_precision_score | |
| emoji: π | |
| colorFrom: blue | |
| colorTo: orange | |
| tags: | |
| - evaluate | |
| - metric | |
| - sklearn | |
| description: "Average precision score." | |
| sdk: gradio | |
| sdk_version: 3.18.0 | |
| app_file: app.py | |
| pinned: false | |
| # Metric Card for `sklearn.metrics.average_precision_score` | |
| ## Input Convention | |
| To be consistent with the `evaluate` input conventions the scikit-learn inputs are renamed: | |
| - `y_true`: `references` | |
| - `y_score`: `prediction_scores` | |
| ## Usage | |
| ```python | |
| import evaluate | |
| metric = evaluate.load("yonting/average_precision_score") | |
| results = metric.compute(references=references, prediction_scores=prediction_scores) | |
| ``` | |
| ## Description | |
| Average precision score. | |
| Compute average precision (AP) from prediction scores. | |
| AP summarizes a precision-recall curve as the weighted mean of precisions | |
| achieved at each threshold, with the increase in recall from the previous | |
| threshold used as the weight: | |
| .. math:: | |
| \\text{AP} = \\sum_n (R_n - R_{n-1}) P_n | |
| where :math:`P_n` and :math:`R_n` are the precision and recall at the nth | |
| threshold [1]_. This implementation is not interpolated and is different | |
| from computing the area under the precision-recall curve with the | |
| trapezoidal rule, which uses linear interpolation and can be too | |
| optimistic. | |
| Note: this implementation is restricted to the binary classification task | |
| or multilabel classification task. | |
| Read more in the :ref:`User Guide <precision_recall_f_measure_metrics>`. | |
| Parameters | |
| ---------- | |
| y_true : ndarray of shape (n_samples,) or (n_samples, n_classes) | |
| True binary labels or binary label indicators. | |
| y_score : ndarray of shape (n_samples,) or (n_samples, n_classes) | |
| Target scores, can either be probability estimates of the positive | |
| class, confidence values, or non-thresholded measure of decisions | |
| (as returned by :term:`decision_function` on some classifiers). | |
| average : {'micro', 'samples', 'weighted', 'macro'} or None, \ | |
| default='macro' | |
| If ``None``, the scores for each class are returned. Otherwise, | |
| this determines the type of averaging performed on the data: | |
| ``'micro'``: | |
| Calculate metrics globally by considering each element of the label | |
| indicator matrix as a label. | |
| ``'macro'``: | |
| Calculate metrics for each label, and find their unweighted | |
| mean. This does not take label imbalance into account. | |
| ``'weighted'``: | |
| Calculate metrics for each label, and find their average, weighted | |
| by support (the number of true instances for each label). | |
| ``'samples'``: | |
| Calculate metrics for each instance, and find their average. | |
| Will be ignored when ``y_true`` is binary. | |
| pos_label : int or str, default=1 | |
| The label of the positive class. Only applied to binary ``y_true``. | |
| For multilabel-indicator ``y_true``, ``pos_label`` is fixed to 1. | |
| sample_weight : array-like of shape (n_samples,), default=None | |
| Sample weights. | |
| Returns | |
| ------- | |
| average_precision : float | |
| Average precision score. | |
| See Also | |
| -------- | |
| roc_auc_score : Compute the area under the ROC curve. | |
| precision_recall_curve : Compute precision-recall pairs for different | |
| probability thresholds. | |
| Notes | |
| ----- | |
| .. versionchanged:: 0.19 | |
| Instead of linearly interpolating between operating points, precisions | |
| are weighted by the change in recall since the last operating point. | |
| References | |
| ---------- | |
| .. [1] `Wikipedia entry for the Average precision | |
| <https://en.wikipedia.org/w/index.php?title=Information_retrieval& | |
| oldid=793358396#Average_precision>`_ | |
| Examples | |
| -------- | |
| >>> import numpy as np | |
| >>> from sklearn.metrics import average_precision_score | |
| >>> y_true = np.array([0, 0, 1, 1]) | |
| >>> y_scores = np.array([0.1, 0.4, 0.35, 0.8]) | |
| >>> average_precision_score(y_true, y_scores) | |
| 0.83... | |
| ## Citation | |
| ```bibtex | |
| @article{scikit-learn, | |
| title={Scikit-learn: Machine Learning in {P}ython}, | |
| author={Pedregosa, F. and Varoquaux, G. and Gramfort, A. and Michel, V. | |
| and Thirion, B. and Grisel, O. and Blondel, M. and Prettenhofer, P. | |
| and Weiss, R. and Dubourg, V. and Vanderplas, J. and Passos, A. and | |
| Cournapeau, D. and Brucher, M. and Perrot, M. and Duchesnay, E.}, | |
| journal={Journal of Machine Learning Research}, | |
| volume={12}, | |
| pages={2825--2830}, | |
| year={2011} | |
| } | |
| ``` | |
| ## Further References | |
| - Docs: https://scikit-learn.org/stable/modules/generated/sklearn.metrics.average_precision_score.html |