Задачи scikit-learn: обучение модели и проверка ошибок
Практические задачи по первой модели машинного обучения на Python. Здесь вы будете разделять данные, получать предсказания, сравнивать модель с baseline и разбирать ошибки регрессии и классификации. Нужны базовый Python и понимание таблиц pandas.
Маршрут по заданиям
Начните с отделения признаков X от целевой переменной y. Затем проверьте порядок столбцов при predict и обучите линейную регрессию. После оценки MAE переходите к классификации: вероятностям классов, порогу решения, стратификации и сравнению с постоянным предсказателем.
В завершение посмотрите, какие положительные случаи модель пропустила, и сравните пороги при разных приоритетах ошибок. Эти задания помогают переходить от одной красивой цифры к конкретным последствиям предсказания.
Почему высокая accuracy бывает бесполезной
Представьте тестовую выборку из 100 объектов, где положительных только 5. Классификатор, который всегда отвечает «отрицательный», получит accuracy 95%, но не найдёт ни одного положительного объекта. Поэтому сравнение с baseline и отдельная проверка recall нужны даже при высокой общей доле правильных ответов.
Precision показывает, какая доля предсказанных положительных действительно положительна. Recall — какая доля истинно положительных обнаружена. При изменении порога они могут меняться; выбирать порог по финальному test и затем заявлять независимую оценку нельзя. Для выбора используйте выделенную валидацию.
Что проверить до запуска
- Целевая переменная исключена из признаков.
- Разбиение X и y совместное, строки не потеряли соответствие.
- train и test не смешаны при обучении и подготовке данных.
- Вероятность извлечена для нужного класса через classes_.
- baseline и модель оцениваются на одних тестовых строках.
Следуйте данным и интерфейсам конкретного задания: в некоторых задачах подготовка создаёт df, в других исходные значения находятся в видимом коде. Предыдущий запуск не сохраняет переменные.
Объяснения доступны в бесплатном курсе «Машинное обучение с нуля». Для подготовки данных используйте практикум pandas. Дальнейшее обучение моделям и их применению есть в курсе ML Engineer / Data Scientist.
- Утечка целевой переменной в ML: как отделить X от y
Исключите целевой столбец из признаков X и сохраните y отдельно, чтобы модель не видела будущий ответ при прогнозе.
Машинное обучение с нуля на Python: первая модель - scikit-learn predict: совпадение столбцов Xtrain и Xnew
Исправьте новые данные для LinearRegression: признаки и порядок столбцов при predict должны совпадать с обучением.
Машинное обучение с нуля на Python: первая модель - Линейная регрессия scikit-learn: diabetes, fit и predict
Как обучить LinearRegression на diabetes и получить прогноз для отложенных строк? Пример fit/predict и задача с проверкой.
Машинное обучение с нуля на Python: первая модель - MAE на train и test: сопоставьте прогнозы с правильными ответами
Исправьте расчёт meanabsoluteerror для одной модели: сравнивайте прогнозы train и test с ответами тех же строк.
Машинное обучение с нуля на Python: первая модель - Baseline регрессии: среднее, медиана и MAE модели
Посчитайте константные baseline по ytrain и сравните их MAE с LinearRegression на одном и том же test.
Машинное обучение с нуля на Python: первая модель - Ошибки регрессии: residual, топ-5 промахов и MAE по группам
Соберите отчёт по остаткам модели, найдите пять крупнейших ошибок и сравните среднюю абсолютную ошибку по зонам.
Машинное обучение с нуля на Python: первая модель - predictproba и classes: найдите вероятность нужного класса
Найдите столбец класса 2 по clf.classes, извлеките вероятности и отсортируйте строки по риску.
Машинное обучение с нуля на Python: первая модель - Порог классификации 0.4 и 0.5: какие метки изменятся
Сравните бинарные решения при двух порогах и проверьте, хватит ли мест для дополнительных ручных проверок.
Машинное обучение с нуля на Python: первая модель - Разбиение train/test в scikit-learn: stratify и редкий класс
Зачем нужен stratify=y при разбиении данных на train и test? Пример сохранения долей классов и задача с проверкой.
Машинное обучение с нуля на Python: первая модель - Accuracy при дисбалансе классов: сравнение с baseline
Сравните accuracy модели с постоянным предсказанием самого частого класса train на одном test-наборе.
Машинное обучение с нуля на Python: первая модель - Порог классификации по цене FN и FP: precision и recall
Сравните пороги 0.3 и 0.7 по числу ошибок и весам FN/FP на валидации, вычислите precision и recall.
Машинное обучение с нуля на Python: первая модель - DummyClassifier mostfrequent: baseline для редкого класса
Постройте стратифицированный split и baseline через DummyClassifier; измерьте accuracy, precision, recall и F1.
Машинное обучение с нуля на Python: первая модель - False negatives модели: какие положительные случаи пропущены
Сравните логистическую регрессию с baseline на одном test и соберите строки ложных отрицаний каждой модели.
Машинное обучение с нуля на Python: первая модель
