Первый ML-проект ч.6: Оценка качества модели
🎬Заключительный этап проекта - оценка качества модели. Цель данного этапа состоит в определении эффективности обученной модели на тестовых данных. То есть важно понять, насколько хорошо модель, обученная на тренировочном датасете обобщает тестовые данные, с которыми ранее не встречалась
📌Почему это важно? Потому что модель может отлично работать на тренировочном датасете и одновременно получать плохие результаты на тестовых данных - это называется переобучением.
🔬Задачей моего проекта была многоклассовая классификация переменной Scan_Type, которая разделяла запросы на нормальные, бот-атаку и сканирование портов: Normal, BotAttack, PortScan. Следовательно, я приступил к изучению метрик оценки эффективности моделей классификации.
Для их понимания важно ознакомиться с обозначениями предсказаний моделей классификации: ✅True Positive (TP) - верно предсказанный положительный случай, т.е. фактическое значение 1 и предсказанное 1. ✅True Negative (TN) - верно предсказанный отрицательный случай, т.е. фактическое значение 0 и предсказанное 0. ❌False Positive (FP) - ложно предсказанный положительный случай, т.е. фактическое значение 0, а предсказанное - 1; ❌False Negative (FN) - ложно предсказанный отрицательный случай, т.е. фактическое значение 1, а предсказанное - 0.
В проекте я использовал следующие метрики: - Accuracy - доля правильных предсказаний среди всех предсказаний модели: (TP+TN) / (TP+TN+FP+FN). Данная метрика подходит, если все классы сбалансированы. - Precision - доля истинных положительных предсказаний среди всех (истинных и ложных) положительных предсказаний: TP / (TP+FP). Данная метрика позволяет оценить точность модели и используется, когда нужно как можно меньше ошибаться (делать FP-предсказаний); - Recall - доля истинных положительных предсказаний среди всех реальных положительных значений: TP / (TP+FN). Данная метрика позволяет оценить полноту модели и используется, когда нужно найти как можно больше фактических положительных значений; F1-score - метрика, которая вычисляется, как гармоническое среднее между precision и recall: 2*(Precision*Recall) / (Precision+Recall). Она является балансом между точностью и полнотой.
Это ещё не все метрики, которые используются для оценки моделей классификации, но всё уместить в одну статью сложно (да и не нужно). На картинке ниже показаны результаты оценки эффективности моих моделей.
· 22.03
Какие значения метрик вы получили? Довольны ли результатом метрик?
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
коммент удалён
· 23.03
На самом деле не очень доволен. Значения метрик получились слишком высокими. Модель лог. регрессии вообще не ошибается, а у дерева решений всего 1 ошибка. Думал с чем это связано, пока пришел к следующему: - данные синтетические, поэтому, возможно, модели действительно хорошо обобщают тестовую выборку, но на других данных модель не будет показывать такие же хорошие результаты. Я смотрел на другие Kaggle ноутбуки, проблемы с высокой эффективностью у всех; - модель не стала значительно хуже работать после исправления дисбаланса классов, поэтому опять же она может хорошо обобщать синтетические тестовые данные; - утечек данных я старался избегать, поэтому их влияние я не учитываю.
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён
· 23.03
Спасибо за подробный ответ! Скорее всего да, дело в синтетических данных. Если они просты для понимания модели, и у вас нет реальных данных для проверки, видимо, тут ничего с этим не сделаешь
0
ответить
коммент скрыт — часть юзеров считает его токсичным или некорректным
ответ удалён