~~ Устранение несбалансированного набора данных ~~

Ссылка GitHub для записной книжки: https://github.com/praveenjoshi01/cork-institute-of-technology-Practical-Machine-Learning/blob/master/TelecomCustomerAttritionPrediction/Telecom%20Customer%20Attrition%20Prediction. .ipynb
DataSet: https://www.kaggle.com/blastchar/telco-customer-churn
Работа основана на ядре: https://www.kaggle.com/pavanraj159/telecom-customer-churn-prediction

Аннотация

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

  1. Введение

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

Отток определяется как склонность клиента прекратить вести дела с организацией и впоследствии перейти в другую компанию в определенный период [1]. В телекоммуникационной отрасли сокращение количества клиентов становится серьезной проблемой. Поддержание общей прибыльности в течение длительного времени требует, чтобы текущие клиенты всегда были с организацией; следовательно, необходимо удерживать клиентов; Следовательно, становится важным заранее знать, как меняют клиентов. Потеря клиентов не только ведет к потере доходов, но и привлечение новых клиентов также требует значительных инвестиций, что еще больше влияет на доход организации.

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

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

Здесь, на рисунке 1, черным цветом обозначен лояльный клиент, а серым - оттоком.

2. Исследование

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

Для набора данных несбалансированного класса есть три основных способа обработки, а именно:

1. Соответствующая матрица ошибок

2. Подход на уровне данных - стратегии повторной выборки

3. Методы алгоритмического ансамбля.

2.1 Соответствующая матрица ошибок

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

2.1.1 Единичные показатели оценки

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

Точность = (TP + TN) / (PC + NC); Коэффициент ошибок = 1 - точность [2]

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

Вместо точности другие часто используемые метрики оценки для обеспечения всесторонней оценки несбалансированных проблем обучения: G-среднее, точность, F-мера и вспомнить.

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

Точность = (TP) / (TP + FP) [3]

Отзыв - это мера полноты, которая соответствует правильным положительным предсказаниям по сравнению с фактическими положительными ярлыками.

Напомним = (TP) / (TP + FN) [4]

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

F-Measure = ((1-beta) 2 / beta2) / ((Отзыв * Точность) / Отзыв + Точность)) [5]

Где бета - это коэффициент для регулировки относительной важности точности по сравнению с отзывом (обычно бета = 1)

Показатель G-Mean - это отношение положительной точности к отрицательной точности, которое измеряет степень индуктивного смещения.

G-среднее = √ ((TP) / (TP + FN)) * ((TN) / (TN + FP)) [6]

2.1.2 Кривые рабочих характеристик приемника (ROC)

Чтобы сравнить производительность в диапазоне распределения выборки для разных классификаторов, можно использовать метод оценки ROC. ROC дает соотношение двух показателей оценки, а именно, процент ложноположительных и истинно положительных результатов, которые описаны ниже:

TP_rate = TP / положительный класс; FP_rate = FP / отрицательный класс [7]

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

2.2 Подход на уровне данных - стратегии повторной выборки

Как правило, в приложениях с несбалансированным обучением широко используются методы выборки, чтобы можно было сбалансировать распределение классов меньшинств. Предыдущие исследования показали, что сбалансированный набор данных улучшает общие характеристики классификации нескольких базовых классификаторов [8].

2.2.1 Передискретизация

Передискретизация дает возможность генерировать новые выборки в недостаточно представленных классах. Передискретизация создает новые точки данных для классов меньшинств с помощью нескольких методов. Некоторые методы передискретизации теоретически описаны ниже:

2.2.1.1 Случайная передискретизация

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

2.2.1.2 SMOTE

В SMOTE мы случайным образом выбираем точку из класса меньшинства, затем вычисляем k-ближайших соседей для этой точки и, наконец, добавляем k новых точек между выбранной точкой и ее соответствующими соседями.

2.2.1.3 ADASYN

В ADASYN мы выбираем точку в классе меньшинства итеративно случайным образом, затем вычисляем k-ближайших соседей для этой точки и, наконец, добавляем k новых точек после добавления к ним небольших случайных значений, расположенных между родительской точкой и ближайшими соседями. .

