Trainieren und Auswerten von Modellen in Model Builder

Abgeschlossen

In dieser Lerneinheit erfahren Sie, wie Sie Machine Learning-Modelle in Model Builder trainieren und auswerten.

Während des Trainings wendet Model Builder Algorithmen auf Ihre Daten an. Mithilfe von Auswertungsmetriken für das spezifische Szenario messen Sie die Leistung Ihres Modells.

Training in Model Builder

Nachdem Sie nun Ihr Szenario und Ihre Trainingsumgebung ausgewählt und Ihre Daten geladen haben, können Sie mit dem Trainieren Ihres Modells beginnen. Das Training umfasst das Anwenden von Algorithmen für das ausgewählte Szenario auf Ihr Dataset, um das beste Modell zu finden. Im Auswertungsschritt erfahren Sie, was „das beste Modell“ bedeutet.

In den meisten Fällen müssen Sie zum Trainieren von Machine Learning-Modellen in Model Builder nur die Zeit angeben, für die Sie trainieren möchten.

Wie lange sollte ich das Modell trainieren?

Längere Trainingszeiträume ermöglichen Model Builder, mehr Modelle mit einem größeren Bereich von Einstellungen zu untersuchen.

Die folgende Tabelle fasst die durchschnittlich benötigte Zeit zusammen, um eine gute Leistung für eine Reihe von Beispieldatensätzen auf einem lokalen Rechner unter Verwendung der CPU-Ressourcen zu erzielen:

Datasetgröße Durchschnittliche Trainingszeit
0 MB bis 10 MB 10 Sekunden
10 MB bis 100 MB 10 Minuten
100 MB bis 500 MB 30 Minuten
500 MB bis 1 GB 60 Minuten
Mehr als 1 GB Mehr als 3 Stunden

Diese Zahlen sind nur eine Richtlinie. Die genaue Länge des Trainings hängt von Folgendem ab:

  • Anzahl von Features (Spalten), die als Eingabe für das Modell verwendet werden
  • Art der Spalten
  • Machine Learning-Aufgabe
  • CPU-, GPU-, Datenträger- und Arbeitsspeicherleistung des für das Training verwendeten Computers

Tipp

Verwenden Sie mehr als 100 Zeilen als Datasets. Weniger führen möglicherweise nicht zu Ergebnissen.

Wie findet Model Builder das beste Modell?

Sie haben wahrscheinlich schon davon gehört, dass maschinelles Lernen mit komplexer Mathematik zu tun hat. Wie kann Model Builder dann ein Machine Learning-Modell trainieren, wenn Sie nur ein Szenario und ein Dataset festgelegt und angegeben haben, wie lange Model Builder trainieren soll?

Model Builder verwendet automatisiertes maschinelles Lernen (AutoML), um den Satz von Transformationen zur Aufbereitung Ihrer Daten für das Training zu ermitteln, einen Algorithmus auszuwählen und die Einstellungen (auch als Hyperparameter bezeichnet) des Algorithmus abzustimmen. Mithilfe von Auswertungsmetriken, die für die ausgewählte Machine Learning-Aufgabe spezifisch sind, kann Model Builder ermitteln, welches Modell für Ihre Daten am besten funktioniert.

Trainings- und Nutzungscode

Nachdem ihr Modell trainiert wurde, generiert Model Builder die folgenden Dateien und fügt sie Ihrem Projekt hinzu. Diese Dateien sind unter Ihrer MBCONFIG-Datei geschachtelt.

  • <MODEL-NAME>.zip: Das Artefakt für das Machine Learning-Modell. Diese Datei enthält eine serialisierte Version Ihres Modells.
  • <MODEL-NAME>.training.cs: Diese Datei enthält die Modelltrainingspipeline. Ihre Modelltrainingspipeline besteht aus den Datentransformationen und dem Algorithmus, die zum Trainieren Ihres Machine Learning-Modells verwendet werden. Weitere Informationen finden Sie unter Datentransformationen und Auswählen eines ML.NET-Algorithmus.
  • <MODEL-NAME>.consumption.cs: Diese Datei enthält die Klassen, die das Schema der Modelleingabe und -ausgabe definieren. Sie enthält außerdem die Predict-Methode, die Ihr Modell verwendet, um eine PredictionEngine-API zu erstellen und Vorhersagen zu treffen. PredictionEngine ist eine praktische API, mit der Sie eine Vorhersage für eine einzelne Instanz von Daten ausführen können.

Auswerten des Modells

Nachdem Sie nun das beste Modell für Ihre Daten gefunden haben, können Sie testen, wie gut es Vorhersagen trifft. Eine Möglichkeit zum Bewerten der Leistung Ihres Modells ist die Verwendung von Metriken.

