Датасет содержит информацию о клиентах некоторого банка.
Целевая переменная (таргет) – SeriousDlqin2yrs
: клиент имел просрочку 90 и более дней
RevolvingUtilizationOfUnsecuredLines
: общий баланс средств (общий баланс по кредитным картам и личным кредитным линиям, за исключением недвижимости и долгов без рассрочки, таких как автокредиты, деленный на сумму кредитных лимитов)age
: возраст заемщикаNumberOfTime30-59DaysPastDueNotWorse
: сколько раз за последние 2 года наблюдалась просрочка 30-59 днейDebtRatio
: ежемесячные расходы (платеж по долгам, алиментам, расходы на проживания) деленные на месячный доходMonthlyIncome
: ежемесячный доходNumberOfOpenCreditLinesAndLoans
: количество открытых кредитов (напрмер, автокредит или ипотека) и кредитных картNumberOfTimes90DaysLate
: сколько раз наблюдалась просрочка (90 и более дней)NumberRealEstateLoansOrLines
: количество кредиов (в том числе под залог жилья)RealEstateLoansOrLines
: закодированное количество кредиов (в том числе под залог жилья) - чем больше код буквы, тем больше кредитовNumberOfTime60-89DaysPastDueNotWorse
: сколько раз за последние 2 года заемщик задержал платеж на 60-89 днейNumberOfDependents
: количество иждивенцев на попечении (супруги, дети и др)GroupAge
: закодированная возрастная группа - чем больше код, тем больше возраст
├── README.md
├── data
│ ├── credit_scoring.csv <- Original data
│ └── preprocessed_data.csv <- Preprocessed data
│
├── app <- Streamlit App.
│
├── models <- Saved models.
│
├── pics <- pictures
│
├── EDA_credit_scoring.ipynb
├── test-models.ipynb
├── preprocessing.py
│
└── requirements.txt <- The requirements file for reproducing the analysis environment, e.g.
generated with `pip freeze > requirements.txt`
$ python -m venv venv
$ source venv/bin/activate
$ pip install -r requirements.txt
$ streamlit run app.py
В качестве основной модели использовался XGBClassifier. Для подбора гиперпараметров использовалась Баессовская оптимизация (библиотека hyperopt). Для балансировки классов использовалась процедура "upsampling".
Целевая метрика: ROC-AUC.
Подробная визуализация представлена в файле: EDA_credit_scoring.ipynb
Для предобработки данных можно запустить скрипт preprocessing.py
. Очищенные данные сохраняются в data/preprocessed_data.csv
- Добавить возможность выбора модели
- Добавить визуализацию из EDA в steamlit app