Анализ данных на Python в примерах и задачах

Описание различных метрик качества. Часть 1

В данном фрагменте лекции рассматривается проблема выбора метрики качества для модели машинного обучения. На примере полученных результатов (99% и 84%) демонстрируется, что разные метрики могут давать существенно разную оценку одной и той же модели. Автор подробно разбирает метрику Accuracy (точность), выявляет её ключевой недостаток — чувствительность к дисбалансу классов — и вводит понятия Precision (точность для класса 1) и Recall (в упоминании), объясняя, что Precision помогает контролировать долю ложноположительных ответов.

Основные мысли

Разные метрики → разные результаты. Модель может показывать 99% по одной метрике и 84% по другой, и это нормально.
Accuracy (Acurisis Core) — это просто доля правильных ответов от общего числа наблюдений. Её легко считать, но она не различает типы ошибок.
Главная проблема Accuracy: она бесполезна при несбалансированных классах (например, 90% объектов класса «1», 10% — «0»). Модель, всегда предсказывающая «1», получит 90% Accuracy, хотя совершенно не умеет находить класс «0».
Precision (Presigion Score) фокусируется на классе «1»: из всех предсказанных нами «1» сколько было действительно «1». Высокий Precision = мало ложноположительных ответов.
Recall (Rekol Skor) (упомянут в конце) — метрика, которая оценивает полноту: из всех реальных «1» сколько мы нашли.
Показывать лекцию целиком
Краткое изложение

Лектор начинает с того, что ранее была построена модель и рассчитаны 4 метрики качества. Результаты разнятся: например, 99% против 84%. Чтобы интерпретировать это, нужно понимать, как работает каждая метрика.

1. Accuracy (доля правильных ответов):
o Пример: 100 наблюдений, 5 ошибок → Accuracy = 95%.
o Метрике всё равно, как вы ошиблись (ложноположительно или ложноотрицательно). Важно только количество верных ответов.
o Проблема: при дисбалансе классов (90 объектов класса «1», 10 — класса «0») модель-«дурак», которая всегда отвечает «1», получит Accuracy = 90%. Это создаёт иллюзию высокой точности, хотя модель не умеет распознавать класс «0».
2. Precision (для класса «1»):
o Считает: *истинные «1» / все, кому мы приписали «1»*.
o Показывает, насколько мы «угадали» с первым классом.
o Высокий Precision → мало ложноположительных ответов (то есть мы редко называем «1» объект, который на самом деле «0»).
3. Recall (только упомянут, но лектор обещает разобрать далее, прежде чем перейти к F1-скорe).

Выводы

Accuracy не всегда показательна. Если классы несбалансированы, эта метрика вводит в заблуждение.
• Для реальных задач (особенно где важна ошибка на редком классе) необходимо использовать Precision и Recall, а в идеале — их комбинацию (F1-меру).
• Выбор «наиболее употребимой метрики» зависит от конкретного кейса: что именно мы считаем критичной ошибкой (ложноположительную или ложноотрицательную).
• Модель, показывающая 99% Accuracy, на самом деле может быть бесполезной, если она игнорирует миноритарный класс.

Вопросы для самопроверки

1. Почему одна и та же модель может давать 99% Accuracy и 84% Precision? Что это означает на практике?
2. Приведите собственный пример (не из лекции), когда Accuracy высокая, но модель бесполезна.
3. Чем принципиально отличается Precision от Accuracy?
4. Какую метрику вы будете использовать, если для вас критично не пропустить ни одного объекта класса «1» (например, в диагностике опасной болезни)? Почему?
5. Что означает фраза «высокий Precision → низкий уровень ложноположительных ответов»? Объясните своими словами.
Вернуться к учебному плану