Auswertungsmetriken sind spezifisch für den Typ der Machine Learning-Aufgabe, die ein Modell ausführt. Für jede Aufgabe können Sie verschiedene Metriken betrachten, um die Leistung Ihres Modells zu bestimmen.

Die folgende Tabelle zeigt die Bewertungsmetriken, die Model Builder zur Auswahl des besten Modells je nach Szenario verwendet:

Szenario Auswertungsmetriken Suchen nach
Datenklassifizierung Binär (Genauigkeit) /Multiklasse (Mikrogenauigkeit) Je näher an 1,00, desto besser
Wertvorhersage Bestimmtheitsmaß Je näher an 1,00, desto besser
Bildklassifizierung Genauigkeit Je näher an 1,00, desto besser
Empfehlung Bestimmtheitsmaß Je näher an 1,00, desto besser
Objekterkennung Genauigkeit Je näher an 1,00, desto besser

Weitere Informationen zu ML.NET-Auswertungsmetriken finden Sie unter Modellauswertungsmetriken.

Auswählen des Modells mit den höchsten Metriken

Ihr Modell hat perfekte Auswertungsmetriken erzielt. Bedeutet dies, dass Sie das perfekte Modell haben? Nicht unbedingt. Wenn Sie am Ende ein „perfektes“ Modell erhalten, wie es in Ihren Auswertungsmetriken angegeben ist, sollten Sie skeptisch sein.

Beim maschinellen Lernen gibt es ein Konzept, das als Überanpassung bezeichnet wird und auf das Sie achten sollten. Überanpassung ist, wenn Ihr Modell die Muster in Ihrem Trainings-Dataset zu gut lernt. Wenn Sie versuchen, das Modell mit neuen Daten zu nutzen, liefert es keine genauen Ergebnisse.

Im Folgenden finden Sie ein Szenario zur Veranschaulichung der Überanpassung. Stellen Sie sich vor, Sie lernen für eine Prüfung. Aus irgendeinem Grund haben Sie die Fragen zur Prüfung und die Antworten im Voraus. Während Sie für die Prüfung lernen, konzentrieren Sie sich darauf, sich die Antworten auf die Fragen zu merken. Wenn Sie die Prüfung ablegen und die Ergebnisse erhalten, erhalten Sie eine hohe Note. Eine gute Note kann ein Zeichen dafür sein, dass Sie das Thema sehr gut beherrschen. Wenn Ihnen jedoch jemand eine Frage zu einem Thema stellt, das nicht Gegenstand der Prüfung war, könnten Sie die Frage falsch beantworten, weil Sie sich das Thema nicht angeeignet, sondern nur die Antworten auswendig gelernt haben. Die Überanpassung funktioniert auf ähnliche Weise.

Verbessern Ihres Modells

Wenn Sie mit den Auswertungsmetriken Ihres Modells nicht zufrieden sind, können Sie versuchen, Ihr Modell mit folgenden Maßnahmen zu verbessern:

  • Bereitstellen von repräsentativeren Datenbeobachtungen: Die Erfahrung ist die beste Lehrmeisterin. Dies gilt auch beim maschinellen Lernen. Je mehr Datenbeobachtungen Sie bereitstellen können, desto mehr Muster kann Ihr Modell erkennen.
  • Bereitstellen von mehr Kontext: Das Hinzufügen von Spalten, die Ihren Daten Kontext verleihen, unterstützt Ihr Modell beim Erkennen von Mustern. Angenommen, Sie versuchen, den Preis für ein Haus vorherzusagen, und Ihr einziger Datenpunkt ist die Anzahl der Räume. Dies allein sagt vielleicht noch nicht viel aus. Aber was wäre, wenn Sie wüssten, dass das Haus in einem Vorort außerhalb eines großen Ballungsgebiets liegt, in dem das durchschnittliche Haushaltseinkommen 80.000 US-Dollar beträgt und die Schulen zu den besten 20 Prozent gehören? Nun verfügen Sie über weitere Informationen, die Sie bei der Entscheidung des Modells unterstützen können.
  • Verwenden aussagekräftiger Daten und Features: Wenngleich mehr Datenbeispiele und Features möglicherweise zu einer höheren Genauigkeit des Modells beitragen, können sie auch ein Rauschen verursachen, da nicht alle Daten und Features sinnvoll sind. Es ist wichtig zu verstehen, welche Features sich am stärksten auf die Entscheidungen des Algorithmus auswirken.
  • Erkunden weiterer Algorithmen: Wenn Sie Model Builder mehr Zeit einräumen, um weitere Algorithmen und Hyperparameter zu erproben, kann dies zur Verbesserung Ihres Modells beitragen.

In der nächsten Lerneinheit verwenden Sie Model Builder, um ein Machine Learning-Modell zu trainieren.