Wettervorhersage mithilfe von Sensordaten Ihres IoT-Hubs in Machine Learning Studio (klassisch)

Lückenloses Diagramm

Hinweis

Bevor Sie mit diesem Tutorial beginnen, sollten Sie das Tutorial Verbinden des Raspberry Pi-Onlinesimulators mit Azure IoT Hub (Node.js) oder eines der gerätespezifischen Tutorials abschließen. Sie können beispielsweise zu Verbinden von Raspberry Pi mit Azure IoT Hub (Node.js) oder zu einer der Schnellstartanleitungen zum Senden von Telemetriedaten wechseln. In diesen Artikeln richten Sie Ihr Azure IoT-Gerät und IoT Hub ein und stellen eine Beispielanwendung zur Ausführung auf Ihrem Gerät bereit. Die Anwendung sendet gesammelte Sensordaten an Ihren IoT Hub.

Machine Learning ist ein Data Science-Verfahren, bei dem Computer aus vorhandenen Daten lernen können, um zukünftiges Verhalten, Ergebnisse und Trends vorherzusagen. ML Studio (klassisch) ist ein Predictive Analytics-Clouddienst, der die schnelle Erstellung und Bereitstellung von Vorhersagemodellen als Analyselösungen ermöglicht. In diesem Artikel erfahren Sie, wie Sie ML Studio (klassisch) für eine Wettervorhersage (Regenrisiko) mithilfe der Temperatur- und Luftfeuchtigkeitsdaten Ihres Azure IoT-Hubs verwenden. Das Regenrisiko ist die Ausgabe eines vorbereiteten Wettervorhersagemodells. Das Modell basiert auf Verlaufsdaten zur Vorhersage der Regenwahrscheinlichkeit basierend auf Temperatur und Luftfeuchtigkeit.

Voraussetzungen

Hinweis

In diesem Artikel werden Azure Stream Analytics und mehrere andere kostenpflichtige Dienste genutzt. Zusätzliche Gebühren fallen in Azure Stream Analytics an, wenn Daten über mehrere Azure-Regionen hinweg übertragen werden müssen. Aus diesem Grund sollten Sie sicherstellen, dass sich Ihre Ressourcengruppe, Ihr IoT-Hub und Ihr Azure Storage-Konto – sowie der Arbeitsbereich für Azure Machine Learning Studio (klassisch) und der Azure Stream Analytics-Auftrag, die später in diesem Tutorial hinzugefügt werden – alle in derselben Azure-Region befinden. Sie können die Regionsunterstützung für ML Studio (klassisch) und andere Azure-Dienste auf der Seite Verfügbare Produkte nach Region überprüfen.

Bereitstellen des Wettervorhersagemodells als Webdienst

In diesem Abschnitt rufen Sie das Wettervorhersagemodell aus der Azure KI-Bibliothek ab. Anschließend fügen Sie dem Modell ein R-Skriptmodul hinzu, um die Temperatur- und Luftfeuchtigkeitsdaten zu bereinigen. Abschließend stellen Sie das Modell als Vorhersagewebdienst bereit.

Abrufen des Wettervorhersagemodells

In diesem Abschnitt rufen Sie das Wettervorhersagemodell aus dem Azure KI-Katalog ab und öffnen es in ML Studio (klassisch).

  1. Wechseln Sie zur Seite des Wettervorhersagemodells.

    Öffnen der Seite des Wettervorhersagemodells im Azure KI-Katalog

  2. Wählen Sie In Studio (klassisch) öffnen aus, um das Modell in Microsoft ML Studio (klassisch) zu öffnen. Wählen Sie eine Region in der Nähe Ihres IoT-Hubs und den richtigen Arbeitsbereich im Popupfenster Copy Experiment from Gallery (Experiment aus Katalog kopieren) aus.

    Öffnen des Wettervorhersagemodells in ML Studio (klassisch)

Hinzufügen eines R-Skriptmoduls zum Modell zum Bereinigen der Temperatur- und Luftfeuchtigkeitsdaten

