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


Python sklearn top_k_accuracy_score用法及代碼示例


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

用法:

sklearn.metrics.top_k_accuracy_score(y_true, y_score, *, k=2, normalize=True, sample_weight=None, labels=None)

Top-k 準確度分類得分。

該指標計算正確標簽出現在預測的前 k 標簽中的次數(按預測分數排名)。請注意,這裏不涉及多標簽案例。

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

參數

y_true形狀類似數組 (n_samples,)

真正的標簽。

y_score形狀為 (n_samples,) 或 (n_samples, n_classes) 的類似數組

目標分數。這些可以是概率估計值或非閾值決策值(在某些分類器上由decision_function 返回)。二進製情況需要形狀為 (n_samples,) 的分數,而多類情況需要形狀為 (n_samples, n_classes) 的分數。在多類情況下,類分數的順序必須對應於 labels 的順序(如果提供),或者對應於 y_true 中標簽的數字或字典順序。如果y_true 不包含所有標簽,則必須提供labels

k整數,默認=2

考慮找到正確標簽的最可能結果的數量。

normalize布爾,默認=真

如果 True ,返回正確分類樣本的分數。否則,返回正確分類的樣本數。

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

樣本權重。如果 None ,所有樣本都被賦予相同的權重。

labels形狀類似數組 (n_classes,),默認=無

僅限多類。索引 y_score 中的類的標簽列表。如果 None ,則使用 y_true 中標簽的數字或字典順序。如果y_true 不包含所有標簽,則必須提供labels

返回

score浮點數

top-k 準確度得分。最好的性能是 1 與 normalize == True 和樣本數與 normalize == False

注意

在兩個或多個標簽被分配相同預測分數的情況下,將首先選擇具有最高索引的標簽。如果正確的標簽因此落在閾值之後,這可能會影響結果。

例子

>>> import numpy as np
>>> from sklearn.metrics import top_k_accuracy_score
>>> y_true = np.array([0, 1, 2, 2])
>>> y_score = np.array([[0.5, 0.2, 0.2],  # 0 is in top 2
...                     [0.3, 0.4, 0.2],  # 1 is in top 2
...                     [0.2, 0.4, 0.3],  # 2 is in top 2
...                     [0.7, 0.2, 0.1]]) # 2 isn't in top 2
>>> top_k_accuracy_score(y_true, y_score, k=2)
0.75
>>> # Not normalizing gives the number of "correctly" classified samples
>>> top_k_accuracy_score(y_true, y_score, k=2, normalize=False)
3

相關用法


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