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

Признаки и целевая переменная

Чтобы предсказать цену квартиры, модели нужно знать две вещи: по каким данным строить ответ и какой ответ искать. Поэтому примеры записывают таблицей. Каждая строка — один объект, здесь квартира. Каждый столбец — одно её свойство.

Площадь, м²До центра, кмЦена, млн
3053.1
4524.4
6036.2
8017.9

Признак (feature) — столбец, который модель получает на вход: площадь и расстояние до центра. Целевая переменная (target), или цель, — столбец, который модель учится предсказывать: здесь цена. Признаков может быть сколько угодно, а цель обычно одна.

X и y

Признаки всех объектов собирают в таблицу X: строка — объект, столбец — признак. Значения цели собирают в список y в том же порядке строк. Заглавная X напоминает, что это таблица, строчная y — что это один столбец.

Python
X = [[30, 5], [45, 2], [60, 3], [80, 1]]
y = [3.1, 4.4, 6.2, 7.9]
print(len(X), len(y))  # 4 4
print(X[1], y[1])  # [45, 2] 4.4

Строка X[1] и число y[1] описывают одну и ту же квартиру. Число строк в X и y всегда совпадает: на каждый объект приходится одно значение цели. Если порядок строк разойдётся, модель будет учиться на чужих ответах.

Цель задаёт задача

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

Та же таблица квартир годится и для другой задачи: если предсказывать расстояние до центра, целью станет оно.

Значение цели известно только в собранных примерах. Для нового клиента его и нужно предсказать. Задачи, где у каждого примера есть известное значение цели, называют обучением с учителем (supervised learning). Учитель здесь — правильные ответы в данных.

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

Цель оставили среди признаков:

Python
X = [[30, 5, 3.1], [45, 2, 4.4], [60, 3, 6.2], [80, 1, 7.9]]  # ✗
y = [3.1, 4.4, 6.2, 7.9]

Третий столбец X совпадает с y. Модель найдёт правило «ответ — это третий признак» и на примерах не ошибётся ни разу. Но у новой квартиры цена неизвестна, и третий признак заполнить нечем: такой моделью нельзя пользоваться.

В X кладут только то, что известно до ответа.

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

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

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