Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Die ML.NET CLI automatisiert die Modellgenerierung für .NET-Entwickler.
Um die ML.NET-API selbst zu verwenden, (ohne die ML.NET AutoML CLI), müssen Sie einen Trainer (Implementierung eines Machine Learning-Algorithmus für eine bestimmte Aufgabe) und den Satz von Datentransformationen (Feature Engineering) auswählen, um sie auf Ihre Daten anzuwenden. Die optimale Pipeline variiert für jedes Dataset und die Auswahl des optimalen Algorithmus aus allen Auswahlmöglichkeiten erhöht die Komplexität. Darüber hinaus verfügt jeder Algorithmus über eine Reihe von Hyperparametern, die abgestimmt werden sollen. Daher können Sie Wochen und manchmal Monate mit der Optimierung des Machine Learning-Modells verbringen, um die besten Kombinationen aus Feature engineering, Lernalgorithmen und Hyperparametern zu finden.
Die ML.NET CLI vereinfacht diesen Prozess mithilfe des automatisierten Maschinellen Lernens (AutoML).
Hinweis
Dieser Artikel bezieht sich auf ML.NET CLI und ML.NET AutoML, die sich derzeit in der Vorschau befinden, und Material kann geändert werden.
Was ist die ML.NET Befehlszeilenschnittstelle (CLI)?
Die ML.NET CLI ist ein .NET-Tool. Nach der Installation geben Sie ihm eine Machine Learning-Aufgabe und ein Schulungsdatensatz, und es generiert ein ML.NET-Modell sowie den C#-Code, der ausgeführt werden soll, um das Modell in Ihrer Anwendung zu verwenden.
Wie in der folgenden Abbildung dargestellt, ist es einfach, ein qualitativ hochwertiges ML.NET-Modell (serialisiertes Modell .zip Datei) sowie den C#-Beispielcode zu generieren, um dieses Modell auszuführen/zu scoren. Darüber hinaus wird der C#-Code zum Erstellen/Trainieren dieses Modells generiert, sodass Sie nach dem Algorithmus und den Einstellungen forschen und durchlaufen können, die für dieses generierte "beste Modell" verwendet werden.
Sie können diese Ressourcen aus Ihren eigenen Datasets generieren, ohne selbst zu programmieren, damit Ihre Produktivität auch dann steigt, selbst wenn Sie ML.NET bereits kennen.
Derzeit sind die ml-Aufgaben, die von der ML.NET CLI unterstützt werden:
- Klassifizierung
- Regression
- Empfehlung
- Bildklassifizierung
- Planung
- Zug
Die ML.NET CLI kann basierend auf Ihrem Betriebssystem und ihrer Architektur mit dem folgenden Befehl installiert werden:
dotnet tool install --global mlnet-<OS>-<ARCH>
Beispielsweise kann die x64-Version von Windows installiert werden mit:
dotnet tool install --global mlnet-win-x64
Weitere Informationen finden Sie im Anleitungshandbuch zur Installation der ML.NET CLI .
Ein Beispiel für die Verwendung (Klassifizierungsszenario):
mlnet classification --dataset "yelp_labelled.txt" --label-col 1 --has-header false --train-time 10
Es gibt auch einen Befehl, in dem Sie mit einer mbconfig-Datei trainieren können. Die mbconfig-Datei wird erstellt, wenn Sie eine Modell-Generator-Sitzung starten.
Sie können es auf die gleiche Weise auf Windows PowerShell, macOS/Linux bash oder Windows CMD ausführen. Tabellarische Automatische Vervollständigung (Parametervorschläge) funktionieren jedoch nicht unter Windows CMD.
Generierte Ausgabeobjekte
Die ML-Aufgabenbefehle in der CLI generieren die folgenden Ressourcen im Ausgabeordner:
- C#-Lösung mit:
- Eine Konsolen-App, die das generierte Modell ausführt/bewertet (um Vorhersagen in Ihren Endbenutzer-Apps mit diesem Modell zu erstellen).
- Eine Konsolen-App mit dem Schulungscode zum Generieren dieses Modells (für Lernzwecke oder Modellumschulungen).
- Dieses serialisierte Modell ("bestes Modell") wird auch als komprimierte .zip Datei bereitgestellt, die für die Ausführung von Vorhersagen verwendet werden kann.
- Eine mbconfig-Datei , die Konfigurationsdaten enthält, mit denen Sie das Modell im Modell-Generator öffnen können.
- Protokolldatei mit Informationen über alle Iterationen/Sweep-Vorgänge über die verschiedenen ausgewerteten Algorithmen, einschließlich ihrer detaillierten Konfiguration/Pipeline.
Die ersten beiden Ressourcen können direkt in Ihren Endbenutzer-Apps verwendet werden (z. B. ASP.NET Core Web Apps, Dienste und Desktop-Apps), um Vorhersagen mit diesem generierten ML-Modell zu erstellen.
Die dritte Ressource, der Trainingscode, zeigt Ihnen, welcher ML.NET API-Code von der CLI verwendet wurde, um das generierte Modell zu trainieren. Damit können Sie Ihr Modell erneut trainieren, untersuchen und weiterentwickeln, welche spezifischen Trainer und Algorithmen sowie Hyperparameter von der CLI und AutoML im Hintergrund ausgewählt wurden.
Grundlegendes zur Qualität des Modells
Wenn Sie ein "bestes Modell" mit dem CLI-Tool generieren, werden Qualitätsmetriken (z. B. Genauigkeit und R-Quadrat) entsprechend der ML-Aufgabe angezeigt, die Sie anstreben.
Hier werden diese Metriken nach ML-Aufgabe zusammengefasst, sodass Sie die Qualität Ihres automatisch generierten "besten Modells" verstehen können.
Metriken für Klassifizierungsmodelle
Die folgende Abbildung zeigt die Klassifizierungsmetrikenliste für die fünf top Modelle, die von der CLI gefunden wurden:
Genauigkeit ist eine beliebte Metrik für Klassifizierungsprobleme. Die Genauigkeit ist jedoch nicht immer die beste Metrik, um das beste Modell auszuwählen, wie in den folgenden Verweisen erläutert. Es gibt Fälle, in denen Sie die Qualität Ihres Modells mit zusätzlichen Metriken bewerten müssen.
Informationen zu den Metriken, die von der CLI ausgegeben werden, finden Sie unter Auswertungsmetriken für die Klassifizierung.
Metriken für Regressions- und Empfehlungsmodelle
Ein Regressionsmodell passt gut zu den Daten, wenn die Unterschiede zwischen den beobachteten Werten und den vorhergesagten Werten des Modells klein und unvoreingenommen sind. Regression kann mit bestimmten Metriken ausgewertet werden.
Es wird eine ähnliche Liste der Metriken für die fünf besten Qualitätsmodelle angezeigt, die von der CLI gefunden wurden, außer in diesem Fall, die fünf wichtigsten sind mit einer Regression ML-Aufgabe verknüpft:
Informationen zu den Metriken, die von der CLI ausgegeben werden, finden Sie unter Auswertungsmetriken für Regression.