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

Почему всем (даже тем, кто не является разработчиками/специалистами по данным) важно знать, как оценивать модель машинного обучения?

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

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

Давайте начнем с основ. Если мы пытаемся оценить модель, которая предсказывает вероятность истощения как Да или Нет, как мы будем измерять точность модели? Простым подходом было бы: Сколько раз модель предсказывала правильно? (Это будет включать как прогнозы Да, так и Нет). В R это представление можно легко сгенерировать с помощью функции CrossTable.

Предположим, что в группе из 1390 сотрудников фактически уволились 183 человека. Разбивка прогнозов и фактических данных приведена ниже и называется матрицей путаницы. Образец приведен ниже.

«Точность» модели составит 97,4%, т.е. 86,4% (правильно предсказано как сотрудники, которые не уйдут в отставку — 1201) + 11% (правильно предсказано как сотрудники, которые уйдут в отставку — 153).

Хотя Точность звучит как довольно надежная метрика, у нее есть несколько недостатков, один из которых — Проблема дисбаланса классов.

Представьте, что вы находитесь в организации/бизнес-подразделении, где текучесть кадров невелика — например, из 1390 сотрудников увольняются только 140 человек (~ 10%). Если общая точность модели составляет 85% — существует вполне реальная вероятность того, что прогнозы относительно того, кто уволится, могут оказаться неверными (поскольку погрешность составляет 15%)! Другая, более практическая проблема, связанная с тем, что вы слишком сильно полагаетесь на «точность», заключается в том, что она не дает детализированных данных, таких как «какой процент сотрудников, которые действительно уволились, был предсказан правильно». В данном случае — число 153, что составляет 84% от общей убыли (т. е. 183).

Учитывая эти ограничения, важно получить более тонкое представление о производительности модели. Вот несколько показателей, которые следует учитывать:

1) Ложноположительные результаты (FP) и Ложноотрицательные результаты (FN). На приведенном выше рисунке FP (общая вероятность 0,4%) представляет собой модель, предсказывающую, что кто-то, вероятно, бросит курить («Положительное» событие ), но она не уходит. FN (общая вероятность 2,2%) — это модель, предсказывающая, что кто-то не склонен бросить курить («Негативное» событие), но бросит курить.

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

Все модели машинного обучения, развернутые в этих вариантах использования, имеют возможность ввести «Стоимость ошибки», которая штрафует модель (на этапе обучения), т. е. если мы вводим стоимость ошибки для FP, она изменяет переменные, чтобы снизить FP, но это почти всегда отрицательно влияет на FN. Таким образом, организации должны тщательно решить, какой тип ошибки является более важным.

2) Чувствительность/специфичность. В продолжение темы выше важно найти компромисс между обнаружением ложноположительных и ложноотрицательных результатов.

Чувствительность — это способность правильно прогнозировать положительные случаи (т. е. выходы), которая представляет собой отношение правильно предсказанных случаев выхода (153) к фактическим выходам (183), что составляет 83,6%. Точно так же специфичность — это способность правильно предсказывать отрицательные случаи (т. е. отказы от увольнения), которая представляет собой отношение правильно предсказанных случаев отказа от увольнения (1201) к общему количеству сотрудников, которые не уволились (1207). ), что составляет 99,5%.

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

3) Дополнительные метрики. В дополнение к этим есть и другие метрики, которые обеспечивают более детальное понимание. Например, точность/отзыв (измеряет степень шума в ваших прогнозах), кривые ROC (используются для визуального сравнения эффективности нескольких моделей путем анализа компромиссов между чувствительностью и специфичностью) и F Measure (объединяет показатели точности и полноты для сравнения нескольких моделей)

И последнее предостережение: хотя процесс создания и тестирования модели ML обычно связан с разделением данных на данные обучения и тестирования (разделение 75/25 или 67/33), если мы сравниваем производительность нескольких моделей, созданных из одного и того же данных существует риск получения необъективных результатов, если все модели тестируются на одних и тех же «тестовых» данных. Здесь на сцену выходит Набор данных проверки. Общие данные разделены на три части: данные обучения (50%) : проверки (25%) : данные тестирования (25%). На этапе моделирования 75% данных разбиваются несколькими способами на данные обучения и проверки для создания и настройки нескольких моделей. На заключительном этапе все модели проверяются на одних и тех же тестовых данных.

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

Пожалуйста, не стесняйтесь оставлять отзывы.