Баннер мобильный (3) Пройти тест

Метрики ML-моделей: accuracy, precision, recall, F1 и ROC-AUC

Что такое матрица ошибок и как выбрать метрику

Разбор

27 июля 2026

Поделиться

Скопировано
Метрики ML-моделей: accuracy, precision, recall, F1 и ROC-AUC

Содержание

    ML-модели умеют распознавать изображения, рекомендовать товары, прогнозировать спрос, находить подозрительные операции. Но чтобы использовать алгоритм, нужно убедиться, что он делает точные прогнозы. Какие метрики помогают в реальном продакшене — рассказываем в статье.

    Что такое метрики ML-моделей и зачем они нужны

    Чтобы оценить работу модели, нужно проверить, как она справляется с данными, которых раньше не видела. Для этого исходный датасет делят на две части:

    • обучающая выборка (train dataset) — данные, на которых проходит обучение;
    • тестовая выборка (test dataset) — данные, которые используют для проверки качества. 

    Так как модель заранее не знает правильных ответов, результаты проверки позволяют объективно оценить ее способность делать прогнозы.

    Именно на тестовой выборке рассчитываются метрики качества. С их помощью можно понять, насколько хорошо алгоритм решает поставленную задачу, и сравнить разные модели. 

    Что такое матрица ошибок (Confusion Matrix)

    После того как модель сделала прогноз на тестовой выборке, нужно сравнить их с правильными ответами. Для этого используют матрицу ошибок — она показывает, какие объекты модель классифицировала правильно, а где ошиблась.

    В задачах бинарной классификации есть четыре типа результатов:

    • True Positive (TP) — модель верно определила объект положительного класса, например смогла обнаружить мошенническую операцию.
    • True Negative (TN) — модель верно определила объект отрицательного класса, например признала безопасной обычную банковскую операцию.
    • False Positive (FP) — ложноположительный результат. Модель ошиблась и сообщила, что объект относится к положительному классу, например заблокировала обычную транзакцию как подозрительную.
    • False Negative (FN) — ложноотрицательный результат. Модель не распознала объект и отнесла его к отрицательному классу, например пропустила мошенническую операцию.

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

    Матрица ошибок схема
    Матрица ошибок. Источник

    Метрики для задач классификации

    Почти все основные метрики качества ML-моделей рассчитываются на основе матрицы ошибок. Для этого используют значения TN, TP, FP, FN.

    Accuracy

    Accuracy в машинном обучении отражает, насколько часто модель делает правильные прогнозы. Она рассчитывается как доля корректных классификаций среди всех объектов, которые обработал алгоритм. 

    Accuracy = (TP + TN) / (TP + TN + FP + FN)

    Предположим, модель обработала 1000 фотографий и верно классифицировала 950 из них, тогда Accuracy составит 95%.

    Метрика хорошо подходит в ситуациях, когда классы распределены примерно одинаково. Но, если один класс встречается чаще, Accuracy будет недостаточно.

    Представьте систему поиска мошеннических банковских операций: из 10 000 транзакций мошенническими являются только 50. Если модель будет считать все операции обычными, метрика Accuracy окажется 99,5%. При этом на практике такая модель будет совершенно бесполезной.

    Precision

    Показывает, насколько часто модель оказывается права, когда относит объект к положительному классу. Рассчитывается по формуле:

    Precision = TP / (TP + FP)

    Precision используют в ситуациях, когда стоимость ложного срабатывания высока. Например, для сортировки писем на полезные и спам. Большое количество ложных срабатываний приведет к тому, что важные письма окажутся в нежелательной почте. 

    Recall

    Recall (полнота) оценивает, сколько объектов нужного класса модель смогла обнаружить.

    Recall = TP / (TP + FN)

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

    F1-score

    На практике Precision и Recall иногда противоречат друг другу. Если сделать модель более осторожной, Precision может вырасти, а Recall — снизиться. И наоборот.

    Чтобы оценить оба показателя одновременно, используют гармоническое среднее — F1-score. 

    F1 = 2 × Precision × Recall / (Precision + Recall)

    Если одна из двух метрик значительно ниже другой, итоговое значение F1 тоже снизится. Благодаря этому модель не сможет получить высокий результат только за счет одного показателя.

    F1-score используют при несбалансированных классах, когда важно избежать ложных срабатываний, но в то же время не пропустить реальные инциденты.

    ROC-AUC кривая

    В отличие от Accuracy, Precision и Recall, которые показывают результат модели при выбранном пороге классификации, ROC-AUC позволяет оценить ее качество для разных вариантов настройки.

    ROC-кривая отражает, как меняется способность модели разделять классы при изменении порога. Показатель AUC — насколько хорошо алгоритм в целом разделяет классы. 

    Чтобы рассчитать ROC-AUC:

    1. Отсортируйте предсказания модели (вероятности от 0 до 1) от большего к меньшему.
    2. Варьируя порог классификации, рассчитайте TPR (долю правильных позитивных ответов) и FPR (долю ложных срабатываний) для каждого порога.
    3. Постройте кривую (TPR от FPR).
    4. Вычислите площадь под этой кривой (AUC).
    Пример ROC-кривой
    Пример ROC-кривой. Источник

    Величина ROC-AUC всегда находится в диапазоне от 0 до 1:

    • 0,5 — алгоритм работает на уровне случайного выбора;
    • 0,7–0,8 — среднее качество модели;
    • 0,8–0,9 — хорошее качество модели;
    • выше 0,9 — отличная способность различать классы.

    Как выбрать подходящую метрику

    При выборе метрики нужно определить, что важнее: сократить количество ложных срабатываний, не пропустить важные события или найти баланс между этими требованиями.

    • Accuracy — подойдет для сбалансированных данных, когда цена неверных предсказаний примерно одинаковая. 
    • Precision — можно использовать в ситуации, когда нужно минимизировать ложноположительные срабатывания. Например, при фильтрации спама, блокировке банковских операций.
    • Recall (полнота) — используется в ситуациях, когда пропуск объекта нужного класса может привести к серьезным последствиям. Например, в здравоохранении, кибербезопасности, контроле качества на производстве. 
    • F1-score — подходит, если одновременно важны и Precision, и Recall, а также при дисбалансе классов. 
    • ROC-AUC — используется для сравнения разных моделей. Показывает, как хорошо алгоритм отличает объекты одного класса от другого. 

    Выбор метрики всегда зависит от того, какие ошибки допустимы в конкретной задаче, а какие могут иметь серьезные последствия.

    Типичные ошибки при оценке ML-моделей

    Даже хорошо обученная модель может получить неверную оценку, если использовать неподходящие метрики. Такое происходит, когда:

    • Модель оценивают только по метрике Accuracy. При дисбалансе классов Accuracy может быть обманчивой — модель покажет хороший результат за счет правильного распознавания частого класса, даже если плохо находит редкие объекты. 
    • Сравнивают алгоритмы по одной метрике. Разные модели могут иметь одинаковый Accuracy, но существенно отличаться по Precision или Recall. Поэтому для оценки качества нужно рассчитывать несколько показателей.
    • Игнорируют контекст. Одни и те же значения метрик могут означать разное качество в зависимости от области применения. Например, в медицине обычно важнее высокий Recall, а в антиспам-системах стоит ориентировать на Precision.

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

    Главное о метриках ML-моделей

    • Качество ML-модели оценивают на данных, которые алгоритм не использовал при обучении. 
    • Матрица ошибок помогает увидеть, какие сценарии модель обрабатывает верно, а где возникают проблемы.
    • Метрика Accuracy помогает оценить общий процент верных предсказаний, но может быть неинформативной при сильном дисбалансе классов.
    • Precision показывает, насколько часто положительные прогнозы модели оказываются правильными.
    • Recall оценивает, какую часть объектов нужного класса алгоритм смог найти.
    • F1-score объединяет Precision и Recall, помогает оценить баланс между ними.
    • ROC-AUC показывает, насколько хорошо модель различает классы. Используется для сравнения разных алгоритмов.
    • Универсальной метрики не существует, нужно выбирать показатель для каждой конкретной задачи отдельно.

    Разбор

    Поделиться

    Скопировано
    0 комментариев
    Комментарии