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

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

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

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

Давайте посмотрим на набор данных, чтобы проанализировать, какая информация содержится. Мы скачали набор данных по ссылке ниже.

https://www.kaggle.com/datasets/teertha/personal-loan-modeling?resource=download

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

– Изучите предоставленный набор данных полностью

– Внедрение дерева решений с несколькими переменными, логистической регрессии, моделей KNN (K-ближайших соседей) и GNB (гауссовский наивный байесовский метод) для большого и сложного набора данных

– Проанализируйте и оцените риск для бизнеса, связанный с последствиями, допущениями и решениями в нашей модели

Здесь мы можем увидеть набор данных. Он имеет данные 5000 клиентов и их данные о такой информации, как id — уникальный идентификатор, возраст, опыт — количество лет профессионального опыта, Доход — годовой доход клиента в долларах, Почтовый индекс — домашний адрес, Семья — размер семьи клиента, CCAvg — средние расходы по кредитным картам в месяц в $, Education — уровень образования клиента (1): неполный, (2): высший, (3): продвинутый/профессиональный, Ипотека — стоимость ипотечный кредит в долларах США, Потребительский кредит — принял ли клиент предложенный личный груз (1 = Да, 0 = Нет), Счет ценных бумаг — есть ли у клиента счет в ценных бумагах в банке? (1=Да, 0=Нет), CD Счет — есть ли у клиента депозитный сертификат в банке? (1=Да, 0=Нет), Онлайн — использует ли клиент услуги интернет-банкинга (1=Да, 0=Нет) и Кредитная карта — использует ли клиент кредитную карту, выпущенную Банком? (1=Да, 0=Нет). Данные первых 10 клиентов Банка представлены ниже:

Итак, давайте больше познакомимся с данным набором данных о существенных моментах. Мы можем использовать google colab или jupyter lab для работы над проектом. Мы использовали блокнот Jupyter, а также публично установили его в Google Colab. Итак, первое, с чего нужно начать, это скачивание библиотек, которые должны работать. Мы использовали библиотеку pandas для преобразования набора данных в фрейм данных в библиотеках Python, numpy, matplotlib и scikitlearn в нашем проекте.

Следующим шагом является загрузка набора данных и описание их с важными моментами:

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

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

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

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

- Процент возрастных категорий (мы знаем, что минимальный возраст – 23, а максимальный – 67, поэтому я разделил столбец возраста на 3 группы или категории): 23–35, 36–50 и 51–67;

– Сколько клиентов используют кредитную карту в каждой возрастной категории?

– Сколько клиентов в сети в каждой возрастной категории?

– У скольких клиентов есть личный кредит, а сколько нет во всем наборе данных?

Здесь демонстрация каждого вопроса:

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

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

На рисунке 9 мы разделили набор данных на функции (x), а столбец Personal Loan — в прогностические данные (y), и мы используем функцию train_test_split в библиотеке scikitlearn, чтобы разделить их на обучающие и тестовые наборы данных. В следующем состоянии мы отдаем 80% каждых данных x и y поезду, а 20% данных будут предоставлены для проверки данных в случайном состоянии, равном 42. После достижения успешно готовых к обучению и тестированию данных мы может использовать дерево решений, логистическую регрессию, алгоритмы KNN (K-ближайший сосед) и GNB (гауссовский наивный байесовский алгоритм) для достижения результата:

Итак, мы можем увидеть результат в каждой из моделей машинного обучения и перейти к следующему этапу. Таким образом, вы можете применить сравнение точности в каждой из моделей, и мы сможем определить, какая модель работает точно. На рисунке 10 мы проиллюстрировали модели, которые мы использовали, а на следующем рисунке мы показали результаты. Итак, как мы добились результата? как мы определили точность? Естественно, у нас будут такие вопросы. Мы использовали некоторые метрики для достижения результатов:

из sklearn.metrics импортировать точность_оценки, путаница_матрица, auc, roc_curve, точность_оценка, отзыв_оценка

В разделе библиотек мы использовали метрики scikitlearn, такие как точность_оценки, путаница_матрица, auc, roc_curve, точность_оценка, отзыв_оценка.

Оценка точности предназначена для определения оценки или процента точности, и мы можем видеть, какая модель работает с самой высокой точностью. Метрика матрицы путаницы используется для определения показателей каждой модели, таких как tpr, tnr, auc, полнота и точность. Это метод суммирования прогнозируемых результатов и фактических значений в виде матрицы для измерения производительности задачи классификации.

Мы можем взглянуть на меры. TPR — True Positive Rate, который дает долю правильных прогнозов среди прогнозов положительного класса. TNR — True Negative Rate, который представляет собой отношение истинно отрицательных прогнозов к общему количеству отрицательных. AUC — площадь под ROC (компромисс между чувствительностью (или TPR) и специфичностью (1 — FPR)) Кривая, которая обеспечивает совокупный показатель производительности по всем возможным порогам классификации. Отзыв — это показатель, который количественно определяет количество правильных положительных прогнозов, сделанных из всех положительных прогнозов, которые могли быть сделаны. Точность — качество положительного прогноза, сделанного моделью, и относится к количеству истинных срабатываний, деленному на общее количество положительных прогнозов. Все эти меры импортируются в библиотеку scikitlearn. Здесь показаны оценки точности и значения каждой меры моделей:

Мы можем заполнить таблицу сводной таблицы в следующей таблице 1:

Из рисунка 11 видно, что самая высокая точность достигается в модели дерева решений с точностью 98,7%. И показано, что самый низкий показатель точности определен в наивной байесовской модели с точностью 89,4%. Более того, мы проанализировали каждую модель машинного обучения с заданными показателями, и лично я подробно изучил спецификации показателей и алгоритмы моделей, а также то, как рассчитывается каждый показатель.

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

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