Я применил 5 алгоритмов машинного обучения: XGBoost, машины опорных векторов (SVM), K-ближайший сосед (K-NN), случайный лес, дерево решений, чтобы предсказать статус кредита ивыяснить важные функции на основе информации о клиентах и ​​демографических данных с помощью R-программирования.

Я оценивал модели, вычисляя матрицу точности и путаницы для каждой модели.

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

1. История:

«Dream Housing Finance» — это компания, которая предоставляет ипотечные кредиты клиентам во всех районах, от городских до сельских. Чтобы определить, имеет ли клиент право на получение кредита, компания оценивает форму заявки клиента, которая включает такие данные, как пол, семейное положение, образование, количество иждивенцев, доход, сумма кредита, кредитная история и другие. Текущий процесс получения кредита выполняется вручную, что требует много времени и может быть подвержено ошибкам.

‹Цель проекта📊›

Цель этого проекта — автоматизировать процесс получения кредита для Dream Housing Finance путем создания модели машинного обучения, которая может прогнозировать право на получение кредита в режиме реального времени на основе информации, предоставленной клиентом в онлайн-форме заявки. Автоматизируя этот процесс, компания может сэкономить время и ресурсы, уменьшить количество ошибок и более эффективно ориентироваться на подходящих клиентов.

2. Понимание данных:

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

💬 «Прежде чем углубиться в данные, я могу предположить, что «Самостоятельная занятость», «Доход», «Кредитная_история» могут быть ключевыми факторами при определении одобрения кредита, основываясь на моем опыте работы. В реальной жизни кредитный рейтинг является наиболее важной характеристикой в ​​процессе определения кредита. Статус занятости заявителя является второй по важности характеристикой, поскольку он показывает вероятность того, что он будет постоянно выплачивать проценты в каждый платежный день».

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

3. Исследование данных (EDA):

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

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

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

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

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

5. Работающие не по найму: количество заявителей, не занимающихся самозанятостью, выше, чем заявителей, работающих не по найму. Категория самозанятых распределена более или менее равномерно и, похоже, не оказывает существенного влияния на статус кредита. 💬Я думал, что эта переменная может существенно повлиять на одобрение кредита! Так что посмотрим :-)

6. Сумма кредита: кредит 100K является наиболее частым. Суммы менее 50 000 имеют высокий уровень одобрения, и большие суммы более 400 000 также имеют высокий уровень одобрения.

7. Срок кредита: это ипотечный кредит дома, поэтому продолжительность выглядит довольно долго и регулярно. 180 месяцев (15 лет) и 360 месяцев (30 лет) являются общими.

8. Сумма кредита на срок: я рассчитываю сумму кредита на срок, сумма кредита / срок кредита). Существует такая значительная разница, но большая часть суммы кредита на срок составляет от 0,5 до 1,5.

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

10. Доход заявителя: более высокий доход не означает более высокую вероятность одобрения заявки на кредит.

11. Площадь собственности: Он имеет сбалансированное распределение между городской, сельской и полугородской собственностью.

12. Loan_Status: количество людей, одобренных при подаче заявки на кредит, в два раза превышает количество людей, которым было отказано.

13. Давайте проверим корреляцию между переменными: существует положительная корреляция между суммой кредита и доходом заявителя. Также существует отрицательная корреляция между состоящими в браке и иждивенцами.

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

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

‹Что я сделал🧾›

  1. Преобразование данных в фактор и скрытый фактор в числовой снова.

2. Удалите столбец идентификатора загрузки

3. Удалите выбросы: сумма кредита более 600 и менее 25, доход заявителя более 50 000, срок суммы кредита менее 70.

3. Вменение пропущенных значений (NA)

4. Создайте новый столбец:

  • Доход заявителя: доход заявителя + доход созаявителя

5. Разделение набора данных на обучающие и тестовые наборы. Набор данных будет разделен на 80 % обучающих и 20 % тестовых, чтобы избежать переобучения.

5. Моделирование:

1) XGBoost

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

  • Переменная важность: общая кредитная история 100 , сумма кредита 22, доход заявителя 20.

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

‹Матрица путаницы и точность›

2) Дерево решений

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

Я визуализировал дерево решений с 8 листовыми узлами. Из приведенной выше древовидной визуализации легко заметить, что правило «Кредитная_история ‹0,69 (кредитная история N0)», «Доход заявителя ‹ 2382», «Сумма кредита ≥ 213» вносит свой вклад в получение кредита_статус = 0 (неодобрение).

  • Переменная важность: кредитная история 70%, доход заявителя 12%, площадь собственности 8%, сумма кредита 6%.

Мы можем проверить кредитную историю и внести существенный вклад в одобрение кредита. Также Заявитель Доход способствует утверждению кредита.

‹Матрица путаницы и точность›

3) Случайный лес

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

  • Переменная важность (среднее снижение Джини): кредитная история 56,3, доход заявителя 33,3, сумма кредита 28,99.

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

‹Матрица путаницы и точность›

4) K_ближайший сосед (K-NN)

K-ближайшие соседи (K-NN) — это простой, но эффективный алгоритм, используемый для задач классификации и регрессии. В этом случае прогнозирования одобрения или отклонения ссуды K-NN может использоваться для прогнозирования вероятности одобрения ссуды на основе характеристик аналогичных прошлых заявок на ссуду. Алгоритм работает, находя k-ближайшие точки данных в обучающих данных и классифицируя новые данные на основе мажоритарного класса этих k-ближайших соседей. Оптимальное значение k обычно находится путем перекрестной проверки.

‹Матрица путаницы и точность›

5) Машина опорных векторов (SVM)

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

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

‹Матрица путаницы и точность›

6. Выбор модели и оценка:

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

На основе сравнения пяти моделей можно сделать вывод, что модель случайного леса и модель дерева решений имеют несколько более высокую точность по сравнению с SVM и XGBoost. Точность K-NN ниже по сравнению с другими моделями.

Это может быть связано с трудностью K-NN при обработке несбалансированных наборов данных, когда один класс имеет значительно меньше экземпляров, чем другой. В этом случае, поскольку большая часть набора данных credit_status имеет значение «да», может возникнуть дисбаланс, что приведет к более низкой точности для класса меньшинства.

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

Я уверен, что точность всех моделей может быть улучшена при наличии достаточного количества обучающих данных. В качестве альтернативы я мог бы использовать перекрестную проверку K-fold в своем следующем проекте. Пожалуйста, следите за обновлениями!»👀

Заключение и вывод:

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

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

В целом, это был полезный опыт, и я с нетерпением жду новых путешествий по анализу данных! 👋