Damit das Modell ordnungsgemäß funktioniert, müssen die Temperatur- und Luftfeuchtigkeitsdaten in numerische Daten konvertiert werden können. In diesem Abschnitt fügen Sie dem Wettervorhersagemodell ein R-Skriptmodul hinzu, das alle Zeilen mit Datenwerten für Temperatur und Luftfeuchtigkeit entfernt, die nicht in numerische Werte konvertiert werden können.

  1. Klicken Sie im linken Fensterbereich von ML Studio (klassisch) auf den Pfeil, um den Werkzeugbereich zu erweitern. Geben Sie im Suchfeld „Execute“ ein. Wählen Sie das Modul Execute R Script aus.

    Auswählen des Moduls Execute R Script

  2. Ziehen Sie das Modul Execute R Script nahe an das Modul Clean Missing Data und das vorhandene Modul Execute R Script im Diagramm. Löschen Sie die Verbindung zwischen den Modulen Clean Missing Data und Execute R Script, und verbinden Sie dann die Ein- und Ausgänge des neuen Moduls wie dargestellt.

    Hinzufügen des Moduls Execute R Script

  3. Wählen Sie das neue Modul Execute R Script aus, um das zugehörige Fenster „Eigenschaften“ zu öffnen. Kopieren Sie den folgenden Code, und fügen Sie ihn in das Feld R-Skript ein.

    # Map 1-based optional input ports to variables
    data <- maml.mapInputPort(1) # class: data.frame
    
    data$temperature <- as.numeric(as.character(data$temperature))
    data$humidity <- as.numeric(as.character(data$humidity))
    
    completedata <- data[complete.cases(data), ]
    
    maml.mapOutputPort('completedata')
    
    

    Wenn Sie fertig sind, sollte das Fenster „Eigenschaften“ etwa wie folgt aussehen:

    Hinzufügen von Code zum Modul Execute R Script

Bereitstellen des Vorhersagewebdiensts

In diesem Abschnitt überprüfen Sie das Modell, richten einen Vorhersagewebdienst basierend auf dem Modell ein und stellen dann den Webdienst bereit.

  1. Wählen Sie Run aus, um die Schritte im Modell zu überprüfen. Dieser Schritt kann einige Minuten in Anspruch nehmen.

    Ausführen des Experiments zum Überprüfen der Schritte

  2. Wählen Sie SET UP WEB SERVICE > Predictive Web Service aus. Das Diagramm für das Vorhersageexperiment wird geöffnet.

    Bereitstellen des Wettervorhersagemodells in ML Studio (klassisch)

  3. Löschen Sie im Diagramm für das Vorhersageexperiment die Verbindung zwischen dem Modul Web service input und Select Columns in Dataset im oberen Bereich. Ziehen Sie das Modul Web service input an eine beliebige Stelle in der Nähe des Moduls Score Model, und verbinden Sie es wie gezeigt:

    Verbinden von zwei Modulen in ML Studio (klassisch)

  4. Wählen Sie RUN aus, um die Schritte im Modell zu überprüfen.

  5. Wählen Sie DEPLOY WEB SERVICE aus, um das Modell als Webdienst bereitzustellen.

  6. Laden Sie auf dem Dashboard des Modells das Excel 2010 or earlier workbook für REQUEST/RESPONSE herunter.

    Hinweis

    Stellen Sie sicher, dass Sie die Arbeitsmappe für Excel 2010 oder früher herunterladen, selbst wenn auf Ihrem Computer eine spätere Version von Excel ausgeführt wird.

    Herunterladen der Excel-Arbeitsmappe für den REQUEST/RESPONSE-Endpunkt

  7. Öffnen Sie die Excel-Arbeitsmappe, und notieren Sie sich WEB SERVICE URL und ACCESS KEY.

Hinzufügen einer Consumergruppe zu Ihrem IoT Hub

Consumergruppen bieten unabhängige Ansichten des Ereignisstreams, die es Apps und Azure-Diensten ermöglichen, unabhängig voneinander Daten desselben Event Hub-Endpunkts zu nutzen. In diesem Abschnitt fügen Sie dem integrierten Endpunkt Ihres IoT-Hubs eine Consumergruppe hinzu, die später in diesem Tutorial zum Pullen von Daten vom Endpunkt verwendet wird.

Gehen Sie folgendermaßen vor, um Ihrem IoT Hub eine Consumergruppe hinzuzufügen:

  1. Öffnen Sie im Azure-Portal Ihren IoT-Hub.

  2. Wählen Sie im linken Bereich Integrierte Endpunkte aus. Geben Sie im Textfeld unter Consumergruppen einen Namen für Ihre neue Consumergruppe ein.

    Screenshot: Erstellen einer Consumergruppe in Ihrem IoT-Hub

  3. Klicken Sie auf eine beliebige Stelle außerhalb des Textfelds, um die Consumergruppe zu speichern.

