IniziaInizia gratis

Applica il modello al flusso di dati

Applichiamo ora la tua Pipeline di Machine Learning addestrata ai dati in streaming, per categorizzare subito i valori.

Userai quindi predict() sui messaggi in arrivo per determinare la categoria. In base al risultato della previsione prenderai una decisione e chiuderai (o meno) le finestre di casa.

Ricorda: la categoria 1 indica bel tempo, mentre la categoria 0 indica tempo brutto e freddo.

Inoltre, la pipeline restituisce un array di previsioni. Poiché hai passato un solo elemento, devi accedere al primo elemento usando category[0].

La funzione close_window() gestirà questo per te e registrerà anche il record per analisi successive.

pandas come pd e json sono già stati caricati nella sessione per te, e il modello è disponibile come pl.

Questo esercizio fa parte del corso

Analizzare i dati IoT in Python

Visualizza il corso

Istruzioni dell'esercizio

  • Analizza il dizionario in un DataFrame pandas con DataFrame.from_records(), usando "timestamp" come indice e cols come colonne.
  • Determina la categoria di questo record usando predict() dell'oggetto pipeline e assegna il risultato a category.
  • Chiama close_window() con il DataFrame df come primo argomento e category come secondo argomento.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

def model_subscribe(client, userdata, message):
    data = json.loads(message.payload)
    # Parse to DataFrame
    df = pd.____.____([data], index=____, columns=____)
    # Predict result
    category = ____
    if category[0] < 1:
        # Call business logic
        ____
    else:
        print("Nice Weather, nothing to do.")  

# Subscribe model_subscribe to MQTT Topic
subscribe.callback(model_subscribe, topic, hostname=MQTT_HOST)
Modifica ed esegui il codice