Accuracy
Точность — это доля правильных предсказаний модели. Формула, точность top-1 и top-5, парадокс точности на несбалансированных данных и более подходящие метрики.
Точность — это доля правильных предсказаний модели: число верных предсказаний, делённое на их общее число. Это стандартная метрика для классификации изображений и других задач обучения с учителем, где каждому входу соответствует одна метка; она отвечает на самый простой вопрос о модели: как часто модель даёт правильный ответ. Точность легко интерпретировать и сравнивать между моделями, но при этом каждое предсказание имеет одинаковый вес. Поэтому на несбалансированных данных модель может получить высокую оценку, но ошибаться именно в важных случаях; тогда больше информации дают точность и полнота.
Как рассчитывается точность#
В задаче бинарной классификации четыре значения матрицы ошибок дают формулу точности = (TP + TN) / (TP + TN + FP + FN): сумма истинно положительных и истинно отрицательных предсказаний, делённая на общее число предсказаний. В задаче с несколькими классами точность равна сумме значений на диагонали матрицы, делённой на общее число примеров, а accuracy_score в scikit-learn вычисляет её непосредственно по двум массивам меток. Вместо точности часто приводят долю ошибок, где ошибка = 1 − точность.
Точность Top-1 и Top-5#
Классификаторы с большим количеством классов также оценивают по точности top-k. Точность Top-1 засчитывает предсказание как правильное, только если класс с наивысшей оценкой совпадает с истинной меткой; точность Top-5 засчитывает его, если истинная метка входит в пятёрку классов с наивысшими оценками. Показатель Top-5 стал стандартом благодаря соревнованию ImageNet: на фотографиях часто изображено несколько объектов, но каждой присвоена только одна метка из 1 000 классов. Модели классификации YOLO26 показывают оба значения, а модель nano, yolo26n-cls.pt, достигает точности Top-1 71,4% и Top-5 90,1% на ImageNet при разрешении 224 пикселя.
Точность и смежные метрики#
- Точность (precision): доля действительно положительных примеров среди предсказанных положительных. Она растёт, когда становится меньше ложных срабатываний.
- Полнота (recall): доля найденных моделью примеров среди всех действительно положительных. Эта метрика выявляет модели, которые игнорируют редкий класс.
- F1-мера: гармоническое среднее точности и полноты; оно остаётся низким, если хотя бы одна из метрик низкая.
- Средняя точность (mAP): стандартная метрика для детекции объектов. Обычная точность здесь неприменима, поскольку фон не даёт подсчитать истинно отрицательные результаты: пустых областей изображения может быть сколько угодно.
Парадокс точности#
Когда доминирует один класс, метрика точности поощряет игнорирование редкого класса. Если мошенническими оказываются 1% транзакций, модель, одобряющая все транзакции, покажет точность 99%, но не обнаружит ни одного случая мошенничества. Это явление называют парадоксом точности. Та же ловушка встречается при проверке дефектов, скрининге заболеваний и обнаружении аномалий, где интересующий класс по своей природе встречается редко.
import numpy as np
from sklearn.metrics import accuracy_score, balanced_accuracy_score, recall_score
# 1,000 transactions, 10 of them fraudulent (label 1)
y_true = np.zeros(1000, dtype=int)
y_true[:10] = 1
# A model that labels every transaction as legitimate
y_pred = np.zeros(1000, dtype=int)
print(f"Accuracy: {accuracy_score(y_true, y_pred):.2f}")
print(f"Balanced accuracy: {balanced_accuracy_score(y_true, y_pred):.2f}")
print(f"Fraud recall: {recall_score(y_true, y_pred):.2f}")Сбалансированная точность — средняя полнота по классам — выявляет проблему, которую скрывает обычная точность: скрипт выводит точность 0.99, сбалансированную точность 0.50 и полноту обнаружения мошенничества 0.00.










