НАЗВАНИЕ ПРОЕКТА
ОТХОД КЛИЕНТОВ VODAFONE
ЦЕЛЬ ПРОЕКТА
Целью этого проекта является обучение модели машинного обучения, которая будет прогнозировать, клиент будет отток нет.

Используемые технологии: Python (Jupyter Note Book)
Статус проекта: Завершен

СТРУКТУРА ДАННЫХ.
Описание столбцов и информация о полях данных
Пол — является ли клиент мужчиной или женщиной
SeniorCitizen — является ли клиент пожилым гражданином или нет
Партнер — есть ли у клиента партнер или нет (Да, Нет)
Иждивенцы — есть ли у клиента иждивенцы или нет (Да, Нет)
Срок владения — количество месяцев пребывания клиента с компанией
Телефонная служба — есть ли у клиента телефонная служба или нет (да, нет)
MultipleLines — есть ли у клиента несколько линий или нет
InternetService — интернет-провайдер клиента (DSL , оптоволокно, нет)
OnlineSecurity — есть ли у клиента онлайн-защита или нет (да, нет, нет Интернета)
OnlineBackup — есть ли у клиента онлайн-резервное копирование или нет (да, нет, нет интернета)
DeviceProtection — есть ли у клиента защита устройства или нет (да, нет, нет интернет-сервиса)
TechSupport — есть ли у клиента техническая поддержка или нет (да, нет, нет интернета)
StreamingTV — Есть ли у клиента потоковое телевидение или нет (Да, Нет, Нет Интернет-сервиса)
StreamingMovies — Есть ли у клиента потоковое видео или нет (Да, Нет, Нет Интернет-сервиса)
Контракт — Срок действия контракта клиента (ежемесячно, один год, два года)
PaperlessBilling — есть ли у клиента безбумажный биллинг или нет (да, нет)
метод оплаты — способ оплаты клиента (электронный чек, отправленный по почте чек, банковский перевод (автоматически), кредитная карта (автоматически))
MonthlyCharges — сумма, списанная с клиента ежемесячно
TotalCharges — общая сумма, списанная с клиента
Churn — является ли клиент сбит или нет (да или нет)

ЗАДАВАЕМЫЕ ВОПРОСЫ
1. Каково количество клиентов мужского и женского пола?
2. Каково соотношение мужчин и женщин, у которых есть иждивенцы.?
3 . Клиенты каких интернет-услуг уходят чаще всего?
4. Какой способ оплаты используется чаще всего?
5. Какой способ оплаты убывает чаще?
6. Какой тип выставления счетов (безбумажный/ бумаги) больше всего уходят?
7. Какой тип контракта убывает больше всего?

Выдвинута гипотеза
1. Постоянные клиенты уходят больше всего
2. Женщины чаще уходят, чем мужчины.
3. Клиенты с бумажными счетами чаще увольняйте больше.
4. Больше всего уходят клиенты, не имеющие службы технической поддержки.
5. Повышение оплаты приводит к оттоку клиентов.
6. Больше всего уходят владельцы ежемесячных контрактов.

ОБРАБОТКА ДАННЫХ
Для начала обработки данных были импортированы необходимые библиотеки, такие как numpy, pandas, matplotlip и другие библиотеки из sklearn. Затем был загружен файл данных.
Профилирование Pandas использовалось для получения основной информации о наборе данных, такой как описание каждого столбца, отсутствующие значения в каждом столбце, типы данных каждого столбца и базовая статистика каждого столбца. Профилирование Panadas — очень мощный инструмент, если вы хотите кратко получить основную информацию о своем наборе данных.
Некоторые значения в столбце срока владения были нулевыми, что указывало на то, что эти клиенты были очень новыми клиентами, и в этом отношении у компании было мало или нет информации о них. Также стало известно, что клиенты с нулевым сроком владения также относятся к ним в столбце общих расходов. Это еще раз подтвердило предположение о том, что информации об этих клиентах было мало. Общее количество этих клиентов составило 11, если посмотреть на весь набор данных, содержащий около 7000 записей, удаление всего 11 из них не сильно повлияет на данные. После удаления этих записей общий набор данных составил 7032. Тип данных столбца «Общие расходы» также был изменен с объекта на целое число.
Для просмотра корреляции между числовыми столбцами была сделана визуализация парного графика и корреляционной матрицы.

ОТВЕТЫ НА ЗАДАВАЕМЫЕ ВОПРОСЫ
Q1. Каково количество клиентов-мужчин и женщин?
Судя по набору данных, количество клиентов-мужчин немного превышает количество клиентов-женщин. В таблице ниже представлены цифры.
МУЖЧИНЫ 3549
ЖЕНЩИНЫ 3483

Q2.Каково соотношение мужчин и женщин, у которых есть иждивенцы?
В таблице ниже представлено количество иждивенцев в пересчете на мужчин и женщин

ПОЛ № ЗАВИСИМЫХ
МУЖЧИН НЕТ 2 460
ДА 1 023
ЖЕНЩИН НЕТ 2 473
ДА 1 076

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

Q3. Какой интернет-сервис имеет наибольшее количество клиентов?

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

