Перейти к основному содержимому

Анализ ошибок модели

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

Регрессия

В случае регрессии для этого строят график зависимости прогноза y^\hat{y} от истинного значения yy, как показано ниже:

YYhat-dependency.png

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

Классификация

В случае классификации можно анализировать матрицу ошибок (confusion matrix), строкам которой соответствуют реальные отклики, а столбцам - их прогнозы. (i,j)(i,j)-й элемент матрицы содержит число случаев, когда истинный класс ii был предсказан jj-м классом.

Ниже приведён пример этой матрицы для 3х классов:

y^=1\hat{y}=1y^=2\hat{y}=2y^=3\hat{y}=3
y=1y=11030
y=2y=202015
y=3y=32530

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

Анализ проблемных объектов

Полезно смотреть на те объекты, на которых модель была уверена в одном прогнозе (предсказанном с высокой вероятностью или рейтингом, все базовые модели ансамбля голосовали за него), а в итоге оказался верным другой прогноз. Анализ таких объектов может дать подсказку, какие дополнительные свойства объектов необходимо учесть в модели, чтобы она реже ошибалась.