***Меня зовут Мохамед Собхи, и я учусь на факультете навигационных наук и космических технологий**** Классификация с помощью набора данных банка OpenML. *************Пакет: scikit-learn ********************** ********** *******Алгоритм: модель дерева решений ******************* *******************Набор данных : банковский набор данных по оттоку******************** ***Выбор модели: с использованием перекрестной проверки поиска по сетке (GSCV)****
Набор данных
Я использую набор данных от Kaggle.
Каггл ссылка.
код в GitHub.
https://github.com/Mohamed7u3/Bank-Customer-Churn
Постановка задачи.
Как мы знаем, гораздо дороже войти в новый клиент, чем сохранить существующий.
Банкам выгодно знать, что приводит клиента к решению покинуть компанию.
Предотвращение оттока позволяет компаниям разрабатывать программы лояльности и кампании по удержанию, чтобы удержать как можно больше клиентов.
Решение разделено на следующие разделы:
- Понимание и исследование данных.
- Очистка данных.
- Подготовка данных.
- Модель здания.
- Оцените модель.
Понимание и исследование данных.
Во-первых,
Я хочу импортировать библиотеки
После этого я читаю данные с помощью библиотеки pandas.
Сначала мы рассмотрим данные. Давайте посмотрим, какие столбцы у нас есть в данных и их типы данных, а также информацию об отсутствующих значениях.
Сводка данных: 205 строк, 26 столбцов, пустых значений нет.
RowNumber — соответствует номеру записи (строки) и не влияет на вывод.
CustomerId — содержит случайные значения и не влияет на уход клиента из банка.
Фамилия — фамилия клиента не влияет на его решение покинуть банк.
CreditScore — может повлиять на отток клиентов, поскольку клиент с более высоким кредитным рейтингом с меньшей вероятностью покинет банк.
География — местонахождение клиента может повлиять на его решение покинуть банк.
Пол — интересно узнать, влияет ли пол на уход клиента из банка.
Возраст — это, безусловно, имеет значение, так как пожилые клиенты реже покидают свой банк, чем молодые.
Срок пребывания в должности — количество лет, в течение которых клиент является клиентом банка. Обычно пожилые клиенты более лояльны и с меньшей вероятностью покинут банк.
Баланс — также очень хороший показатель оттока клиентов, так как люди с более высоким остатком на счете с меньшей вероятностью покинут банк по сравнению с теми, у кого он меньше.
NumOfProducts — относится к количеству продуктов, которые клиент приобрел через банк.
HasCrCard — указывает, есть ли у клиента кредитная карта. Этот столбец также актуален, так как люди с кредитной картой реже покидают банк.
IsActiveMember — активные клиенты с меньшей вероятностью покинут банк.
Расчетная зарплата. Как и в случае с балансом, люди с более низкой зарплатой с большей вероятностью уйдут из банка по сравнению с теми, у кого зарплата выше.
Вышел — независимо от того, покинул ли клиент банк.
Исследуйте, есть ли у нас недостающее значение.
у нас нет пропущенных значений
Данные графика
через корреляцию тепловой карты
мы отмечаем, что корреляция целевой переменной «Exited» с независимыми переменными:
удалить столбец rownumber , customerid и фамилия.
Подготовка данных.
Разделить данные на x, y
Проверка распределения категорийных данных.
Создание фиктивных переменных для категориальных переменных.
Разделить данные на поезд, протестировать.
Модель здания.
Построение перекрестной проверки.
Оцените модель.
Полученные результаты.
у нас хорошая точность (87%).