Классификация — одна из самых известных контролируемых задач в машинном обучении, давайте попробуем быстро объяснить ее!
В этой статье мы увидим:
- Что такое классификационная проблема?
- Различные типы задач классификации.
- Как оценить модель классификации.
Как мы можем определить проблему классификации?
Чтобы понять, что такое классификация, давайте используем регрессию для сравнения обоих.
Чем задача классификации отличается от задачи регрессии?
Оба отличаются в основном от цели, которую они пытаются предсказать. С одной стороны, вы хотите прогнозировать числовые непрерывные переменные, например, цену кофе на основе некоторых характеристик (источник набора данных: https://www.ico.org/new_historical.asp) :
Ваша цель будет распределена в диапазоне, поэтому существует огромное количество возможностей от 4 долларов США за фунт до 6,3 долларов США за фунт.
С другой стороны, вы хотите предсказать классы, например сорта кофейных зерен:
В этом случае цель будет находиться не в диапазоне, а в конечном числе возможных классов: 29, от Пакамара до Голубой горы (источник набора данных: https://database.coffeeinstitute.org/).
Подводя итог, проблема классификации — это проблема, в которой ваши цели могут быть определены как классы: Светофор зеленый, желтый или красный? Какие предметы изображены на этом фото?
Различные типы задач классификации
Мы можем выделить 4 типа задач классификации:
- Двоичная классификация: предсказать 0 или 1 (положительное или отрицательное настроение из твита).
- Многоклассовая классификация: предсказать 0, 1, 2 или 4 (капучино, эспрессо, латте, латте макиато).
- Классификация с несколькими метками: предсказание 0 или/и 1 (собака и/или кошка на картинке).
- Классификация с несколькими выходами: прогнозирование 0 или/и 1 или/и 2 (комбинирование нескольких классов и нескольких меток).
Помимо этого, проблемы классификации присутствуют в компьютерном зрении, обработке естественного языка, автоматическом распознавании речи…
Как оценить модель классификации
Поскольку целью является класс, а большинство наборов данных распределены не идеально, оценивать модели классификации с помощью показателя производительности, такого как классическая оценка точности, — не лучший вариант.
Давайте рассмотрим пример модели, которая классифицирует фотографии собак и кошек:
Точность довольно хорошая: 80%. Однако, если мы посмотрим на прогнозы (y_preds), модель вернула только собак и не вернула кошек, тогда как на двух фотографиях были кошки. Проблема возникает из-за несбалансированного набора данных, который приводит к плохому обучению, и модели, которая допускает ошибки, но не настолько, чтобы их можно было увидеть в оценке точности.
Таким образом, нам нужны лучшие типы оценки, чтобы узнать, хорошо ли работает система, давайте рассмотрим 2 основных:
Матрица путаницы
Матрица путаницы показывает, как хранится каждый элемент из каждого класса. Сколько 0 было предсказано как 0 или как 1 и наоборот. Мы называем True Negatives, True Positives, False Positives и False Negatives ячейками Матрицы.
True Positives — это элемент класса из 1, правильно предсказанный моделью.
Существуют 2 коэффициента, которые позволяют лучше понять, что делает модель:
- Точность: TP / (TP + FP)
- Отзыв: TP / (TP + FN)
Наконец, объединив эти два параметра, мы получим среднее гармоническое, называемое F1-оценка:
Примечание . Чем больше увеличивается ваша точность, тем больше снижается память, это можно увидеть с помощью кривой точности — полноты.
ROC-кривая
Кривая ROC пересекает отношение истинных срабатываний и отношение ложных срабатываний. Чем ближе кривая к верхнему левому углу, тем лучше ваша модель (конечно, в зависимости от баланса ваших данных).
AUC — это площадь под кривой, а также показатель производительности. Чем он выше, тем лучше ваша модель (максимальный AUC равен 1).
Спасибо за чтение этой статьи, я надеюсь, вы понимаете, как проблемы классификации решаются в науке о данных и как вы можете оценить производительность своих моделей машинного обучения!