Анализ классификации с помощью ROC-кривых

Завершено

Модели классификации относят образец к категории. Например, по размеру, цвету и наличию движения они определяют объект как туриста или дерево.

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

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

Вероятности и категории

У многих моделей несколько этапов принятия решений, и последний из них представляет собой перевод в двоичную форму. При этом модель делает выбор в пользу одной из двух вероятностей. Например, предположим, что модель предоставляется с функциями и вычисляет, что есть 75% вероятность того, что она была показана туристом, и 25% вероятность того, что она была показана дерево. Объект не может быть 75% туристов и 25% дерева; это один или другой! Таким образом, модель применяет пороговое значение, которое обычно составляет 50 %. Так как вероятность того, что объект относится к классу "турист" больше 50 %, объект определяется как турист.

Пороговое значение 50 % является логическим; это означает, что наиболее вероятной меткой в соответствии с моделью всегда выбирается. Однако если модель неверна, то порог в 50 % может давать некорректные результаты. Например, если модель имеет небольшую тенденцию выбирать деревья больше, чем туристы, выбирая деревья 10 % чаще, чем это должно, мы могли бы изменить порог принятия решений, чтобы учесть это.

Вспомним про матрицы решений

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

Схема, показывающая матрицу путаницы истинных положительных, истинных отрицательных, ложных срабатываний и ложных отрицательных значений.

Матрица неточностей позволяет рассчитать полезные характеристики. Ниже приведены две популярные характеристики.

  • Значение True Положительное значение (чувствительность): как часто метки True правильно определены как "True". Например, как часто модель предсказывает "туриста", когда показан пример, на самом деле является туристом.
  • False Positive Rate (false alarm rate): как часто метки False определяются как "True". Например, как часто модель прогнозирует "турист" при отображении дерева.

Глядя на истинные положительные и ложные положительные ставки, мы можем понять производительность модели.

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

Кривые ROC

ROC-кривые — это графики, отражающие отношение истинноположительных результатов к ложноположительным.

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

График ROC-кривой с одной точкой.

Если вы также думаете, что это, вы правы. Обученная модель выдает лишь одну точку. Однако помните, что у наших моделей есть пороговое значение (обычно 50%), которое используется для определения того, следует ли использовать метку true (поход) или false (дерево). Если изменить это пороговое значение на 30 % и повторно вычислить истинноположительные и ложноположительные коэффициенты, мы получим еще одну точку:

График ROC-кривой с двумя точками.

Если мы делаем это для пороговых значений от 0%до 100%, мы можем получить график следующим образом:

График ROC-кривой с линией из точек.

Обычно его отображают в виде линии.

График ROC-кривой в виде линии вместо серии точек для ложноположительных результатов.

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

График ROC-кривой в виде линии вместо серии точек для случаев, когда модель определяет деревья как туристов.

Хорошие и плохие ROC-кривые

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