Začněte nyníZačněte zdarma

Aplikace modelu na datový proud

Teď aplikujeme natrénovaný pipeline strojového učení na streamovaná data a okamžitě zařadíme hodnoty do kategorií.

Na příchozí zprávy použiješ predict() a určíš jejich kategorii. Podle výsledku predikce pak podnikneš akci – zavřeš okna v domě (nebo ne).

Pamatuj, že kategorie 1 znamená dobré počasí, zatímco kategorie 0 označuje špatné, chladné počasí.

Pipeline vrací pole predikcí. Protože jsi předal/a pouze jeden prvek, musíš k němu přistoupit pomocí category[0].

Funkce close_window() to za tebe vyřeší a záznam navíc uloží pro další analýzu.

pandas jako pd a json jsou v relaci předem načteny a model je dostupný jako pl.

Toto cvičení je součástí kurzu

Analýza dat z IoT v Pythonu

Zobrazit kurz

Pokyny k cvičení

  • Převeď slovník na pandas DataFrame pomocí DataFrame.from_records() s "timestamp" jako indexem a cols jako sloupci.
  • Urči kategorii záznamu pomocí predict() z objektu pipeline a výsledek ulož do proměnné category.
  • Zavolej close_window() s DataFrame df jako prvním argumentem a category jako druhým argumentem.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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)
Upravit a spustit kód