Azure-Tutorial: Vorhersage von Gaspreisen mit Azure Machine Learning Studio

Veröffentlicht: 2022-03-11

Was wäre, wenn Sie vorhersagen könnten, ob die Aktie Ihrer Wahl im nächsten Monat steigen oder fallen würde? Oder ob Ihre Lieblingsfußballmannschaft ihr nächstes Spiel gewinnen oder verlieren würde? Wie kann man solche Vorhersagen treffen? Vielleicht kann maschinelles Lernen einen Teil der Antwort liefern. Cortana, der neue digitale persönliche Assistent powered by Bing, der mit Windows Phone 8.1 geliefert wird, hat 15 von 16 Spielen bei der FIFA Fussball-Weltmeisterschaft 2014 genau vorhergesagt.

In diesem Azure-Tutorial werden wir Azure Machine Learning-Features und -Funktionen untersuchen, indem wir eines der Probleme lösen, mit denen wir in unserem täglichen Leben konfrontiert sind.

Azure Machine Learning-Tutorial

Aus Sicht des Machine-Learning-Entwicklers können Probleme in zwei Gruppen eingeteilt werden – solche, die mit Standardmethoden gelöst werden können, und solche, die nicht mit Standardmethoden gelöst werden können. Leider gehören die meisten Probleme im wirklichen Leben zur zweiten Gruppe. Hier kommt maschinelles Lernen ins Spiel. Die Grundidee besteht darin, mithilfe von Maschinen aussagekräftige Muster in historischen Daten zu finden und damit das Problem zu lösen.

Das Problem

Die Gaspreise sind wahrscheinlich einer der Posten, die bereits im Budget der meisten Menschen vorhanden sind. Ein ständiger Anstieg oder Rückgang kann auch die Preise anderer Lebensmittel und Dienstleistungen beeinflussen. Es gibt viele Faktoren, die die Gaspreise beeinflussen können, von Wetterbedingungen über politische Entscheidungen und Verwaltungsgebühren bis hin zu völlig unvorhersehbaren Faktoren wie Naturkatastrophen oder Kriegen.

Der Plan für dieses Azure Machine Learning-Tutorial besteht darin, einige zugängliche Daten zu untersuchen und Korrelationen zu finden, die zum Erstellen eines Vorhersagemodells genutzt werden können.

Azure Machine Learning Studio

Azure Machine Learning Studio ist eine webbasierte integrierte Entwicklungsumgebung (IDE) zum Entwickeln von Datenexperimenten. Es ist eng mit den übrigen Cloud-Diensten von Azure verzahnt, was die Entwicklung und Bereitstellung von Modellen und Diensten für maschinelles Lernen vereinfacht.

Erstellen des Experiments

Es gibt fünf grundlegende Schritte zum Erstellen eines Beispiels für maschinelles Lernen. Wir werden jeden dieser Schritte untersuchen, indem wir unser eigenes Vorhersagemodell für Gaspreise entwickeln.

Abrufen der Daten

Das Sammeln von Daten ist einer der wichtigsten Schritte in diesem Prozess. Relevanz und Eindeutigkeit der Daten sind die Grundlage für die Erstellung guter Vorhersagemodelle. Azure Machine Learning Studio stellt eine Reihe von Beispieldatensätzen bereit. Eine weitere großartige Sammlung von Datensätzen finden Sie unter archive.ics.uci.edu/ml/datasets.html.

Nachdem wir die Daten gesammelt haben, müssen wir sie über ihren einfachen Daten-Upload-Mechanismus in das Studio hochladen:

Azure Machine Learning Studio

Nach dem Hochladen können wir die Daten in der Vorschau anzeigen. Das folgende Bild zeigt einen Teil unserer Daten, die wir gerade hochgeladen haben. Unser Ziel hier ist es, den Preis unter der Spalte mit der Bezeichnung E95 vorherzusagen.

Studio für maschinelles Lernen

Unser nächster Schritt besteht darin, ein neues Experiment zu erstellen, indem Sie Module per Drag & Drop aus dem Bedienfeld auf der linken Seite in den Arbeitsbereich ziehen.

Azure Machine Learning

Vorverarbeitung von Daten

Die Vorverarbeitung verfügbarer Daten beinhaltet die Anpassung der verfügbaren Daten an Ihre Bedürfnisse. Das erste Modul, das wir hier verwenden werden, ist „Deskriptive Statistik“. Es berechnet statistische Daten aus den verfügbaren Daten. Neben dem Modul „Deskriptive Statistik“ ist eines der am häufigsten verwendeten Module „Fehlende Daten bereinigen“. Das Ziel dieses Schritts ist es, fehlenden (Null-)Werten Bedeutung zu verleihen, indem sie durch einen anderen Wert ersetzt oder vollständig entfernt werden.

Definieren von Features

Ein weiteres Modul, das in diesem Schritt unseres Tutorials angewendet wird, ist das Modul „Filter Based Feature Selection“. Dieses Modul bestimmt die Merkmale des Datensatzes, die für die Ergebnisse, die wir vorhersagen möchten, am relevantesten sind. In diesem Fall sind, wie Sie im Bild unten sehen können, die vier relevantesten Merkmale für „E95“-Werte „EDG BS“, „Öl“, „USD/HRK“ und „EUR/USD“.

