Проект "DepartureDynamics" разработан командой "Oaks Dungeon" с целью предоставления сервиса по анализу вероятности увольнения сотрудников на основе статистики электронных писем.
DepartureDynamics — это инновационный сервис, который использует машинное обучение и анализ электронных писем для предсказания вероятности увольнения сотрудников. Проект включает в себя парсинг электронных писем, обучение собственной модели на основе статистических данных и визуализацию результатов предсказаний.
-
Цели проекта:
- Анализ вероятности увольнения сотрудников.
- Парсинг электронных писем сотрудников для сбора статистических данных.
- Обучение собственной модели машинного обучения для предсказания вероятности увольнения.
- Визуализация результатов предсказаний модели.
-
Технологии и инструменты:
- Бэкенд (API): Реализован на FastAPI.
- Модель машинного обучения: Используется CatBoost.
- Фронтенд (веб-интерфейс): Разработан с использованием HTML, CSS и JS.
- Парсинг электронных писем: Реализован с использованием библиотек imap и email.
- База данных: Используется PostgreSQL с использованием библиотеки Ormar.
-
Склонируйте репозиторий:
git clone https://github.com/OaksDungeon/DepartureDynamics_LCT_Yakutia
-
Перейдите в директорию проекта:
cd DepartureDynamics_LCT_Yakutia/server
-
Установите зависимости:
pip install -r requirements.txt
-
Запустите приложение:
uvicorn app:app --reload
Приложение будет доступно по адресу http://127.0.0.1:8000.
Вы также можете использовать онлайн-версию проекта для удобного взаимодействия с функциями сервиса.
Проект предоставляет API с различными возможностями, включая:
- Регистрацию и аутентификацию пользователя.
- Управление моделями машинного обучения.
- Выполнение предсказаний на основе модели.
- Парсинг электронных писем.
- Получение информации о текущем пользователе и многое другое.
Для подробной документации по API посетите ссылку.
Веб-интерфейс проекта "DepartureDynamics" предоставляет обширный функционал для удобного взаимодействия с сервисом. Вот краткое описание ключевых возможностей:
-
Главная Страница:
- Предоставляет основную информацию о проекте, команде разработчиков и контактную информацию.
- Пользователи могут отправлять обратную связь и сообщения разработчикам.
-
Регистрация и Авторизация:
- Пользователи могут зарегистрироваться, предоставив логин, почту, фамилию, имя и пароль.
- Авторизация осуществляется с использованием почты и пароля.
-
Парсинг Почты:
- Позволяет осуществлять парсинг электронных писем с учетом диапазона дат, времени рабочего периода и файла с логинами и паролями сотрудников.
-
Обучение Моделей:
- Пользователи могут создавать и обучать собственные модели, задавая им уникальные имена и загружая датасеты для обучения.
-
Предсказание Вероятности Увольнения:
- Позволяет выбрать обученную модель из списка, придумать имя для прогноза и загрузить датасет для получения предсказаний.
- Выводит дашборд сотрудников с предсказаниями.
-
Личный Кабинет:
- Пользователи могут просматривать информацию о себе и изменять пароль.
-
История Файлов:
- Предоставляет таблицу с записями о моделях, прогнозах и парсингах, выполненных пользователем.
- Пользователи могут удалять записи и файлы с сервера.
Веб-интерфейс разработан с использованием следующих технологий:
- HTML: Для структурирования содержимого страниц.
- CSS: Для стилизации элементов и обеспечения визуального оформления.
- JS: Для динамического взаимодействия и создания отзывчивого интерфейса.
Этот набор технологий обеспечивает современный, интуитивно понятный и удобный пользовательский опыт.
Проект использует PostgreSQL для хранения данных. В базе данных содержатся следующие основные таблицы:
-
Таблица
users_db
:- Содержит информацию о пользователях, включая их идентификатор, дату создания, статус администратора, имя, фамилию, адрес электронной почты и хэшированный пароль.
-
Таблица
feedback
:- Хранит обратную связь от пользователей, включая уникальный идентификатор, дату создания, имя пользователя, адрес электронной почты и сообщение.
-
Таблица
models
:- Содержит информацию о моделях, связанных с пользователями. Включает уникальный идентификатор, дату создания, дату обновления, тип модели, путь к данным, название модели, путь к файлу модели и идентификатор пользователя.
-
Таблица
history
:- Сохраняет историю действий пользователей, включая уникальный идентификатор, дату создания, дату обновления, имя файла с прогнозами, прогнозы пользователя, название прогноза и идентификатор пользователя.
-
Таблица
parse_history
:- Хранит информацию о процессе разбора данных пользователей, включая уникальный идентификатор, дату создания, дату обновления, начальную и конечную даты базового периода, начальную и конечную даты сравнительного периода, время начала и окончания рабочего дня, путь к данным, путь для сохранения результатов и идентификатор пользователя.
- Чесников Леонид (Ai-Engineer & Project-manager)
- Овчинников Алексей (Backend)
- Тронев Алексей (Design)
- Сорокина Александра (Frontend)
- Винтерголлер Тимофей (Frontend)
Проект распространяется под лицензией MIT.