Домашнє завдання

Метрики регресії

Домен той самий, що й у лекції — ціна вживаного телефона за оголошенням (модель, рік, стан, обсяг пам'яті, ціна). Дані бери свої: або згенеруй через np.random.default_rng(...), як у практиці, або візьми будь-який відкритий набір із числовою цільовою величиною.


рівень 1Рівень 1 — База

Збери таблицю з 10 своїх оголошень: справжня ціна й прогноз (прогноз можеш вигадати від руки — це нормально, ми міряємо метрики, а не модель). Порахуй вручну на NumPy, без sklearn: MAE, MSE, RMSE, R², MAPE. Потім звір кожне число з sklearn.metrics.

Окремо порахуй суму помилок без модуля й напиши одним реченням, чому вона не годиться як метрика.

Зроблено, якщо: для всіх п'яти метрик спрацював assert np.allclose(наше, бібліотечне), а в тексті є фраза про суму помилок із конкретним числом із твоєї таблиці.


рівень 2Рівень 2 — Плюс

Візьми будь-яку задачу регресії, де цільова величина не гроші: час доставки в хвилинах, вага в кілограмах, кількість переглядів. Навчи LinearRegression, порахуй MAE, RMSE, R² і MAPE на тестовій вибірці.

Потім дай відповідь на три питання, спираючись на власні числа:

  1. У яких одиницях читається MAE й що це означає для замовника цієї задачі?
  2. Наскільки RMSE більша за MAE й що з цього випливає про розкид помилок?
  3. Чи можна тут узагалі використовувати MAPE? Подивись на мінімальне значення цільової величини у своїх даних, перш ніж відповідати.

Зроблено, якщо: є таблиця з чотирма метриками на тесті, а до кожного з трьох питань — відповідь з посиланням на конкретне число (не «RMSE більша», а «RMSE 42,1 проти MAE 27,8 — у 1,5 раза»).


рівень 3Рівень 3 — Виклик

Побудуй дві моделі, які дають протилежні вердикти: одна виграє за MAE, інша — за RMSE. Робити це «підганянням прогнозів руками» не можна — обидві моделі мають бути навчені на тих самих даних.

Робочий шлях: додай у навчальні дані кілька викидів, потім навчи LinearRegression (мінімізує квадрат) і HuberRegressor або QuantileRegressor(quantile=0.5) із sklearn.linear_model (стійкі до викидів). Виміряй обидві на одній тестовій вибірці.

Далі побудуй графік: як MAE й RMSE обох моделей змінюються, коли ти збільшуєш кількість викидів у навчальній вибірці від 0 до 20.

Зроблено, якщо: у звіті є таблиця, де в одної моделі менша MAE, а в другої менша RMSE на тих самих тестових даних; є графік залежності від кількості викидів; і є абзац, яку модель ти віддав би в сервіс оцінки телефонів і чому саме її.


Підказки