Основы машинного обучения
Что такое машинное обучение: обучение с учителем и без, классификация и регрессия, признаки и целевая переменная, цикл fit/predict.
4 вопроса
JuniorТеорияЧастоКак понять, задача классификации перед вами или регрессии?
Как понять, задача классификации перед вами или регрессии?
По целевой переменной, а не по модели: если цель — категория, даже записанная как 0, 1, 2, это классификация, а если непрерывное число вроде цены — регрессия. Логистическая регрессия, несмотря на название, — классификатор.
Типичные ошибки
- ✗Считать логистическую регрессию моделью регрессии из-за названия: она выдаёт вероятность класса и предсказывает метку класса, то есть решает классификацию.
- ✗Принимать номера классов (0, 1, 2) за цель регрессии: это лишь имена категорий, поэтому их порядок и разница между ними ничего не значат.
Уточняющие вопросы
- →К какому типу отнести предсказание оценки от 1 до 5 звёзд, и что меняет каждый выбор?
- →Почему выход модели регрессии всё же можно превратить в класс с помощью порога?
JuniorТеорияЧастоБанку нужно знать, вернёт ли клиент кредит; в таблице income, age, debt, repaid — какова роль каждого?
Банку нужно знать, вернёт ли клиент кредит; в таблице income, age, debt, repaid — какова роль каждого?
income, age и debt — признаки, входные данные, которые модель читает для каждого клиента; repaid — целевая переменная: её модель учится предсказывать по примерам
Типичные ошибки
- ✗Считать, что столбец «да/нет» не может быть целью: целевая переменная — тот столбец, который модель учится предсказывать, будь в нём числа или категории.
- ✗Выбирать цель по месту в таблице: её задаёт задача, поэтому цель — тот столбец, который нужно предсказать для новых строк, где бы он ни стоял.
Уточняющие вопросы
- →Почему признак должен быть известен в момент предсказания, и что ломает столбец, который заполняют только после исхода?
- →Почему признаки записывают двумерной таблицей
X, а целевую переменную — одномернымy?
JuniorТеорияЧастоЧто делают fit и predict, и что говорит оценка качества на обучающих строках?
Что делают fit и predict, и что говорит оценка качества на обучающих строках?
fit(X_train, y_train) подбирает параметры модели по строкам с известной целью, а predict(X_new) применяет их к строкам без неё. Высокая оценка на обучающих строках мало говорит о качестве модели на новых данных.
Типичные ошибки
- ✗Доверять высокой оценке на обучении: модель уже видела эти строки и их цели, поэтому качество на новых данных показывает только оценка на отложенных строках.
- ✗Ждать, что
predictпродолжает обучение: он лишь применяет параметры, сохранённыеfit, и модель меняется только при новом вызовеfit.
Уточняющие вопросы
- →Почему масштабирование подбирают только на обучающих строках, а к тестовым лишь применяют?
- →Что возвращает
fit_predictу модели кластеризации, и почему там нет отдельного шагаpredict?
JuniorТеорияЧастоЧем обучение с учителем отличается от обучения без учителя?
Чем обучение с учителем отличается от обучения без учителя?
Обучение с учителем идёт на примерах с известной целевой переменной, например ценой или меткой «спам», и учится её предсказывать. Обучению без учителя цель не дана: оно ищет структуру в самих признаках, например кластеры.
Типичные ошибки
- ✗Считать, что «без учителя» значит без участия человека: признаки, алгоритм и, например, число кластеров по-прежнему выбирает человек — нет только целевой переменной.
- ✗Ждать, что кластеризации нужны размеченные примеры: она группирует строки только по сходству признаков, а столбец меток, если он есть, при обучении не используется.
Уточняющие вопросы
- →Где между ними находится обучение с частичным привлечением учителя, и когда оно оправдано?
- →Как оценить результат кластеризации, если меток для сравнения нет?