Erstellen, Konfigurieren und Ausführen eines Stream Analytics-Auftrags

Erstellen eines Stream Analytics-Auftrags

  1. Klicken Sie im Azure-Portal auf Ressource erstellen. Geben Sie im Suchfeld den Suchbegriff „Stream Analytics-Auftrag“ ein, und wählen Sie in der Dropdownliste mit den Ergebnissen dann Stream Analytics-Auftrag aus. Wählen Sie Erstellen aus, nachdem der Bereich Stream Analytics-Auftrag geöffnet wurde.

  2. Geben Sie die folgenden Informationen für den Auftrag ein.

    Auftragsname: Der Name des Auftrags. Der Name muss global eindeutig sein.

    Abonnement: Wählen Sie Ihr Abonnement aus, falls es nicht die Standardeinstellung ist.

    Ressourcengruppe: Verwenden Sie dieselbe Ressourcengruppe wie für Ihren IoT Hub.

    Standort: Verwenden Sie denselben Speicherort wie für Ihre Ressourcengruppe.

    Behalten Sie bei allen anderen Feldern die Standardwerte bei.

    Erstellen eines Stream Analytics-Auftrags in Azure

  3. Klicken Sie auf Erstellen.

Hinzufügen einer Eingabe zum Stream Analytics-Auftrag

  1. Öffnen Sie den Stream Analytics-Auftrag.

  2. Wählen Sie unter Auftragstopologie die Option Eingaben aus.

  3. Wählen Sie im Bereich Eingaben die Option Datenstromeingabe hinzufügen und dann in der Dropdownliste die Option IoT Hub aus. Wählen Sie im Bereich Neue Eingabe die Option IoT Hub aus Ihren Abonnements auswählen aus, und geben Sie die folgenden Informationen ein:

    Eingabealias: Der eindeutige Alias für die Eingabe.

    Abonnement: Wählen Sie Ihr Abonnement aus, falls es nicht die Standardeinstellung ist.

    IoT Hub: Wählen Sie den IoT-Hub Ihres Abonnements aus.

    Name der SAS-Richtlinie: Wählen Sie Dienst aus. (Sie können auch iothubowner verwenden.)

    Consumergruppe: Wählen Sie die Consumergruppe aus, die Sie erstellt haben.

    Behalten Sie bei allen anderen Feldern die Standardwerte bei.

    Hinzufügen einer Eingabe zum Stream Analytics-Auftrag in Azure

  4. Wählen Sie Speichern aus.

Hinzufügen einer Ausgabe zum Stream Analytics-Auftrag

  1. Wählen Sie unter Auftragstopologie die Option Ausgaben aus.

  2. Wählen Sie im Bereich Ausgaben die Option Hinzufügen und dann in der Dropdownliste die Option Blobspeicher/Data Lake Storage aus. Wählen Sie im Bereich Neue Ausgabe die Option Speicher aus Ihren Abonnements auswählen aus, und geben Sie die folgenden Informationen ein:

    Ausgabealias: Der eindeutige Alias für die Ausgabe.

    Abonnement: Wählen Sie Ihr Abonnement aus, falls es nicht die Standardeinstellung ist.

    Speicherkonto: Das Speicherkonto für Ihren Blob Storage. Sie können ein Speicherkonto erstellen oder ein vorhandenes auswählen.

    Container: Der Container, in dem das Blob gespeichert wird. Sie können einen Container erstellen oder einen vorhandenen auswählen.

    Ereignisserialisierungsformat: Wählen Sie CSV aus.

    Hinzufügen einer Ausgabe zum Stream Analytics-Auftrag in Azure

  3. Wählen Sie Speichern.