2.2.2 Недостаточная выборка

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

2.2.2.1 Случайная недостаточная выборка

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

2.2.2.2 Центроиды кластера

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

2.2.2.3 Ссылки Томека

Tomek Links работает над концепцией поиска ссылок Tomek и удаления точки данных из большинства для двух образцов разного класса q и w, для ссылки Tomek не должно быть таких точка как z, которую можно определить как:

d (q, w) < d (q, z) or d (w, z) < d (q, w)

где d (.) представляет собой расстояние между двумя образцами.

2.2.3 Сочетание избыточной и недостаточной выборки

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

2.2.3.1 SMOTETomek

В SMOTETomek SMOTE используется для создания новых выборок классов меньшинств, а очистка пространства выполняется методом недостаточной выборки. В SMOTETomek канал Tomek был добавлен в конвейер после применения SMOTE.

2.2.3.2 SMOTEENN

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

2.3 Алгоритмический подход

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

2.3.1 Обучение с учетом затрат

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

Оценка = (9 * ложно-ve + 1 * ложно + ve) / 6

Более того, различные эмпирические исследования показали, что для некоторых прикладных областей обучение с учетом затрат работает лучше по сравнению с методами выборки [9].

2.3.2 Выбор алгоритма

Алгоритмический выбор также очень помогает в построении лучшей модели. Было обнаружено, что методы ансамбля подходят для обработки данных о дисбалансе. Алгоритмическая реализация sklearn обеспечивает простой способ обработки несбалансированного набора данных путем установки параметра class_weight.

3 Методология

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

3.1 Обзор эксперимента

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

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

3.1.1 Манипулирование данными

В этом разделе представлена ​​информация о начальных манипуляциях с данными, выполняемых над набором данных для выполнения исследовательского анализа. Раздел 2 в блокноте Python фиксирует манипуляции, выполняемые с набором данных. Ниже приведен список выполненной предварительной обработки:

1. Замена пробелов нулевыми значениями в столбце общих сборов.

2. Удаление нулевых значений из столбца общих сборов, который содержит 0,15% отсутствующих данных.

3. Срок пребывания в категориальной колонке.

4. Разделение клиентов, у которых не было оттока.

5. Разделение категориальных и числовых столбцов.

3.1.2 Исследовательский анализ данных

В этом разделе представлена ​​информация о проведенном исследовательском анализе данных. Для получения более подробной информации следует обратиться к разделу 3 прилагаемой записной книжки Python. Перечень выполненных поисковых анализов данных:

1. Уменьшение количества клиентов в данных

2. Распределение переменных в убытке клиентов

3. Исчезновение клиентов в группах владения недвижимостью

4. Ежемесячные платежи и общие расходы по срокам владения и оттоку групп.

5. Средние расходы по группам владения и пользования

6. Ежемесячная плата, общая сумма и срок пребывания в должности в связи с уходом клиентов.

7. Сводка переменных

8. Корреляционная матрица

9. Визуализация данных с основными компонентами

10. Распределение двоичных переменных в убытке клиентов (радарная диаграмма)

3.1.3 Предварительная обработка данных

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

1. Имитация столбцов с несколькими категориальными характеристиками

2. Кодирование меток для двоичных столбцов.

3. Масштабирование числовых столбцов

3.1.4 Построение модели

В этом разделе представлена ​​информация о различных моделях, созданных для оценки методов выборки, и различных моделях машинного обучения, позволяющих использовать наиболее эффективные методы выборки. Раздел 5 в блокноте Python описывает модель, разработанную на основе набора данных.

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

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

1. Методы передискретизации:

1.1 RandomOverSampler

1.2 SMOTE

1.3 АДАСИН

2. Методы отбора проб:

2.1 RandomUnderSampler

2.2 Ссылки Tomek

2.3 ClusterCentroids

3. Комбинация избыточной и недостаточной выборки:

3.1 SMOTEomek

3.2 СМОТЕНН

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

1. Классификатор XGBoost

2. Классификатор ЛГБМ.

