Вопрос или проблема
Я обучаю бинарный классификатор на наборе данных, используя AUC в качестве метрики. В наборе данных есть две основные группы (мы назовем их хорошей и плохой популяцией). Одна из характеристик этого набора данных заключается в том, что в плохой популяции большее соотношение целевого значения = 1.
По этой причине относительно простая модель классификатора будет давать более высокие оценки плохой популяции и более низкие оценки хорошей популяции. На самом деле, AUC классификатора может быть довольно высоким в целом, но при рассмотрении AUC в каждой из популяций отдельно AUC может оказаться очень низким в обеих группах.
Я хочу избежать такого поведения. На самом деле, я готов пожертвовать некоторым AUC в глобальной популяции для того, чтобы AUC в каждой группе не был очень низким. Идея, которая у меня возникла, заключалась в том, чтобы использовать гармоническое среднее AUC обеих групп в качестве метрики вместо общего AUC. Однако это может не помочь классификатору естественным образом.
Существуют ли какие-либо статьи/техники/программное обеспечение, которые могут помочь мне решить эту проблему более естественным образом?
Учитывая, что в ваших данных существует корреляция между типом популяции (хорошая против плохой) и целевым значением, ваша модель может обучаться нежелательным ассоциациям между ними. Следовательно, тип популяции является смешивающим фактором.
Естественным инструментом для работы с ситуациями с смешивающими переменными является каузальноеInference. Вы можете найти обзор каузального вывода в работах Джудеи Пирла, как в этой статье, так и в его книге. Более краткое введение в каузальноеInference можно найти в блоге Ференца Хушара, включая запись для контроля смешивающих переменных.
Существует несколько пакетов для Python, предоставляющих функциональность каузального вывода, таких как dowhy от Microsoft или Causalinference.
Ответ или решение
Обоснование необходимости учета сегментов при моделировании бинарного классификатора
Когда речь идет о тренировке бинарного классификатора с использованием AUC (площадь под кривой ROC), крайне важно учитывать особенности распределения классов в вашем наборе данных. В вашем случае, наличие двух ключевых групп — "хорошее" и "плохое" население, — создает риск того, что модель может обучиться нежелательным ассоциациям, что вызвано высокой долей целевой переменной (target = 1) в "плохом" населении.
Проблема
Стандартные метрики, такие как AUC, при недостаточной стратификации могут привести к ситуации, когда даже простая классификация (даже случайное угадывание) показывает высокие оценки для общего населения, в то время как AUC для каждой группы остается низким. Это создает ложное чувство эффективности модели и может привести к неправильным выводам и решениям.
Решение проблемы через гармоническое среднее AUC
Один из подходов к решению данной проблемы — использование гармонического среднего AUC для обеих групп. Однако следует помнить, что этот метод может не всегда естественно улучшить качество классификации по обеим группам. Он, по сути, стремится симметризировать результаты, но не обязательно учитывает общие зависимости или особенности данных.
Применение причинно-следственного анализа
С целью более глубокого понимания влияния конфаундов и корреляций, следует рассмотреть внедрение методов причинно-следственного анализа (Causal Inference). Эти методы способны помочь вам в установлении более точных взаимосвязей между переменными, что в конечном итоге может улучшить обучение модели и повысить ее предсказательную силу.
Ресурсы для изучения причинно-следственного анализа
-
Работы Джуды Пирла: Его труд по причинному выводе предоставляет всесторонний обзор концепций, которые помогут углубить ваше понимание взаимодействий между переменными. Рекомендуются:
-
Блог Ференца Хузара: Предоставляет сжатое введение в причинно-следственный анализ и охватывает аспекты контроля конфаундов. Обратите внимание на такие публикации, как блог о причинах и пост о контроле конфаундоров.
-
Python-пакеты:
- DoWhy от Microsoft: Обеспечивает инструменты для анализа причинности и визуализации графов причинности.
- Causalinference: Инструмент для оценки влияния переменных и моделирования.
Заключение
Для достижения более сбалансированной и надежной оценки производительности вашего бинарного классификатора в условиях наличия сегментов и конфаундов, необходимо рассмотреть альтернативные подходы к измерению метрик, такие как гармоническое среднее AUC и причинно-следственный анализ. Это не только повысит точность классификаторов, но и будет способствовать более глубокому пониманию динамики данных в ваших моделях.
Обязательно примените на практике предложенные ресурсы и инструменты, чтобы эффективно решить возникшую задачу по улучшению качества классификации.