CommencerCommencer gratuitement

Appliquer le modèle au flux de données

Appliquons maintenant votre Pipeline de Machine Learning entraîné aux données en flux, 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 en fermant (ou non) les fenêtres de votre maison.

Rappelez-vous que la catégorie 1 correspond à une bonne météo, tandis que la catégorie 0 indique une météo mauvaise et froide.

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

La fonction close_window() s’en charge pour vous et journalise également l’enregistrement pour étude ultérieure.

pandas sous l’alias pd et json ont été préchargés dans la session pour vous, et le modèle est disponible sous le nom pl.

Cet exercice fait partie du cours

Analyzing IoT Data in Python

Afficher le cours

Instructions

  • Analysez le dictionnaire dans un DataFrame pandas avec DataFrame.from_records() en utilisant "timestamp" comme index et cols comme colonnes.
  • Déterminez la catégorie de cet enregistrement en utilisant predict() de l’objet pipeline et affectez 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 cet exemple de code.

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