Нарисовала небольшой конспект про метрики ML-модели на основе курса «Основы ML» от ProductDo.
Очевидно, что ни одна ML-модель не даст верные ответы в 100% случаев. Значит она точно будет ошибаться. А вот как часто она будет ошибаться — это хотелось бы знать заранее.
Давайте, представим, что нам нужна ML-модель, которая решает по картинке, на ней нарисован банан или нет. Какие тут могут быть варианты:
👍🏻
👍🏻
👎
👎
Для работы потребуются набор данных или «Data set», а точнее:
Набор для обучения модели — training set,
Набор для тестирования в ходе «отладки» — testing set,
Набор для итоговой проверки — evaluate set.
Минимум — training set и evaluate set.
Наборы данных должны быть размечены человеком, а в ходе тестирования сравнивают ответы модели и человека. В результате можно посчитать метрики и решить, дает ли модель нужный уровень качества ответов.
Но тут самое интересное, а что это такое качество ответов?
Лучше, когда модель редко дает ложно-положительные результаты (меньше False Positive) или когда редко дает ложно-отрицательные результаты ( меньше False Negative)?
Например в задаче с бананами. Если все время говорить «Да», то будут предсказаны все бананы в выборке. При этом будет высокое количество ложно-положительных результатов (False Positive).
Метрика Precision — больше подходит, когда важно дать минимальное количество ложно-положительных ответов. Модель чаще говорит «нет».
Метрика Recall — больше подходит, когда важно дать меньше ложно—отрицательных. Модель чаще говорит «да».
Если важно и то и другое, то можно использовать метрику «F1 score».
Пока разбиралась в этой теме. Наткнулась на хорошую статью про базовые метрики для задач классификации. Хотя там не хватает задач для применения этих метрик на практике, которые есть в курсе 🤔



