预测 API:使用 Django 和 Google 趋势的示例

预测 API 示例:Django 和 Google 趋势

构建一个用于预测Google趋势演变的网络应用程序。

Image by Myriams-Fotos from Pixabay
  • 简介
  • 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文件。

快速入门