Задача курса

Ошибки регрессии: residual, топ-5 промахов и MAE по группам

Курс «Машинное обучение с нуля на Python: первая модель» · урок «Проект 1: модель, ошибка и вывод»

Условие

Отчёт о крупнейших ошибках модели

После обучения модели для проекта о сроках доставки у вас есть прогнозы по отложенным строкам. Где модель промахнулась сильнее всего? Рассмотрите пять крупнейших по модулю ошибок вместе с расстоянием, весом и зоной склада. Возможная общая черта этих случаев остаётся описательным наблюдением: по пяти строкам нельзя делать вывод о поведении модели в целом.

Затем сравните зоны по всем строкам test, а не только по выбранной пятёрке. Средняя абсолютная ошибка по каждой warehouse_zone покажет, в какой зоне наблюдаемая MAE на этом test оказалась наибольшей. Не подбирайте модель заново по результатам этого анализа и не трактуйте сравнение как причинный вывод или гарантию для новых данных.

В стартовом коде уже доступны обученный model, X_test, y_test и predictions для фиксированного разбиения исходного delivery_days.csv. X_test содержит distance_km, weight_kg, warehouse_zone; ответ y_test измеряется в днях. Обучать модель и получать прогнозы заново не требуется.

После вашего кода проверяются верхнеуровневые имена:

  • report: DataFrame с индексом и порядком строк X_test, его тремя исходными признаками и затем столбцами actual, prediction, residual, abs_residual. Здесь residual равен истинному сроку минус прогнозу, а abs_residual — его модулю.
  • top_errors: пять строк report по убыванию abs_residual; при равенстве ошибок сохраняется порядок строк в test.
  • zone_mae: Series со средней abs_residual по каждой зоне, вычисленной по всему test; индекс Series — значения warehouse_zone.
  • worst_zone: значение зоны с наибольшей наблюдаемой zone_mae (при равенстве — меньшая зона).

stdin не используется; выводить результат через print не нужно.

Попробуйте решить

РешениеPython
Без регистрации · результат не сохраняется