Skip to content

NeOleksiy/RecSysApi

Repository files navigation

RecSysApi - Рекомендательная система, с доступом по Api

Стек:

  • Django + Django REST framework
  • PostgresSQL - база данных
  • SwaggerUI - OpenApi документирование
  • Numpy, Scipy, Pandas, sklearn - библиотеки для машинного обучения

Как запустить:

  1. В терминале git clone https://github.com/NeOleksiy/friends_service.git
  2. В терминале docker-compose up --build
  3. В терминале docker-compose run web python manage.py makemigrations
  4. В терминале docker-compose run web python manage.py migrate
  • Если нужно загрузить тестовые данные, на которых делался и тестировался проект, то
  • python -m auxiliary_func.fill_anime.py
  • python -m auxiliary_func.fill_ratings.py(Загружается в бд примерно 3-5 часов)

Как работает:

Для доступа к документации OpenApi переходим по http://127.0.0.1:8000/swagger-ui/

OpenApi документация

Рекомендательная система состоит из 4х модулей:

rec

Основной модуль, где делаются рекомендации, их тут 4 вида:

  • popularity - Рекомендация самых популярных аниме
  • collaborate_filltering - item to item рекомендации, требуют наличия определённого кол-ва оценок для хорошей работы.
  • ContentBased - рекомендации на основе контента(жанров), требуют хотя бы одного оценённого аниме
  • FWLS - гибридные рекомендации, которые обучаются линейной регрессией с весовыми функциями, которые в зависимости от кол-ва оценок возвращают 0 или 1, основной тип персонализированных рекомендаций для пользователя

Пример:

Для доступа к рекомендациям нужно предварительно авторизоваться и поставить нужное кол-во оценок

ContentBased рекомендации,переходим по http://127.0.0.1:8000/rec/content_based

Рекомендации

user

Модуль реализует логику регистрации, авторизации и взаимодействия с списком просмотренных аниме

Пример:

Регистрация пользователя переходим по http://127.0.0.1:8000/user/register

Регистрация

collect

Сборщик данных, собирающий логи дейсвия пользователя

Действия

Сборщик

product

Модуль для взаимодействия с контентом

About

Recommendation System API

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published