Метрики моделей и основы машинного обучения
Задачи про модели машинного обучения: «какой датчик выбрать для склада» или «что важнее для спам-фильтра».
Матрица ошибок
| Модель сказала «да» | Модель сказала «нет» | |
|---|---|---|
| На самом деле «да» | TP — верно нашли | FN — пропустили |
| На самом деле «нет» | FP — ложная тревога | TN — верно отклонили |
Основные метрики
Пример
TP = 80, FP = 20, FN = 40, TN = 860. Accuracy = 940/1000 = 0,94. Precision = 80/100 = 0,80. Recall = 80/120 ≈ 0,67. F1 = 2·0,8·0,67/(0,8 + 0,67) ≈ 0,73.
Что важнее: precision или recall
| Ситуация | Что дороже | Смотрим на |
|---|---|---|
| Датчик дыма, поиск брака на конвейере | пропустить (FN) | recall |
| Проверка багажа в аэропорту | пропустить опасный предмет (FN) | recall |
| Спам-фильтр для рабочей почты, автоматический отказ в заявке | показать лишнее или заблокировать нужное (FP) | precision |
| Обе ошибки важны примерно одинаково | — | F1 |
Выбор по цене ошибок
Если дано, во что обходится каждая ошибка, посчитайте общие потери и выберите минимум. Пример: ложная тревога стоит 1 тыс. ₽, пропуск — 3 тыс. ₽. Модель A: FP = 50, FN = 30 → 50 + 90 = 140 тыс. ₽. Модель B: FP = 120, FN = 10 → 120 + 30 = 150 тыс. ₽. Выбираем A, хотя у B выше recall.
Несбалансированные классы
Если болеет 1% людей, модель «все здоровы» даёт accuracy 99% и не находит ни одного больного (recall = 0). Поэтому при редком классе accuracy почти бесполезна: смотрят на precision, recall и F1.
У большинства моделей есть порог: при какой вероятности говорить «да». Если порог понизить, recall вырастет, а precision обычно упадёт. Если повысить — наоборот.
Метрики для регрессии
Обучение и проверка модели
- Train / test. Модель обучают на одной части данных, а качество проверяют на другой, которую она не видела.
- Переобучение — на обучающей выборке ошибка маленькая, на тестовой большая. Модель запомнила шум.
- Утечка данных — среди признаков есть информация, недоступная в момент прогноза. Например, «фактическое время прибытия» при прогнозе опоздания поезда. Качество на тесте тогда завышено.
- Признаки должны быть известны заранее и иметь смысловую связь с целью.
Похожие объекты и расстояния
Чтобы найти «самую похожую квартиру» (метод ближайших соседей), считают расстояние между векторами признаков:
- Перед этим признаки стандартизируют, иначе всё решает признак с самыми большими числами.
- Один и тот же объект может оказаться ближайшим для многих. А какие-то объекты могут не оказаться ближайшими ни для кого.
Ещё примеры
Камера на конвейере нашла 90 из 100 бракованных деталей и ещё 900 хороших отбраковала зря. Посчитайте precision и recall.
Recall = 90/100 = 0,9. Precision = 90/(90 + 900) ≈ 0,09.
Почему accuracy 99,5% может быть плохим результатом?
Если положительный класс встречается в 0,5% случаев, такую accuracy даёт модель, которая всегда отвечает «нет».