预测 API:使用 Django 和 Google 趋势的示例
预测 API 示例:Django 和 Google 趋势
构建一个用于预测Google趋势演变的网络应用程序。
- 简介
- Django模型
- 服务:数据源,预处理,机器学习,任务
- 交互层:序列化器,视图,端点
- 结论
简介
什么是Django?
Django是一个高级的Python Web框架。它被设计成快速、安全和可扩展的,因此成为开发复杂Web应用程序的流行选择。您可以查看此教程以了解Django的介绍。
在这个示例中,我们将使用Django Rest Framework (DRF),它是Django的扩展,可以简化REST API的开发。您可以查看此教程以了解DRF的介绍。
需求
我们将通过列出一些假设的需求来开始设计我们的应用程序:
- 总体目标:实现一个预测未来时间序列值的系统。
- 数据:Google Trends的周频率的特征和目标数据,可能在将来进行扩展。数据应该是按需下载的。
- 预处理:仅使用滞后值。
- 机器学习模型:全局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对项目进行容器化。您可以在此处查看此项目中使用的poetry和docker文件。