ÎncepețiÎncepe gratuit

Aplică modelul pe fluxul de date

Acum vei aplica pipeline-ul de învățare automată antrenat pe date în flux continuu și vei categoriza valorile imediat.

Vei folosi predict() pe mesajele primite pentru a determina categoria. În funcție de rezultatul predicției, vei lua o decizie și vei închide ferestrele din casă (sau nu).

Reține că valoarea 1 înseamnă vreme bună, iar valoarea 0 semnifică vreme rea și rece.

În plus, pipeline-ul returnează un array de predicții. Deoarece ai transmis un singur element, trebuie să accesezi primul element folosind category[0].

Funcția close_window() se ocupă de asta pentru tine și va înregistra și datele pentru analize ulterioare.

pandas ca pd și json au fost preîncărcate în sesiune, iar modelul este disponibil ca pl.

Acest exercițiu face parte din cursul

Analiza datelor IoT în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Parsează dicționarul într-un DataFrame pandas cu DataFrame.from_records(), folosind "timestamp" ca index și cols ca coloane.
  • Determină categoria acestei înregistrări folosind predict() din obiectul pipeline și atribuie rezultatul variabilei category.
  • Apelează close_window() cu DataFrame-ul df ca prim argument și category ca al doilea argument.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

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)
Editează și rulează codul