Auswählen Ihres Szenarios und Aufbereiten von Daten
In dieser Lerneinheit erfahren Sie, wie Sie ein Szenario und eine Trainingsumgebung auswählen und Ihre Daten für das Training in Model Builder aufbereiten.
Starten des Trainingsprozesses
Zum Starten des Trainingsprozesses müssen Sie einer neuen oder vorhandenen .NET-Anwendung ein neues Machine Learning-Modellelement (ML.NET) hinzufügen.
Tipp
Portabilität ist einer der Vorteile, die Klassenbibliotheken Ihnen bieten. Klassenbibliotheken machen es einfach, von der Konsole, dem Desktop, dem Web und jedem anderen Typ von .NET-Anwendung aus auf alle Modelle zu verweisen, die Teil einer Bibliothek sind. Daher wird empfohlen, einer Klassenbibliothek Machine Learning-Modellelemente (ML.NET) hinzuzufügen.
Das Machine Learning Modell-Element (ML.NET) fügt dem Projekt eine Datei mit der Dateierweiterung MBCONFIG hinzu. Dateien, die die Erweiterung MBCONFIG verwenden, sind in JSON erstellte Model Builder-Konfigurationsdateien. Diese Dateien ermöglichen Folgendes:
- Geben Sie einen Namen für das Modell ein.
- Mit anderen Personen in Ihrem Team über die Quellcodeverwaltung zusammenarbeiten.
- Beibehalten des Zustands. Wenn Sie zu einem beliebigen Zeitpunkt im Trainingsprozess Model Builder schließen müssen, wird der Zustand gespeichert, und Sie können später an der Stelle weiterarbeiten, an der Sie aufgehört haben.
Auswählen eines Szenarios
Der erste Schritt zum Trainieren eines Machine Learning-Modells ist die Entscheidung, welches Szenario und welche Machine Learning-Aufgabe am besten geeignet sind. Außerdem müssen Sie festlegen, was Sie vorhersagen möchten.
Was ist ein Szenario?
Ein Szenario beschreibt das Problem, das Sie mit Ihren Daten lösen möchten. Zu den gängigsten Szenarien gehören die in der vorherigen Lerneinheit aufgeführten Fälle:
- Kategorisieren von Daten: Organisieren von Nachrichtenartikeln nach Thema
- Vorhersagen eines numerischen Werts: Schätzen des Preises eines Hauses
- Gruppieren von Elementen mit ähnlichen Merkmalen: Kundensegmentierung
- Klassifizieren von Bildern: Markieren eines Bilds basierend auf dessen Inhalt
- Empfehlen von Elementen: Filmempfehlungen
- Erkennen von Objekten in einem Bild: Erkennen von Fußgängern und Fahrrädern an einer Kreuzung
Diese Szenarien sind Machine Learning-Aufgaben zugeordnet. Eine Machine Learning-Aufgabe ist die Art von Vorhersage oder Rückschluss, die auf der Grundlage des gestellten Problems oder der Frage und der verfügbaren Daten gemacht wird.
Machine Learning-Aufgaben lassen sich in der Regel in zwei Kategorien unterteilen:
- Überwacht
- Unbeaufsichtigt
Der Hauptunterschied zwischen den beiden Kategorien liegt darin, ob die Bezeichnung oder der Wert, den Sie vorhersagen möchten, bekannt ist.
Bei überwachten Aufgaben ist die Bezeichnung bekannt. Beispiele für überwachte Machine Learning-Aufgaben:
- Klassifizierung
- Binäre Klassifizierung (zwei Kategorien)
- Multiklassen-Klassifizierung (zwei oder mehr Kategorien)
- Image
- Regression
Bei nicht überwachten Aufgaben ist die Bezeichnung unbekannt. Beispiele für nicht überwachte Machine Learning-Aufgaben:
- Clustering
- Anomalieerkennung
In Model Builder unterstützte Szenarien
Model Builder unterstützt die folgenden Szenarien, die Machine Learning-Aufgaben zugeordnet sind:
Szenario | ML-Aufgabe | Anwendungsfall |
---|---|---|
Datenklassifizierung | Binäre und Multiklassen-Klassifizierung | Organisieren von Artikeln nach Thema |
Wertvorhersage | Lineare Regression | Vorhersagen des Preises eines Hauses basierend auf dessen Merkmalen |
Bildklassifizierung | Bildklassifizierung (Deep Learning) | Organisieren von Bildern nach Tierarten basierend auf dem Inhalt eines Bilds |
Empfehlung | Empfehlung | Empfehlen von Filmen basierend auf den Vorlieben ähnlicher Benutzer |
Objekterkennung | Objekterkennung (Deep Learning) | Identifizieren physischer Schäden in einem Bild |
Auswählen eines Szenarios für Predictive Maintenance
Abhängig vom Aussehen Ihrer Daten kann das Predictive Maintenance-Problem mithilfe verschiedener Aufgaben modelliert werden. Da die Bezeichnung für Ihren Anwendungsfall ein binärer Wert (0 oder 1) ist, der beschreibt, ob eine Maschine defekt ist, ist das Szenario der Datenklassifizierung geeignet.
Auswählen Ihrer Umgebung
Nachdem Sie die Datenklassifizierung ausgewählt haben, müssen Sie die Umgebung auswählen, in der Sie Ihr Machine Learning-Modell trainieren möchten. Umgebungen beschreiben die Computeressourcen, die Sie zum Trainieren Ihres Machine Learning-Modells verwenden.
Unterstützte Umgebungen in Model Builder
Model Builder unterstützt die folgenden Umgebungsoptionen:
Szenario | Lokale CPU | Lokale GPU | Azure-GPU |
---|---|---|---|
Datenklassifizierung | ✔️ | ❌ | ❌ |
Wertvorhersage | ✔️ | ❌ | ❌ |
Bildklassifizierung | ✔️ | ✔️ | ✔️ |
Empfehlung | ✔️ | ❌ | ❌ |
Objekterkennung | ❌ | ❌ | ✔️ |
Je nach Anwendungsfall gibt es verschiedene Gründe, warum Sie eine lokale oder Azure-Umgebung auswählen können.
Lokale Umgebungen
Es gibt verschiedene Gründe, aus denen Sie lokale Computeumgebungen in Betracht ziehen können:
- Ein lokales Training verursacht keine Kosten, da Sie die Ressourcen Ihres Computers nutzen.
- Sie möchten nicht, dass Ihre Daten Ihren Computer oder Ihr Rechenzentrum verlassen.
Azure-Umgebungen
Szenarios wie Bildklassifizierung und Objekterkennung sind ressourcenintensiv. Die Verwendung einer GPU kann den Trainingsprozess häufig beschleunigen. Wenn Sie nicht über eine GPU oder einen Computer mit ausreichend CPU oder RAM verfügen, kann das Auslagern des Trainingsprozesses an Azure Ihr System entlasten.
Laden und Aufbereiten Ihrer Daten
Wenn Sie Ihr Szenario und Ihre Trainingsumgebung ausgewählt haben, ist es an der Zeit, Ihre Daten zu laden und vorzubereiten.
Daten sind die wichtigste Komponente zum Erstellen von Machine Learning-Modellen. Der Prozess zum Laden von Daten in Model Builder besteht aus drei Schritten:
- Auswählen des Datenquellentyps
- Geben Sie den Speicherort Ihrer Daten an.
- Auswählen des Spaltenzwecks
Auswählen des Datenquellentyps
Abhängig von Ihrem Szenario unterstützt Model Builder das Laden von Daten aus den folgenden Quellen:
- Dateien mit Trennzeichen (Komma, Semikolon, Tabstopp)
- Lokale und Remote-SQL Server-Datenbanken
- Bilder (JPG und PNG)
Angeben des Speicherorts Ihrer Daten
Nachdem Sie Ihren Datenquellentyp ausgewählt haben, müssen Sie den Speicherort des Datasets angeben. Dabei kann es sich um ein Verzeichnis, einen Dateipfad oder eine Datenbankverbindungszeichenfolge handeln. Dies hängt vom zuvor ausgewählten Szenario und Datenquellentyp ab.
Wenn eine Datenquelle in Model Builder ausgewählt wird, analysiert Model Builder die Daten und versucht, Folgendes zu identifizieren:
- Header und Spaltennamen
- Spaltentrennzeichen
- Spaltendatentypen
- Spaltenzweck
- Dezimaltrennzeichen
Nachdem die Daten geladen wurden, zeigt Model Builder eine Vorschau einiger Elemente in Ihrem Dataset an.
Auswählen des Spaltenzwecks
Abhängig vom gewählten Szenario müssen Sie den Zweck bestimmter Spalten definieren. In Szenarien wie Datenklassifizierung und Wertvorhersage müssen Sie auswählen, welche Ihrer Spalten die Spalte ist, die Sie vorhersagen möchten (Bezeichnung).
Standardmäßig werden alle anderen Spalten, die nicht die Bezeichnung sind, als Features verwendet. Features sind Spalten, die als Eingaben zum Vorhersagen der Bezeichnung verwendet werden.
Erweiterte Datenoptionen
Model Builder bietet erweiterte Datenoptionen, um anzupassen, wie Ihre Daten geladen werden. Mit diesen Optionen können Sie Einstellungen für Ihre Spalten und die Datasetformatierung anpassen.
Für Spalten können Sie die folgenden Einstellungen auswählen:
- Zweck: Soll die Spalte ein Feature oder eine Bezeichnung sein oder ignoriert werden? Sie können nur eine Spalte als Bezeichnung auswählen.
- Datentyp: Handelt es sich bei dem Wert um einen Gleitkommawert mit einfacher Genauigkeit, um eine Zeichenfolge oder einen booleschen Wert?
- Kategorisch: Repräsentiert die Spalte einen Kategoriewert (z. B. niedrig, mittel, hoch)?
Bei der Datenformatierung können Sie auswählen, ob die Daten Spaltenüberschriften, das Spaltentrennzeichen (Komma, Semikolon, Tabulator) und den Dezimaltrennzeichentyp (Punkt oder Komma) enthalten.
Grundlegendes zum Predictive Maintenance-Dataset
In diesem Modul wird das AI4I 2020 Predictive Maintenance Dataset verwendet. Dieser synthetische Datensatz spiegelt reale, in der Industrie verwendete Predictive Maintenance-Daten wider. Das Dataset umfasst 10.000 Datenpunkte und 14 Spalten. Es stammt aus:
Explainable Artificial Intelligence for Predictive Maintenance Applications, Stephan Matzka, Third International Conference on Artificial Intelligence for Industries (AI4I 2020), 2020 (im Druck), und wird im UCI Machine Learning Repository – Dua, D. und Graff, C. (2019). UCI Machine Learning Repository http://archive.ics.uci.edu/ml. Irvine, CA: University of California, School of Information and Computer Science
Im Folgenden finden Sie eine Vorschau der Daten:
UDI | Product ID | type | Air temperature [K] | Process temperature [K] | Rotational speed [rpm] | Torque [Nm] | Tool wear [min] | Machine failure | TWF | HDF | PWF | OSF | RNF |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | M14860 | M | 298.1 | 308.6 | 1551 | 42.8 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
162 | L47341 | L | 298.3 | 308.1 | 1412 | 52.3 | 218 | 1 | 0 | 0 | 0 | 1 | 0 |
Die Spalten werden wie folgt definiert:
- UDI: Der Index der Zeile.
- Product ID: Ein Produktbezeichner, der eine Produkttypkategorie und eine variantenspezifische Seriennummer enthält.
- Type: Produktqualitätskategorie. Die Werte sind L (niedrig; 50 % aller Produkte), M (mittel; 30 %) oder H (hoch; 20 %).
- Air temperature [K], Process temperature [K], Rotational speed [rpm], Torque [Nm], Tool wear [min]: von Sensoren erfasste Werte.
- Machine failure: Binäre Bezeichnung (0 oder 1), die angibt, ob die Maschine ausgefallen ist.
- TWF, HDF, PWF, OSF, RNF: unabhängige Maschinenausfallmodi. Der Wert 1 gibt an, dass der jeweilige Fehlermodus aufgetreten ist.
In diesem Szenario verwenden Sie nicht alle Spalten im Dataset, weil sie entweder keine Informationen für die Vorhersage oder redundante Informationen enthalten.
Da Sie vorhersagen möchten, ob eine Maschine ausfallen wird oder nicht, ist die Spalte Machine failure die Bezeichnung. In Model Builder können Sie für Features Daten aus den Spalten Product ID, Type und den verschiedenen Sensorspalten verwenden.
Wenngleich die Fehlermodi für die Diagnose der Fehlerursache nützlich sind, sind sie für Ihren Anwendungsfall nicht hilfreich. Dies liegt daran, dass Sie nur wissen möchten, ob eine Maschine ausgefallen ist oder nicht. Darüber hinaus werden ähnliche Informationen bereits durch die Spalte Machine failure erfasst. Deshalb können Sie diese Spalten ignorieren.
Fahren Sie mit der nächsten Lerneinheit fort, um Ihr Wissen über Szenarios, Umgebungen und die Datenaufbereitung zu überprüfen.