Hinzufügen einer Funktion zum Stream Analytics-Auftrag, um den von Ihnen bereitgestellten Webdienst aufzurufen

  1. Wählen Sie unter Auftragstopologie die Option Funktionen aus.

  2. Wählen Sie im Bereich Funktionen die Option Hinzufügen und in der Dropdownliste dann die Option Azure ML Studio aus. (Achten Sie darauf, dass Sie nicht Azure ML Service, sondern Azure ML Studio auswählen.) Wählen Sie im Bereich Neue Funktion die Option Einstellungen für Azure Machine Learning-Funktion manuell angeben aus, und geben Sie die folgenden Informationen ein:

    Funktionsalias: Geben Sie machinelearning ein.

    URL: Geben Sie die WEB SERVICE URL aus der Excel-Arbeitsmappe ein, die Sie notiert haben.

    Schlüssel: Geben Sie den ACCESS KEY aus der Excel-Arbeitsmappe ein, den Sie notiert haben.

    Hinzufügen einer Funktion zum Stream Analytics-Auftrag in Azure

  3. Wählen Sie Speichern aus.

Konfigurieren der Abfrage des Stream Analytics-Auftrags

  1. Wählen Sie unter Auftragstopologie die Option Abfrage aus.

  2. Ersetzen Sie den vorhandenen Code durch folgenden Code:

    WITH machinelearning AS (
       SELECT EventEnqueuedUtcTime, temperature, humidity, machinelearning(temperature, humidity) as result from [YourInputAlias]
    )
    Select System.Timestamp time, CAST (result.[temperature] AS FLOAT) AS temperature, CAST (result.[humidity] AS FLOAT) AS humidity, CAST (result.[scored probabilities] AS FLOAT ) AS 'probabalities of rain'
    Into [YourOutputAlias]
    From machinelearning
    

    Ersetzen Sie [YourInputAlias] durch den Eingabealias des Auftrags.

    Ersetzen Sie [YourOutputAlias] durch den Ausgabealias des Auftrags.

  3. Wählen Sie Abfrage speichern aus.

Hinweis

Bei Auswahl von Testabfrage wird die folgende Meldung angezeigt: Abfragetests mit Machine Learning-Funktionen werden nicht unterstützt. Ändern Sie die Abfrage, und versuchen Sie es noch einmal. Sie können diese Meldung ignorieren und OK auswählen, um das Meldungsfeld zu schließen. Stellen Sie sicher, dass Sie die Abfrage speichern, bevor Sie mit dem nächsten Abschnitt fortfahren.

Ausführen des Stream Analytics-Auftrags

Wählen Sie im Stream Analytics-Auftrag im linken Bereich die Option Übersicht aus. Wählen Sie anschließend Start > Jetzt > Start aus. Sobald der Auftrag erfolgreich gestartet wurde, ändert sich der Status des Auftrags von Beendet in Wird ausgeführt.

Ausführen des Stream Analytics-Auftrags

Verwenden des Microsoft Azure Storage-Explorers zur Anzeige der Wettervorhersage

Führen Sie die Clientanwendung aus, um das Sammeln der Temperatur- und Luftfeuchtigkeitsdaten sowie das Senden an Ihren IoT Hub zu starten. Für jede Nachricht, die Ihr IoT Hub empfängt, ruft der Stream Analytics-Auftrags den Wettervorhersage-Webdienst auf, um das Regenrisiko vorherzusagen. Das Ergebnis wird dann in Ihrem Azure Blob Storage gespeichert. Der Azure Storage-Explorer ist ein Tool, mit dem Sie das Ergebnis anzeigen können.

  1. Laden Sie den Microsoft Azure Storage-Explorer herunter, und installieren Sie ihn.

  2. Öffnen Sie den Azure Storage-Explorer.

  3. Melden Sie sich bei Ihrem Azure-Konto an.

  4. Wählen Sie Ihr Abonnement aus.

  5. Wählen Sie nacheinander Ihr Abonnement, die Option Speicherkonten, Ihr Speicherkonto, die Option Blobcontainer und dann Ihren Container aus.

  6. Laden Sie eine CSV-Datei herunter, um das Ergebnis anzuzeigen. In der letzten Spalte ist das Regenrisiko aufgezeichnet.

    Abrufen des Ergebnisses der Wettervorhersage mit ML Studio (klassisch)

Zusammenfassung

Sie haben ML Studio (klassisch) erfolgreich eingesetzt, um das Regenrisiko basierend auf den Temperatur- und Luftfeuchtigkeitsdaten vorherzusagen, die Ihr IoT-Hub empfängt.

Informationen zu den weiteren ersten Schritten mit Azure IoT Hub und zum Kennenlernen aller erweiterten IoT-Szenarien finden Sie in den folgenden Artikeln: