Когда у вас есть категориальные данные, вы можете построить несколько моделей для прогнозирования новых наблюдений на основе данных. Вы можете создавать логистические регрессии, деревья решений, случайные леса, модели повышения и многое другое. Как вы их сравниваете и как определяете, какая модель лучшая?

Матрица путаницы

Допустим, у нас есть двоичный набор категориальных данных, цель которого - предсказать, является ли что-то истинным или ложным. Мы строим несколько моделей, и теперь нам нужен способ систематизировать наши результаты. Один из методов - использование матрицы неточностей. Наша модель предсказывает истину или ложь для данных, которые могут быть истинными или ложными. Мы можем организовать наши данные в матрице путаницы, следуя приведенному ниже руководству:

Наша модель может либо предсказать, что наблюдение истинно, когда оно действительно истинно (TP), либо предсказать, что оно ложно, когда оно действительно истинно (FN), либо предсказать, что это действительно так. ложь, когда на самом деле ложь (TN), и предсказать, что это правда, когда на самом деле ложь (FP). Матрица путаницы будет иметь столько столбцов и строк, сколько категорий для целевой переменной, поэтому она всегда будет квадратной. Мы можем систематизировать наши результаты и определить, какая модель лучшая, выбрав ту, которая дает наиболее точные прогнозы, верно?

Точность, отзывчивость, точность и оценка F1

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

Есть и другие метрики, которые также можно использовать. Точность оценивает модели по количеству сделанных верных прогнозов. Оценка F1 - это среднее гармоническое значение между точностью и отзывчивостью. Вы должны решить, какой показатель лучше всего подходит для вашей ситуации.

Заключение

Вышеуказанные показатели предназначены для оценки бинарных категориальных моделей. Когда добавляются несколько классов, мы должны скорректировать наши оценочные показатели. В библиотеке Python Scikit-Learn есть методы для визуализации матриц путаницы и оценки моделей. Вы должны решить, какая метрика оценки лучше всего подходит для вашего проекта.