Создайте веб-приложение для прогнозирования развития Google Trends.

Введение

Что такое Джанго?

Django — высокоуровневый веб-фреймворк Python. Он разработан, чтобы быть быстрым, безопасным и масштабируемым, что делает его популярным выбором для разработки надежных веб-приложений, сложность которых, как ожидается, будет расти. Для ознакомления с Django вы можете посмотреть этот учебник.

В этом примере мы собираемся использовать Django Rest Framework (DRF), который является расширением Django, упрощающим разработку REST API. Для ознакомления с DRF вы можете проверить этот учебник.

Требования

Мы начнем разработку нашего приложения, перечислив некоторые гипотетические требования:

  • Общая цель. Внедрить систему прогнозирования будущих значений временных рядов.
  • Данные: Тренды Google еженедельно для функций и целей, которые, вероятно, будут расширены в будущем. Данные должны загружаться по запросу.
  • Предварительная обработка: используйте только значения с задержкой.
  • Модель ML: глобальная модель LightGBM (проверьте эту статью, если хотите узнать больше о глобальных и локальных моделях).
  • Вывод. Создавайте онлайн-прогнозы (в отличие от пакетных), но без ввода входных данных.

Полный код, использованный в этом руководстве, доступен здесь.

Настройка среды

Начнем с перечисления необходимых зависимостей.

python = "^3.8"
Django = "^4.2.1"
lightgbm = "^3.3.5"
pandas = "^2.0.1"
djangorestframework = "^3.14.0"
pytrends = "^4.9.2"
drf-extensions = "^0.7.1"

Мы будем использовать poetry для управления зависимостями и Docker для контейнеризации проекта. Вы можете проверить файлы поэзии и докера, используемые в этом проекте, здесь.

Быстрый старт