IT Academy
Справочник курса

Классическое машинное обучение

Все объяснения, задачи и лабораторная в одном месте.

Можно сохранить страницу в PDF через печать браузера. Для печати разборы ответов раскрываются автоматически.

1. Постановка задачи и baseline

Объяснение

Обучение оценивает параметры по примерам. Признаки должны быть доступны в момент прогнозирования. Разделение train/test до обработки предотвращает утечку информации из будущей проверки.

Задача для самостоятельного решения

Можно ли нормализовать весь dataset до разделения?

Показать разбор ответа

Это раскрывает статистику test набору обучения. Обучайте scaler на train и применяйте те же параметры к validation/test.

2. Подготовка данных без leakage

Объяснение

Пропуски, категории и масштаб требуют явной обработки. Pipeline связывает преобразование и модель, чтобы inference повторял обучение. Признак, появляющийся после целевого события, создаёт leakage.

Задача для самостоятельного решения

Предсказываем возврат кредита. Можно ли использовать дату взыскания?

Показать разбор ответа

Нет, она известна после события и раскрывает ответ. Проверяйте временную доступность каждого признака.

3. Линейные модели и регуляризация

Объяснение

Линейная модель связывает признаки со взвешенной суммой. Регуляризация штрафует сложность и может снизить переобучение. Масштаб признаков влияет на величину штрафа коэффициентов.

Задача для самостоятельного решения

Почему модель с идеальным train score может быть плохой?

Показать разбор ответа

Она могла запомнить шум. Оценивайте независимый validation score, learning curves и простую baseline-модель.

4. Деревья, ensembles и boosting

Объяснение

Accuracy скрывает ошибки редкого класса. Precision показывает долю верных среди положительных предсказаний, recall — долю найденных положительных объектов. Порог выбирают по стоимости ошибок.

Задача для самостоятельного решения

Из 100 реальных случаев найдены 80, положительных предсказаний 200. Найдите precision/recall.

Показать разбор ответа

Precision=80/200=40%, recall=80/100=80%. Нужно отдельно обсудить цену 120 ложных тревог и 20 пропусков.

5. Метрики, cross-validation и calibration

Объяснение

Деревья делят пространство признаков, ансамбли объединяют модели. Cross-validation помогает оценить разброс, но временные данные требуют сохранения порядка. Гиперпараметры подбираются без использования финального test.

Задача для самостоятельного решения

Как валидировать прогноз продаж на завтра?

Показать разбор ответа

Обучать на прошлом и проверять на более позднем периоде. Случайное смешивание дат может раскрыть будущее через сезонность и связанные наблюдения.

6. Интерпретация, fairness и воспроизводимость

Объяснение

Воспроизводимость требует версии данных, кода, параметров и среды. Deployment включает preprocessing и схему признаков. Мониторинг качества нуждается в реальных метках, иногда приходящих с задержкой.

Задача для самостоятельного решения

Что сохранить вместе с моделью?

Показать разбор ответа

Версию признаков, preprocessing, параметры, метрики, split и окружение. Один файл весов не позволяет восстановить эксперимент или корректный inference.

Практика

Лабораторная работа

Подготовка

Python 3; метрики можно проверить без сторонних библиотек.

Учебный пример

actual = [1,1,1,0,0,0]
predicted = [1,1,0,1,0,0]
tp = sum(a==1 and p==1 for a,p in zip(actual,predicted))
fp = sum(a==0 and p==1 for a,p in zip(actual,predicted))
fn = sum(a==1 and p==0 for a,p in zip(actual,predicted))
print(tp/(tp+fp), tp/(tp+fn))

Как работает пример и что ожидать

Precision и recall равны 2/3. Два true positive, один false positive и один false negative. В промышленном расчёте нужны правила нулевого знаменателя и одинаковая длина массивов. Метрика не описывает цену ошибок без контекста задачи.

Итоговая работа

Постройте baseline и одну обучаемую модель, разделив данные до preprocessing. Сохраните split, pipeline и метрики по сегментам. Проверьте leakage и покажите, как выбор порога меняет precision/recall.

Проверка результата

1. Опишите исходные данные и условия запуска, чтобы другой человек мог повторить работу.
2. Приложите результат обычного сценария и сравните его с ожидаемым.
3. Проверьте неверный вход, граничный случай и отказ зависимости, если она есть.
4. Объясните выбранное решение и известное ограничение.
5. Сохраните исправления после самопроверки вместе с примером, который раньше не работал.

Как оценить работу

По каждому пункту поставьте 0 (не выполнено), 1 (выполнено с пробелами) или 2 (результат воспроизводим и объяснён). Если обязательный сценарий не работает, вернитесь к нему независимо от общей суммы. Это рубрика самопроверки: сайт не исполняет присланный код и не выдаёт автоматическую оценку проекта.