filterbasierte Funktionsauswahl

Da „EDG BS“ ein weiterer „Output“-Wert ist, der nicht für Vorhersagen verwendet werden kann, werden wir nur zwei der verbleibenden wichtigen Merkmale auswählen – das sind der Ölpreis und der Währungskurs in der Spalte USD/HRK.

Beispiel des Datensatzes nach der Verarbeitung ist unten dargestellt:

Azure Studio-Datensatz

Auswahl und Anwendung eines Algorithmus

Unser nächster Schritt besteht darin, die verfügbaren Daten mit dem Modul „Split“ aufzuteilen. Der erste Teil der Daten (in unserem Fall 80 %) wird verwendet, um das Modell zu trainieren, und der Rest wird verwendet, um das trainierte Modell zu bewerten.

Azure-Split-Modul

Die folgenden Schritte sind die wichtigsten Schritte im gesamten Azure Machine Learning-Prozess. Das Modul „Train Model“ akzeptiert zwei Eingabeparameter. Das erste sind die rohen Trainingsdaten und das andere der Lernalgorithmus. Hier verwenden wir den Algorithmus „Lineare Regression“. Die Ausgabe des „Train Model“-Moduls ist einer der Eingabeparameter des „Score Model“-Moduls. Der andere ist der Rest der verfügbaren Daten. Score Model fügt unserem Datensatz eine neue Spalte hinzu, Scored Labels. Die Werte in der Spalte „Scored Labels“ liegen näher an den Werten ihrer entsprechenden E95-Werte, wenn der angewandte Lernalgorithmus mit den verfügbaren Daten gut funktioniert.

Modellbahnmodul

Das Modul Evaluate Model gibt uns eine Bewertung des trainierten Modells, ausgedrückt in statistischen Werten. Wenn wir uns den „Bestimmtheitskoeffizienten“ ansehen, können wir feststellen, dass mit diesem Modell eine Wahrscheinlichkeit von etwa 80 % besteht, den richtigen Preis vorherzusagen.

Jetzt ist es einen Versuch wert, das Modul „Neural Network Regression“ zu verwenden. Wir müssen neue Module „Train Model“ und „Score Model“ hinzufügen und die Ausgabe mit dem vorhandenen Modul „Evaluate Model“ verbinden.

Regressionsmodul für neuronale Netze

Das Modul „Neural Network Regression“ erfordert etwas mehr Konfiguration. Da dies das wichtigste Modul des gesamten Experiments ist, sollten wir unsere Bemühungen darauf konzentrieren, die Einstellungen und die Auswahl des geeigneten Lernalgorithmus als Ganzes zu optimieren und zu experimentieren.

In diesem Fall liefert uns das Evaluate-Modul einen Vergleich unserer beiden trainierten Modelle. Auch hier sehen wir basierend auf dem Bestimmtheitsmaß, dass neuronale Netze etwas weniger genaue Vorhersagen liefern.

Azure-Bewertungsmodell

An dieser Stelle können wir die ausgewählten trainierten Modelle für die zukünftige Verwendung speichern.

Azure trainiertes Modell

Wenn wir ein trainiertes Modell haben, können wir mit der Erstellung von „Scoring Experiment“ fortfahren. Dazu können Sie ein neues Experiment von Grund auf neu erstellen oder das Azure Machine Learning Studio-Hilfsprogramm verwenden. Wählen Sie einfach das trainierte Modell aus und klicken Sie auf „Create Scoring Experiment“. Neue Module, die wir hier brauchen, sind „Webservice Input“ und „Webservice Output“. Wir werden ein Modul „Projektspalten“ hinzufügen, um unsere Eingabe- und Ausgabewerte auszuwählen. Eingabewerte sind Öl und USD/HRK, und die Ausgabe ist der vorhergesagte Wert in der Spalte „Scored Labels“ der Ausgabe „Score Model“.

Das folgende Bild zeigt unser Scoring-Experiment nach diesen wenigen Anpassungen und nach entsprechender Verbindung der Module „Webservice-Eingabe“ und „Webservice-Ausgabe“.

Scoring-Experiment

An dieser Stelle kommt eine weitere raffinierte Hilfsfunktion ins Spiel. Mit „Publish Web Service“ können Sie einen einfachen Webdienst erstellen, der auf der Cloud-Infrastruktur von Azure gehostet wird.

Webdienst veröffentlichen

Vorhersage neuer Daten

Schließlich können wir unseren Vorhersage-Webdienst mit einem einfachen Testformular testen.

Azure-Testformular

Testformular für maschinelles Lernen

Fazit

In diesem einfachen Lernprogramm für maschinelles Lernen haben wir gezeigt, wie Sie einen voll funktionsfähigen Vorhersage-Webdienst erstellen. Das in die Azure-Plattform integrierte Azure Machine Learning Studio kann ein sehr leistungsfähiges Tool zum Erstellen von Datenexperimenten sein. Neben Machine Learning Studio gibt es weitere Machine-Learning-Lösungen wie Orange und Tiberious. Unabhängig von der bevorzugten Entwicklungsumgebung ermutige ich Sie, sich mit maschinellem Lernen zu beschäftigen und Ihren inneren Datenwissenschaftler zu finden.