当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。