tgoop.com/zasql_python/354
Last Update:
Про базовые метрики в задачах классификации в машинном обучении
Классификация — это про то, как определяется класс объекта. Например: фродер или нет, показать товар или не показать, дать кредит или отказать.
Классы могут быть бинарными, мультиклассовыми, со смещением и без. Используется в антифроде, поиске, скоринге, рекомендациях, модерации и почти в любом ML-продукте.
Когда обучается модель, необходимо понять, насколько хорошо она работает.
Обычно начинают с accuracy — самой простой и часто вводящей в заблуждение метрики.
Представим задачу разметки клиентов как фродеров или нет.
В выборке всего 5% настоящих фродеров.
Если модель просто будет отвечать, что все не фродеры, она окажется права в 95% случаев. Accuracy = 95%.
На первый взгляд — отличный результат.
Accuracy = (TP + TN) / (TP + FP + FN + TN)
Отражает долю корректных среди всех предсказанных как положительные.
В нашем случае отражает долю реальных фродеров среди всех, кого модель определила как фродеров
Если модель указывает на пользователей как фродеров, а по факту из 10 таких пользователей 6 действительно фродеры, а 4 — нет, то:
Precision = 6 / (6 + 4) = 0.6
При низком precision модель тревожит нормальных пользователей — что критично для антифрода, медицины, рекомендаций.
Precision = TP / (TP + FP)
Показывает, какую долю реальных фродеров удалось обнаружить.
Если в выборке 20 настоящих фродеров, и модель нашла 6 из них, то:
Recall = 6 / (6 + 14) = 0.3
Проще говоря — если модель кого-то не заметила, это может дорого обойтись.
Recall = TP / (TP + FN)
TP — модель предсказала фрод и это правда
FP — модель предсказала фрод, но это ошибка
FN — модель сказала не фрод, но на самом деле это фрод
TN — не фрод и модель это правильно предсказала
F1 = 2 * (Precision * Recall) / (Precision + Recall)
Статьи:
[ссылка_1], [ссылка_2], [ссылка_3], [ссылка_4]
Ставьте