BaşlayınÜcretsiz Başlayın

Modeli veri akışına uygula

Şimdi, eğittiğin Machine Learning Pipeline'ını akış verisine uygulayalım ve değerleri anında kategorize edelim.

Gelen iletilerin kategorisini belirlemek için predict() kullanacaksın. Tahmin sonucuna göre aksiyon alacak ve evindeki pencereleri kapatacaksın (ya da kapatmayacaksın).

Unutma: kategori 1 iyi havayı, kategori 0 ise kötü, soğuk havayı ifade eder.

Ayrıca, pipeline bir tahmin dizisi döndürür. Yalnızca tek bir öğe verdiğin için ilk öğeye category[0] ile erişmen gerekir.

close_window() fonksiyonu bunu senin için halledecek ve ek olarak kaydı daha sonra incelenmek üzere günlüğe yazacaktır.

Oturumda pandas pd olarak ve json önceden yüklendi, model ise pl olarak hazır.

Bu egzersiz

Python ile IoT Verilerini Analiz Etmek

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Sözlüğü, DataFrame.from_records() ile bir pandas DataFrame'ine ayrıştır; "timestamp" indeks olsun ve sütunlar cols olsun.
  • Bu kaydın kategorisini, pipeline nesnesindeki predict() ile belirle ve sonucu category değişkenine ata.
  • close_window() fonksiyonunu, ilk argüman olarak df, ikinci argüman olarak category ile çağır.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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)
Kodu Düzenle ve Çalıştır