API di previsione un esempio con Django e Google Trends

API di previsione con Django e Google Trends

Crea un’applicazione web per prevedere l’evoluzione di Google Trends.

Immagine di Myriams-Fotos da Pixabay
  • Introduzione
  • Modelli Django
  • Servizi: Fonti di dati, Preprocessing, ML, Compiti
  • Layer di interazione: Serializers, Views, Endpoints
  • Conclusioni

Introduzione

Cosa è Django?

Django è un framework web Python ad alto livello. È progettato per essere veloce, sicuro e scalabile, rendendolo una scelta popolare per lo sviluppo di applicazioni web robuste che si prevede che crescano in complessità. Per un’introduzione a Django, puoi consultare questo tutorial.

In questo esempio useremo Django Rest Framework (DRF), che è un’estensione di Django che facilita lo sviluppo di API REST. Per un’introduzione a DRF, puoi consultare questo tutorial.

Requisiti

Inizieremo a progettare la nostra applicazione elencando alcuni requisiti ipotetici:

  • Obiettivo generale: Implementare un sistema per prevedere i valori futuri delle serie temporali.
  • Dati: Google Trends con frequenza settimanale sia per le caratteristiche che per gli obiettivi, probabilmente da estendere in futuro. I dati dovrebbero essere scaricati su richiesta.
  • Preprocessing: Utilizzare solo valori ritardati.
  • Modello di ML: Un modello globale LightGBM (leggi questo articolo se vuoi saperne di più sui modelli globali rispetto a quelli locali).
  • Inferenza: Generare previsioni online (a differenza di quelle batch), ma senza dover fornire le caratteristiche di input.

Il codice completo utilizzato in questo tutorial è disponibile qui.

Configura l’Ambiente

Iniziamo elencando le dipendenze necessarie.

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"

Useremo poetry per gestire le dipendenze e Docker per containerizzare il progetto. Puoi controllare i file poetry e docker utilizzati in questo progetto qui.

Avvio Veloce