Создайте веб-приложение для прогнозирования развития Google Trends.
- "Введение"
- Джанго Моделс
- Услуги: Источники данных, Предварительная обработка, ML, Задачи
- Слой взаимодействия: Сериализаторы, Виды, Конечные точки
- Выводы
Введение
Что такое Джанго?
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 для контейнеризации проекта. Вы можете проверить файлы поэзии и докера, используемые в этом проекте, здесь.