Разработка программного обеспечения для автоматического кредитного скоринга на основе машинного обучения
Создание программного обеспечения для автоматизации кредитоспособности лица, на основе модели полученной при машинном обучении. Анализ автоматической оценки надежности клиента и увеличение эффективности работы банка в области кредитования населения.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | статья |
Язык | русский |
Дата добавления | 10.08.2018 |
Размер файла | 41,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Национальный исследовательский университет «Высшая школа экономики»
РАЗРАБОТКА ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ АВТОМАТИЧЕСКОГО КРЕДИТНОГО СКОРИНГА НА ОСНОВЕ МАШИННОГО ОБУЧЕНИЯ
Котенев Даниил Дмитриевич
В качестве объекта для машинного обучения выступают данные о заемщике, которые представлены в виде csv файла с двадцатью полями. Выходным параметром модели будет являться вероятность дефолта, то есть решение по кредиту. О клиенте доступная следующая основная информация:
· Возраст - целочисленный признак;
· Работа - категориальный признак: административная, рабочий класс, организатор, домохозяйка, менеджер, на пенсии, самозанятый, обслуживание, студент, технический работник, безработный, неизвестно;
· Семейное положение - категориальный признак;
· Образование - категориальный признак: 4, 6 или 9 классов школы, среднее, средне-профессиональное, высшее, неизвестно;
Также есть такие признаки как есть ли у клиента непогашенный кредит, долг по оплате дома, непогашенный займ, тип связи который использовался для контакта с клиентом, месяц, день недели и длительность последнего сеанса связи. В файле с данными присутствуют и такие атрибуты как количество дней после последней связи с клиентом, количество сеансов связи с ним, успешность предыдущих маркетинговых кампаний, индекс занятости, индекс потребителя, индекс покупательской способности, европейская межбанковская ставка предложения и др.
Прежде чем обучать предсказательную модель необходимо провести преобработку данных. Как можно увидеть из их описания, в них довольно много категориальных признаков, а их нельзя использовать в прямом виде в модели машинного обучения. Для этого используется категоризация признаков. Она заключается в том, что категориальные признаки кодируются численными значениями, например, в one-hot кодировании признак разбивается на несколько в соответствии с количеством категорий, затем каждому из них присваивается 0 или 1 [1].
Подобный подход эффективен при небольшом количестве категорий у признака, иначе атрибутов становится слишком много и модель медленно обучается и получается слишком громоздкой. Таким образом наиболее эффективным способом предобработки данных будет следующее: признаки о работе, образовании, семейном положении, месяце и дне последней встречи с клиентом были отброшены в связи либо незначительным влиянием на результат кредитного скоринга, либо из-за излишней трудности обработки. Впоследствии некоторые из вышеперечисленных признаков были возвращены, но это лишь ухудшало точность модели, следовательно можно сделать вывод что признаки были отброшены верно. К оставшимся атрибутам было применено one-hot кодирование для их корректного использования при обучении предсказательной модели.
В качестве метода машинного обучения был выбран классификатор на основе градиентного бустинга [2]. Его алгоритм в общих чертах заключается в следующем: сначала происходит начальная инициализация параметров. Затем для каждой итерации рассчитывается градиент функции потерь в текущей точке и после этого задается итеративное приближение на основе рассчитанного градиента. Следующим шагом является обновление весов и параметров модели после приближения и переход к следующей итерации. После подбора таких гиперпараметров как количество алгоритмов для композиции и скорость обучения при помощи кросс-валидации было установлено, что оптимальными значениями для них являются 300 и 0.1 соответственно. После обучения предсказательной модели нужно оценить ее эффективность. Для этой цели была использована метрика AUC-ROC, которая равнозначно учитывает ошибки всех типов и часто применятся для оценки эффективности моделей кредитного скоринга [1]. Вместе с исходными данными для обучения есть тестовая выборка для проверки результатов построения модели. Выбранная метрика была рассчитана несколько раз с применением кросс-валидации и ее среднее значение получилось равное 94.7%. По результатам обучения модели был построен график уменьшения ее ошибки в зависимости от количества алгоритмов в композиции, который приведен на рисунке 1.
Рис. 1. График зависимости ошибки от количества алгоритмов в композиции
Из графика видно, что ошибка резко сокращается вначале, а затем линейно уменьшается. Может показаться, что 300 алгоритмов в композиции это мало и можно увеличить их количество, чтобы еще уменьшить ошибку. Однако стоит учитывать, что основным недостатком градиентного бустинга является склонность к переобучению, поэтому не стоит использовать слишком большую композицию алгоритмов, иначе при обучении точность будет очень высокая, но на новых данных модель будет крайне неэффективна. программный обеспечение автоматизация кредитование
Таким образом, при помощи алгоритмов машинного обучения была построена модель, которая оценивает надежность клиента в области розничного кредитования. Полученная точность в 94.7% является высоким показателем для моделей такого типа, более того модель устойчива к переобучению, что было проверено при тестировании при помощи другой выборки и кросс-валидации гиперпараметров.
Библиографический список
1. Воронцов К. В. Машинное обучение (курс лекций).
2. Friedman J. Greedy Function Approximation: A Gradient Boosting Machine. -- IMS 1999 Reitz Lecture.
Аннотация
В данной статье было разработано программное обеспечение для автоматической оценки кредитоспособности лица на основе модели полученной при машинном обучении. Разработанная система имеет точность в 94.7% на тестовой выборке, что является высоким показателем. Данная программа позволит автоматически оценивать надежность клиента, а, следовательно, увеличит эффективность работы банка в области кредитования населения.
Ключевые слова: Python, градиентный бустинг, интеллектуальный анализ данных, кредитный скоринг, машинное обучение, программирование, финансы
Размещено на Allbest.ru
Подобные документы
Запросы клиента по области возможных запросов к серверу. Программа для прогнозирования поведения надежности программного обеспечения на основе метода Монте-Карло. Влияние количества программ-клиентов на поведение программной системы клиент-сервера.
контрольная работа [705,3 K], добавлен 03.12.2010Простые системы для отслеживания заявок. Информационные потоки, возникающие на этапе поступления запроса для решения инцидента. Концептуальная и логическая модель данных. Разработка программного обеспечения по автоматизации процесса Службы Service Desk.
дипломная работа [2,6 M], добавлен 11.06.2017Разработка программного обеспечения, предназначенного для автоматизации деятельности туристической фирмы. Анализ и проектирование базы данных предметной области. Создание концептуальной, логической и физической моделей данных и программы их обработки.
курсовая работа [816,5 K], добавлен 05.02.2018Методы концептуального, логического и физического проектирования баз данных для автоматизации работы объекта. Обследование предметной области; тестирование и реализация информационного и программного обеспечения. Подготовка конструкторской документации.
курсовая работа [4,0 M], добавлен 16.05.2012Этапы разработки технического задания. Спецификация программного обеспечения при структурном подходе. Дерево диаграмм, базовые понятия сетевой модели данных. Разработка пользовательского интерфейса. Разработка сценария диалога на основе экранных форм.
курсовая работа [2,0 M], добавлен 24.06.2012- Разработка автоматизированной системы оценки кредитоспособности физических лиц (АС "CreditAnalysis")
Проектирование автоматизированной информационной системы по оценке кредитоспособности клиента Банка для принятия решения по выдаче кредита. Разработка интерфейса и алгоритма работы программы. Составление сметы затрат на создание программного изделия.
дипломная работа [2,3 M], добавлен 26.07.2014 Сравнительный анализ технологий тестирования. Разработка программного модуля "Интеллектуальная обучающая система для широкого перечня курсов". Обоснование необходимости и важности этапа отладки в процессе разработки данного программного обеспечения.
дипломная работа [101,2 K], добавлен 17.06.2011Совершенствование документационного обеспечения деятельности на основе автоматизации. Создание базы данных сотрудников ИП "Беспалова Е.В.". Разработка программного кода для обеспечения связи БД с web-страницей. Исследование форматов построения таблиц.
дипломная работа [1,1 M], добавлен 12.03.2013Возможности среды программирования delphi при разработке приложения с визуальным интерфейсом. Разработка спецификации программного обеспечения и на ее основе кода программного продукта. Отладка программы "трассировкой", ее тестирование и оптимизация.
курсовая работа [501,4 K], добавлен 07.12.2016Создание учебной информационной системы, реализующей бизнес-процессы предметной области: оборот денежных средств на предприятии по торговле металлопрокатом, участвующих в предоплатах и оплатах приложений к счетам. Разработка программного обеспечения.
курсовая работа [25,7 K], добавлен 27.06.2012