Найти в Дзене
Властелин машин

Визуализация ошибок, как навигатор к скрытым проблемам модели

Визуализация — это язык, который позволяет нам видеть данные и понимать их смысл. Простой и эффективный способ диагностики результатов работы модели на различных объектах заключается в анализе разницы между прогнозами и целями. Он может показать, что в некоторых группах поведение модели имеет особенности, например, склонность к завышению или занижению прогнозов. Для демонстрации того, как строится такая визуализация загрузим набор данных: Разобьем датасет на две группы для обучения и оценки: Теперь построим модель и сделаем предсказания: Аналитический прием, о котором шла речь выше, заключается в визуализации распределения разности между целями и прогнозами (ошибками). Это можно сделать, например, путем построения гистограммы или графика разброса точек с координатами по оси y - ошибки, x - предсказания. Объявим функцию с соответствующими свойствами и вызовем ее: На графике ошибки распределены равномерно относительно нуля, их среднее и медиана почти совпадают и равны 0. Аналогичные виз

Визуализация — это язык, который позволяет нам видеть данные и понимать их смысл. Простой и эффективный способ диагностики результатов работы модели на различных объектах заключается в анализе разницы между прогнозами и целями. Он может показать, что в некоторых группах поведение модели имеет особенности, например, склонность к завышению или занижению прогнозов.

Для демонстрации того, как строится такая визуализация загрузим набор данных:

Разобьем датасет на две группы для обучения и оценки:

-2

Теперь построим модель и сделаем предсказания:

-3

Аналитический прием, о котором шла речь выше, заключается в визуализации распределения разности между целями и прогнозами (ошибками). Это можно сделать, например, путем построения гистограммы или графика разброса точек с координатами по оси y - ошибки, x - предсказания. Объявим функцию с соответствующими свойствами и вызовем ее:

-4
-5

На графике ошибки распределены равномерно относительно нуля, их среднее и медиана почти совпадают и равны 0.

Аналогичные визуализации можно построить с библиотекой sklearn (потребуется использовать метод from_predictions класса PredictionErrorDisplay из модуля sklearn.metrics):

-6

По оси y можно вывести вместо ошибок реальные значения (цели) против предсказанных по оси x:

-7

А теперь для демонстрационных целей добавим выброс в виде новой точки с очень большой целью и снова обучим модель:

-8

После обучения на большом выбросе модель для одних точек стала сильно занижать предсказания, а для других - завышать. Такой эффект может быть вызван не только выбросами в обучающих данных, но и простотой модели, плохими признаками. Например, вы пытаетесь предсказать цену квартиры, основываясь только на площади, и не учитываете особенности района, близость к метро. Тогда, если в датасете имеется перекос в сторону квартир из элитных райнов, фактор площади может остаться недооцененным.

Таким образом, неравномерность распределения ошибок относительно нуля является индикатором того, что модель требует доработки и оптимизации, а причины могут от случая к случаю меняться.

Ввиду сложности отображения кода, дублирую материал по адресу в блоге "Властелин машин" в teletype.in, там можно скопировать интересующие части.

#ml#diag#ошибки#остатки#residuals

-9