CommencezCommencez gratuitement

Appliquer le modèle au flux de données

Appliquons maintenant votre Pipeline de Machine Learning entraîné à des données en continu afin de catégoriser les valeurs immédiatement.

Vous utiliserez ensuite predict() sur les messages entrants pour déterminer la catégorie. Selon le résultat de la prédiction, vous passerez à l'action et fermerez les fenêtres de votre maison (ou non).

Rappelez-vous que la catégorie 1 correspond à du beau temps, tandis que la catégorie 0 indique un temps mauvais et froid.

De plus, le pipeline renvoie un tableau de prédictions. Comme vous n'avez transmis qu'un seul élément, vous devez accéder au premier élément avec category[0].

La fonction close_window() s'en chargera pour vous et consignera également l'enregistrement pour analyse ultérieure.

pandas sous pd et json ont été préchargés dans la session pour vous, et le modèle est accessible sous pl.

Cette activité fait partie du cours

Analyse de données IoT avec Python

Voir le cours

Instructions de l’exercice

  • Analysez le dictionnaire dans un DataFrame pandas avec DataFrame.from_records(), "timestamp" comme index et cols comme colonnes.
  • Déterminez la catégorie de cet enregistrement en utilisant predict() de l'objet pipeline et assignez le résultat à category.
  • Appelez close_window() avec le DataFrame df comme premier argument et category comme deuxième argument.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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)
Modifier et exécuter le code