當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python sklearn average_precision_score用法及代碼示例


本文簡要介紹python語言中 sklearn.metrics.average_precision_score 的用法。

用法:

sklearn.metrics.average_precision_score(y_true, y_score, *, average='macro', pos_label=1, sample_weight=None)

根據預測分數計算平均精度 (AP)。

AP 將precision-recall 曲線總結為在每個閾值處實現的精度的加權平均值,將前一個閾值的召回率增加用作權重:

其中 是第 n 個閾值的精度和召回率 [1]。此實現不進行插值,與使用梯形規則計算precision-recall曲線下麵積不同,梯形規則使用線性插值,可能過於樂觀。

注意:此實現僅限於二進製分類任務或多標簽分類任務。

在用戶指南中閱讀更多信息。

參數

y_truendarray 形狀 (n_samples,) 或 (n_samples, n_classes)

真正的二進製標簽或二進製標簽指示符。

y_scorendarray 形狀 (n_samples,) 或 (n_samples, n_classes)

目標分數,可以是正類的概率估計、置信度值或決策的非閾值度量(在某些分類器上由 decision_function 返回)。

average{‘micro’, ‘samples’, ‘weighted’, ‘macro’} 或無,默認='宏'

如果 None ,則返回每個類的分數。否則,這將確定對數據執行的平均類型:

'micro'

通過將標簽指標矩陣的每個元素視為標簽來全局計算指標。

'macro'

計算每個標簽的指標,並找到它們的未加權平均值。這沒有考慮標簽不平衡。

'weighted'

計算每個標簽的指標,並找到它們的平均值,按支持度加權(每個標簽的真實實例數)。

'samples'

計算每個實例的指標,並找到它們的平均值。

y_true 為二進製時將被忽略。

pos_labelint 或str,默認=1

正類的標簽。僅適用於二進製 y_true 。對於 multilabel-indicator y_truepos_label 固定為 1。

sample_weight形狀類似數組 (n_samples,),默認=None

樣本權重。

返回

average_precision浮點數

注意

參考

1

平均精度的維基百科條目

例子

>>> 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...

相關用法


注:本文由純淨天空篩選整理自scikit-learn.org大神的英文原創作品 sklearn.metrics.average_precision_score。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。