Прогнозирование оттока пользователей с помощью RandomForestClassifier в Sci-kit Learn

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

Чтобы показать, как это сделать, я сделал пример, предсказывающий отток клиентов для банка. Для начала откройте редактор Python и импортируйте следующие пакеты:

Затем загрузите набор данных с открытым исходным кодом из Kaggle: [Bank Customers]
После того, как вы загрузите данные, мы можем начать с импорта и понимания того, с чем мы работаем:

Здесь мы хотим предсказать, имеет ли столбец [‘Exited’] значение True/False для оттока.

Итак, как мы поступаем, мы загружаем модель функциями, которые мы хотим, чтобы она учитывала, чтобы она могла предсказать зависимую/y-переменную. Поскольку столбцы «Пол» и «География» являются строками, мы разделим их на категории, чтобы преобразовать в целые числа.

Затем мы хотим указать переменную «X», которая будет содержать все наши функции, и переменную «Y», которая будет содержать нашу переменную-предиктор. Затем мы разделим данные на наборы данных для обучения и тестирования.

Далее мы создадим классификатор Гаусса и передадим наши данные для обучения и тестирования.

Теперь мы проверим точность нашей модели, как часто классификатор верен?

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

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

Итак, давайте повторим наш анализ и отбросим ненужные функции:

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

Улучшилась ли точность наших моделей? Если нет, вы можете обогатить свой набор данных или попробовать поиграть с другими алгоритмами.

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