Q4. Какой способ оплаты чаще всего используется клиентами?

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

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

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

Q6. У каких клиентов отток больше с точки зрения типа интернет-услуги?
Из диаграммы видно, что клиенты, использующие оптоволокно, уходят больше, чем клиенты, использующие DSL. У волоконной оптики больше всего клиентов, поэтому для компании нехорошо, если они также теряют больше всего, это означает, что компания теряет деньги и большую часть своих клиентов.

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

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

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

Q7. Каково количество клиентов с безбумажным выставлением счетов и без него?
С БЕЗБУМАЖНЫМ ВЫЧИСЛЕНИЕМ 3 549
БЕЗ БЕЗБУМАЖНОГО ВЫЧИСЛЕНИЯ 3 483

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

Q8. Какой тип контракта больше всего отменяется?

Из приведенной выше диаграммы видно, что большинство клиентов подписаны на ежемесячные контракты, что составляет 55% от всех клиентов, за ними следуют двухлетний контракт с 24% и однолетний контракт с 21%.

ОТВЕТ НА ГИПОТЕЗУ
1. Клиенты, которые долгое время работают в компании, больше всего уходят
Чтобы ответить на этот вопрос, строится гистограмма со столбцами «срок пребывания» и «отток». Это показывает, какой тип клиентов уходит больше всего, будь то новые или старые клиенты.

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

2. Женщины более склонны к оттоку, чем мужчины

Судя по диаграмме выше, отток женщин немного больше, чем мужчин.

3. Клиенты с бумажными счетами чаще уходят.
Чтобы получить ответ на эту гипотезу, безбумажный биллинг был объединен со столбцом оттока и отсортирован по значениям, чтобы получить количество клиентов, которые ушли с точки зрения бумажный и безбумажный биллинг.
БЕЗБУМАЖНЫЙ БИЛЛИНГ НЕТ. КЛИЕНТОВ
НЕТ НЕТ 2 395
ДА 469
ДА НЕТ 2 768
ДА 1 400

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

4. Клиенты без технической поддержки уходят больше всего.
Чтобы ответить на этот вопрос, построена гистограмма со столбцами «Техническая поддержка» и «Отток». Это показывает, какой тип клиентов уходит больше всего, независимо от того, есть ли у них техподдержка или нет.

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

5. Повышение расходов приводит к оттоку клиентов.
Чтобы ответить на этот вопрос, построена гистограмма со столбцами «Общие расходы» и «Отток». Это показывает, какой тип клиентов уходит больше всего, будь то клиенты с большей или меньшей оплатой.

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

6. Больше всего оттока клиентов из месяца в месяц
Чтобы ответить на этот вопрос, построена гистограмма со столбцами «Контракт» и «Отток». Это показывает, какой тип клиентов уходит больше всего, будь то клиенты с ежемесячным контрактом, контрактом на один год или контрактом на два года.

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

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

ПОДГОТОВКА НАБОРА ДАННЫХ ДЛЯ МОДЕЛИРОВАНИЯ
Чтобы подготовить данные для моделирования, столбец идентификатора клиента пришлось удалить, поскольку он не понадобится для процесса машинного обучения. Нечисловые столбцы также должны быть закодированы в числовые значения.

Кодирование меток
Кодировщик меток использовался для столбцов, содержащих только два значения, таких как пол, пенсионер, партнер, иждивенцы, телефонная связь и безбумажный биллинг. Это преобразует категориальные значения в нули и единицы.
OneHotEncoding
OneHotEncoding использовался для категориальных столбцов с более чем одним значением. Столбцы включают Multiplelines, InternetService, OnlineSecurity, OnlineBackup, DevicePretection, TechSupport, StreamingTV, StreamingMovies, Contract и Paymentmethod.

Масштабатор MinMax, который мы также использовали для масштабирования столбцов «Срок пребывания», «Ежемесячная оплата» и «Общая стоимость».

Разделение данных на данные для обучения и тестирования
Для моделирования машинного обучения набор данных необходимо разделить на набор данных для обучения и тестирования . Набор данных Train используется для обучения модели, а набор тестовых данных используется для тестирования модели.
Наш набор данных был разделен на 80 % для обучения и 20 % для теста.
Балансировка набора данных
Чтобы начать обучающие модели, набор должен быть сбалансированный. Поскольку количество ушедших клиентов намного меньше, чем количество клиентов, которые не ушли, мы должны сбалансировать данные, чтобы наши модели имитировали один и тот же шаблон во время тренировочного этапа моделирования.
Чтобы сбалансировать данные, Использовался метод SMOTE. Балансировка данных была выполнена только для набора данных поезда.

ОБУЧЕНИЕ МОДЕЛЕЙ
Случайный лес

Первой обучаемой моделью была модель случайного леса. Получились следующие оценки и матрица путаницы.
Модель. Точность. Точность. Вспомните F1 Score F2 Score
0. Случайный лес 0,780384 0,566085 0,627072 0,59502 0,591844

