Перейти к содержимому
Теория · Что такое машинное обучение · урок 6 из 9

Классификация и регрессия

Банку нужен ответ «вернёт кредит или нет», риелтору — цена квартиры. Обе задачи решает обучение с учителем, но ответы у них разной природы. Первый ответ выбирают из двух вариантов, второй может быть любым числом. От этого зависит, какую модель брать и как измерять её ошибку.

Классификация (classification) — задача, где целевая переменная принимает одно значение из конечного набора категорий. Категории называют классами: спам и не спам, кошка, собака и птица. Классов бывает два, как у спама, или десятки, как у пород собак на фото. Регрессия (regression) — задача, где цель — число на непрерывной шкале: цена, температура, время доставки.

ЗадачаЦельТип
Отсеять спамспам / не спамклассификация
Оценить квартируцена в миллионахрегрессия
Узнать животное на фотокошка / собака / птицаклассификация
Предсказать время доставкиминутырегрессия

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

Решает цель, а не название

Тип задачи определяет только целевая переменная. Классы часто хранят числами: 0 — кошка, 1 — собака, 2 — птица. Числовой столбец не делает задачу регрессией.

Проверьте, имеет ли смысл среднее между двумя ответами. Средняя цена двух квартир — тоже цена, а среднего между кошкой и птицей не существует.

Название модели тип задачи тоже не определяет. Логистическая регрессия (logistic regression), несмотря на название, решает задачу классификации: она предсказывает класс объекта.

Частая ошибка

Номера классов считают обычными числами:

Python
classes = ["cat", "dog", "bird"]
y = [0, 2, 0, 2]
average = sum(y) / len(y)  # ✗
print(average)  # 1.0
print(classes[int(average)])  # dog

Python считает без ошибок, но в ответе смысла нет. Среднее между кошками и птицами оказалось собакой.

Номер 1 стоит между 0 и 2 только потому, что классы так пронумеровали. Расстояние между номерами классов ничего не значит. Модель регрессии, обученная на таком столбце, будет делать ту же ошибку: предсказывать «промежуточные» классы.

Если цель — категория, задача остаётся классификацией, в каком бы виде ни хранились классы.

Подпишись, чтобы пройти курс

Курс бесплатный. Войди через Telegram и подпишись на канал — откроются все уроки.

Войти другим способом