Spec-Zone.ru › scikit-learn

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.

kint, по умолчанию=2

Количество наиболее вероятных результатов, учитываемых при поиске правильной метки.

normalizebool, по умолчанию=True

Если True, возвращает долю правильно классифицированных образцов. В противном случае возвращает количество правильно классифицированных образцов.

sample_weightмассивоподобный объект формы (n_samples,), по умолчанию=None

Веса образцов. Если None, всем образцам присваивается одинаковый вес.

labelsмассивоподобный объект формы (n_classes,), по умолчанию=None

Только для многоклассового случая. Список меток, индексирующих классы в y_score. Если None, используется числовой или лексикографический порядок меток в y_true. Если y_true не содержит все метки, необходимо задать labels.

Возвращает:
scorefloat

Оценка точности Top-k. Наилучший результат равен 1 при normalize == True и количеству образцов при normalize == False.

См. также

accuracy_score

Вычисляет оценку точности. По умолчанию функция возвращает долю правильных предсказаний от общего количества предсказаний.

Примечания

Если двум или более меткам присвоены одинаковые оценки, сначала выбираются метки с наибольшими индексами. Это может повлиять на результат, если из-за этого правильная метка окажется за пределами порога.

Примеры

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

© 2007–2026 The scikit-learn developers
Licensed under the 3-clause BSD License.
https://scikit-learn.org/1.9/modules/generated/sklearn.metrics.top_k_accuracy_score.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API