Матрица путаницы для случайного леса хорошо предсказала истинный положительный результат, то есть клиентов, которые действительно ушли. Он также довольно хорошо предсказал истинные недостатки, то есть клиентов, которые на самом деле не уходили. Из матрицы модель плохо справлялась с прогнозированием ложноотрицательных и ложноположительных результатов. Он предсказал большое количество ложноотрицательных и ложноположительных результатов, что не очень хорошо для прогноза.
Логистическая регрессия
Следующей моделью для обучения была логистическая регрессия. Также были получены следующие оценки и матрица путаницы.
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384, 0,566085, 0,627072, 0,595020, 0,591844
1 Логическая регрессия 0,761194, 0,523810, 0,790055, 0,629956, 0,717151

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

Наивная байесовская модель
Наивная байесовская модель также была обучена и получила следующие оценки и матрицу путаницы.
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,717151
2 Наивный байесовский анализ 0,682303 0,440393 0,867403 0,584186 0,726516

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

Модель Catboost
Модель Catboost также имела следующие оценки и матрицу путаницы.

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

Модель дерева решений
Оценки для моделей дерева решений следующие:
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,717151
2 Наивный Байес 0,682303 0,440393 0 0,867403 0,584186 0,726516
3 Cat Boost 0,777541 0,561097 0,621547 0,589777 0,608437
4 Дерево решений 0,725657 0,469849 0,516575 0,492105 0,506501

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

Усиление градиента
Ниже приведены оценки и матрица путаницы для повышения градиента.
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,717151
2 Наивный Байес 0,682303 0 0,777541 0,561097 0,621547 0,589777 0,608437
4 Дерево решений 0,725657 0,469849 0,516575 0,492105 0,506501
5 Повышение градиента 0,768301 0,546154 0,588398 0,566489 0,579434

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

НАСТРОЙКА ГИПЕРПАМЕТРА
Выполнение настройки гиперпараметра с помощью RandomSearch CV на модели случайного леса.
Настройка гиперпараметра заключается в поиске набора оптимальных значений гиперпараметра для обучения алгоритм при применении этого оптимизированного алгоритма к любому набору данных. Эта комбинация гиперпараметров максимизирует производительность модели, сводя к минимуму предопределенную функцию потерь для получения лучших результатов с меньшим количеством ошибок.

Существует несколько способов настройки гиперпараметров, метод, который будет использоваться здесь, — это CV случайного поиска.
После выполнения настройки гиперпараметра на модели случайного леса у нее были следующие оценки и матрица путаницы.
Модель Точность Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,71 7151
2 Наивный байесовский анализ 0,682303 0,440393 0,867403 0,584186 0,726516
3 Cat Boost 4. Дерево решений 46154 0,588398 0,566489 0,579434
6 Случайный лес (HP) 0,768301 0,537815 0,707182 0,610979 0,665281

Из результатов видно, что модель с идеальными гиперпараметрами показала себя немного лучше, чем первая обученная модель случайного леса. Показатели точности, отзыва, F1 и F2 улучшились, за исключением показателя точности.

Выполнение настройки гиперпараметров с помощью GridSearchCV на модели CatBoost.
Поиск по сетке — это своего рода метод настройки гиперпараметров «грубой силой». Мы создаем сетку возможных дискретных значений гиперпараметров, а затем подгоняем модель под каждую возможную комбинацию. Мы записываем производительность модели для каждого набора, а затем выбираем комбинацию, обеспечивающую наилучшую производительность.
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,717151
2 Наивный Байес 0,682303 0,440393 0,867403 0,584186 0,726516
3 Cat Boost 0,777541 0,56 1097 0,621547 0,589777 0,608437
4 Дерево решений 0,725657 0,469849 0,516575 0,492105 0,506501
5 Повышение градиента 0,768301 0,546154 0,588398 0,566489 0,579434
6 Случайный лес (HP) 0,768301 0,537815 0,707182 0,610979 0,665281
7 Cat Boost (HP) 0,768301 0,540000 0,671 271 0,598522 0,640148

Из результатов видно, что модель с идеальными гиперпараметрами показала себя немного лучше, чем первая обученная модель случайного леса. Показатели точности, отзыва, F1 и F2 улучшились, за исключением показателя точности.

Выполнение настройки гиперпараметров с помощью GridSearchCV для модели дерева решений.
После выполнения настройки гиперпараметров для модели дерева решений оценки и матрица путаницы выглядят следующим образом.
Точность модели Точность отзыва Оценка F1 Оценка F2
0 Случайный лес 0,780384 0,566085 0,627072 0,595020 0,591844
1 Логическая регрессия 0,761194 0,523810 0,790055 0,629956 0,717151
2 Наивный Байес 0,6 82303 0,440393 0,867403 0,584186 0,726516
3 Cat Boost 0,777541 0,561097 0,621547 0,589777 0,608437
4 Дерево решений 0,725657 0,469849 0,516575 0,492105 0,506501
5 Повышение градиента 0,768301 0,546154 0,588398 0,566489 0,579434
6 Случайный лес (HP) 0,76 8301 0,537815 0,707182 0,610979 0,665281
7 Cat Boost (HP) 0,768301 0,540000 0,671271 0,598522 0,640148< br /> 8 Дерево решений (HP) 0,755508 0,520737 0,624309 0,567839 0,600425