Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FinMatch — интеллектуальный кредитный помощник

FinMatch Logo

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


Функциональность

  • Многошаговая анкета — удобный сбор данных о пользователе (личные данные, финансы, параметры кредита).
  • AI‑предсказание — модель машинного обучения (Random Forest) оценивает кредитоспособность на основе более чем 50 факторов.
  • Детальный результат:
    • Скоринг от 0 до 1000
    • Уровень риска (низкий, средний, высокий)
    • Вероятность одобрения в %
    • Разбор влияющих факторов (доход, кредитная история, долговая нагрузка, стабильность)
    • Персонализированное объяснение от ИИ
  • Визуализация — прогресс‑бары, анимации, адаптивный дизайн.
  • Мгновенный ответ — результат формируется за секунды.

Технологии

  • Backend: FastAPI (Python 3.10+)
  • Frontend: HTML5, CSS3, JavaScript (чистый, без фреймворков)
  • ML: scikit-learn (Random Forest), joblib, pandas, numpy
  • Шаблонизация: Jinja2
  • Сервер: Uvicorn

Установка и запуск

1. Клонировать репозиторий

git clone https://github.com/one-of-all/FinMatch.git
cd FinMatch

2. Создать виртуальное окружение и активировать

python -m venv venv
source venv/bin/activate   # для Linux/Mac
venv\Scripts\activate      # для Windows

3. Установить зависимости

pip install --no-cache-dir --default-timeout=100 -r requirements.txt

4. Запустить сервер

python -m uvicorn app.main:app --reload

Приложение будет доступно по адресу: http://127.0.0.1:8000

Примечание: Модель credit_scoring_model.joblib уже обучена и включена в репозиторий. Если вы хотите переобучить модель на новых данных, запустите app/models/train_model.py (но это требует установки дополнительных библиотек, таких как matplotlib, seaborn, opencv-python и др., которые не включены в requirements.txt).


Как работает AI-модель

  1. Данные пользователя проходят предобработку (масштабирование числовых признаков, кодирование категориальных).
  2. Обученный Random Forest классификатор предсказывает один из трёх классов кредитного скоринга: High, Average, Low.
  3. На основе класса формируется итоговый отчёт с объяснениями и факторами.

Модель обучена на синтетическом датасете, сгенерированном с учётом реальных экономических закономерностей. Точность на тестовой выборке превышает 85%.


Структура проекта

finmatch/
├── app/
│   ├── main.py                 # Точка входа FastAPI
│   ├── templates.py            # Подключение Jinja2 (используется в main)
│   ├── routes/
│   │   ├── home.py             # Главная страница
│   │   └── predict.py          # Обработка формы и выдача результата
│   ├── models/
│   │   ├── train.py            # Скрипт обучения модели
│   │   ├── credit_model.py     # Загрузка модели и предсказание
│   │   └── credit_scoring_model.py # Обёртка для вызова модели
│   └── services/
│       └── agent_client.py     # (опционально) для внешнего API
├── static/
│   ├── css/
│   │   └── style.css
│   ├── js/
│   │   └── app.js
│   └── img/
│       └── finmatch.png
├── templates/
│   ├── index.html              # Главная страница с формой
│   └── result.html             # Страница с результатом
├── credit_scoring_model.joblib # Обученная модель и препроцессор
├── requirements.txt
└── README.md

API эндпоинты

Метод Путь Описание
GET / Главная страница
POST /predict Отправка данных формы, возвращает HTML с результатом
GET /health Проверка работоспособности

Планы по развитию

  • Добавить поддержку нескольких банковских скоринговых моделей.
  • Реализовать сохранение истории запросов пользователя.
  • Интеграция с реальными кредитными бюро (через API).
  • Улучшение интерфейса: графики, диаграммы.
  • Мобильное приложение на Flutter.

Лицензия

Проект распространяется под лицензией MIT. Подробности в файле LICENSE.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages