Классификация — одна из самых известных контролируемых задач в машинном обучении, давайте попробуем быстро объяснить ее!

В этой статье мы увидим:

  1. Что такое классификационная проблема?
  2. Различные типы задач классификации.
  3. Как оценить модель классификации.

Как мы можем определить проблему классификации?

Чтобы понять, что такое классификация, давайте используем регрессию для сравнения обоих.

Чем задача классификации отличается от задачи регрессии?

Оба отличаются в основном от цели, которую они пытаются предсказать. С одной стороны, вы хотите прогнозировать числовые непрерывные переменные, например, цену кофе на основе некоторых характеристик (источник набора данных: 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 коэффициента, которые позволяют лучше понять, что делает модель:

  1. Точность: TP / (TP + FP)
  2. Отзыв: TP / (TP + FN)

Наконец, объединив эти два параметра, мы получим среднее гармоническое, называемое F1-оценка:

Примечание . Чем больше увеличивается ваша точность, тем больше снижается память, это можно увидеть с помощью кривой точности — полноты.

ROC-кривая

Кривая ROC пересекает отношение истинных срабатываний и отношение ложных срабатываний. Чем ближе кривая к верхнему левому углу, тем лучше ваша модель (конечно, в зависимости от баланса ваших данных).

AUC — это площадь под кривой, а также показатель производительности. Чем он выше, тем лучше ваша модель (максимальный AUC равен 1).

Спасибо за чтение этой статьи, я надеюсь, вы понимаете, как проблемы классификации решаются в науке о данных и как вы можете оценить производительность своих моделей машинного обучения!