3. SVM-классификатор RBF

4. Линейный классификатор SVM.

5. Наивный Байес

6. Классификатор случайных лесов

7. Классификатор KNN.

8. Дерево решений

3.1.5 Представления моделей

В этом разделе представлена ​​информация о производительности методов выборки, а также о различных моделях машинного обучения. Раздел 6 записной книжки Python отражает сравнение методов друг с другом.

Ниже приведен список выступлений, снятых и представленных в следующем разделе статьи:

1. Выбор метода отбора проб

2. Сравнение показателей выборки.

3. Метрики производительности модели.

4. Сравните показатели модели.

5. Матрицы неточностей для моделей

6. ROC-кривые для моделей.

7. Кривые прецизионного отзыва

4 Оценка

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

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

4.1 Оценка методов отбора проб

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

Таблица, в которой сравниваются различные методы выборки с классификатором логистической регрессии, представлена ​​ниже:

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

4.2 Оценка моделей машинного обучения

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

Таблица, в которой сравниваются различные модели машинного обучения после применения метода недостаточной выборки, представлена ​​ниже:

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

5 Заключение

Для несбалансированного набора данных нет прямого решения для улучшения ROC классификатора машинного обучения. Чтобы выяснить, какой метод выборки лучше всего подойдет для имеющихся данных, нужно попробовать несколько методов. Кроме того, необходимо провести исчерпывающую оценку разных моделей машинного обучения с использованием различных методов выборки. Для оценки моделей f1 score и ROC, кривая метрика оказалась лучшей метрикой. В этой статье не оценивались алгоритмические подходы, которые могут быть применены в рамках этого исследования.

Ссылки

1. Бхамбри, Вивек. «Интеллектуальный анализ данных как инструмент для прогнозирования поведения клиентов в отношении оттока». Международный журнал исследований в области управления (2013): 59–69.

2. N.V. Chawla, K.W. Bowyer, L.O. Холл и В. Кегельмейер, «SMOTE: метод передискретизации синтетического меньшинства», J. Исследования искусственного интеллекта, т. 16. С. 321–357, 2002.

3. Х. Гуо и Х.Л. Виктор, «Обучение на основе несбалансированных наборов данных с ускорением и генерацией данных: подход DataBoost IM», Информационный бюллетень ACM SIGKDD Explorations, вып. 6, вып. 1. С. 30–39, 2004.

4. К. Вудс, К. Досс, К. Бойер, Дж. Солка, К. Прибе и В. Кегельмейер, «Сравнительная оценка методов распознавания образов для обнаружения микрокальцификатов в маммографии», Int'l J. Распознавание образов и Искусственный интеллект, т. 7, вып. 6. С. 1417–1436, 1993.

5. Р. Б. Рао, С. Кришнан, Р.С. Никулеску, «Интеллектуальный анализ данных для улучшения кардиологической помощи», Информационный бюллетень ACM SIGKDD Explorations, вып. 8, вып. 1. С. 3–10, 2006.

6. П.К. Чан, В. Фан, А.Л. Продромидис, С.Дж. Столфо, «Распределенный интеллектуальный анализ данных при обнаружении мошенничества с кредитными картами», IEEE Intelligent Systems, vol. 14, вып. 6, стр. 67–74, ноябрь / декабрь. 1999 г.

7. П. Клифтон, А. Дамминда и Л. Винсент, «Отчет меньшинства в обнаружении мошенничества: классификация искаженных данных», Информационный бюллетень ACM SIGKDD Explorations, т. 6, вып. 1. С. 50–59, 2004.

8. Г.М. Вайс и Ф. Провост, «Влияние распределения классов на обучение классификатора: эмпирическое исследование», Технический отчет MLTR-43, Департамент компьютерных наук, Университет Рутгерса, 2001.

9. X.Y. Лю и З.Х. Чжоу, «Обучение чувствительных к стоимости нейронных сетей с методами решения проблемы дисбаланса классов», IEEE Trans. Knowledge and Data Eng., Vol. 18, нет. 1. С. 63–77, январь 2006 г.