LoanLens – пет‑проект, который оценивает вероятность того, что заемщик столкнется с финансовыми трудностями в ближайшие 2 года (Target = 1 / 0).
Это может помочь банку/финтех‑компании принимать решение о выдаче кредита.
Проект включает:
- аналитику и подготовку данных в ноутбуках (
project.ipynb,analytics/eda.ipynb,feature/feature_engeneering.py); - обучение модели в папке
model - Streamlit‑приложение
app.pyдля интерактивного скоринга.
Модель обучалась на следующих базовых признаках (для одного заемщика / строки CSV):
- Age – возраст;
- FamilySize – размер семьи;
- PastDueLess_60 – количество просрочек до 60 дней;
- PastDue60_90 – количество просрочек 60–90 дней;
- PastDue90_More – количество просрочек более 90 дней;
- DebtRatio – отношение долга к доходу;
- MonthlyIncome – месячный доход;
- TotalBalanceDivideCreditLimits – отношение суммарного баланса к кредитным лимитам;
- OpenLoans – количество открытых кредитов;
- RealEstateLoans – количество кредитов на недвижимость.
Target (0/1) – целевая переменная, в боевых входных данных её не нужно передавать.
Файл app.py предоставляет два режима работы:
- Один клиент – ручной ввод параметров одного заемщика и получение вероятности дефолта;
- CSV с клиентами – загрузка CSV‑файла и скоринг сразу по всему набору.
Ожидаемый заголовок CSV (без Target):
Age,FamilySize,PastDueLess_60,PastDue60_90,PastDue90_More,DebtRatio,MonthlyIncome,TotalBalanceDivideCreditLimits,OpenLoans,RealEstateLoans
Результирующий файл можно скачать обратно с добавленными столбцами:
Default_Proba– вероятность того, что Target = 1;Target_Pred– бинарный прогноз модели.
Ожидается, что обученная модель сохранена в файл:
model/model.pkl
После этого app.py автоматически загрузит модель при старте.
git clone https://github.com/NoTimur/LoanLens.gitpip install -r requirements.txtstreamlit run app.pyПосле запуска в консоли появится ссылка вида http://localhost:8501, по которой откроется веб‑интерфейс LoanLens.