Wir freuen uns, heute die Veröffentlichung von ML.NET 1.0 bekannt zu geben . ML.NET ist ein kostenloses, plattformübergreifendes und Open-Source-Framework für maschinelles Lernen, mit dem die Leistungsfähigkeit des maschinellen Lernens (ML) in .NET-Anwendungen integriert werden soll.

https://github.com/dotnet/machinelearning
Erste Schritte: http://dot.net/ml
Mit ML.NET können Sie benutzerdefinierte Modelle für maschinelles Lernen mithilfe von C # oder F # für Szenarien wie Stimmungsanalyse, Problemklassifizierung, Prognose, Empfehlungen und mehr trainieren, erstellen und ausliefern. Sie können diese allgemeinen Szenarien und Aufgaben in unserem ML.NET-Beispiel-Repo nachlesen .
ML.NET wurde ursprünglich in Microsoft Research entwickelt und entwickelte sich zu einem bedeutenden Framework, das von vielen Microsoft-Produkten wie Windows Defender, Microsoft Office (Powerpoint-Entwurfsideen, Excel-Diagrammempfehlungen), Azure Machine Learning und PowerBI-Schlüsselbeeinflussern verwendet wird, um nur einige zu nennen!
Seit seiner Einführung wird ML.NET von vielen Organisationen wie SigParser (Spam-E-Mail-Erkennung), William Mullens (Klassifizierung rechtlicher Probleme ) und Evolution Software (Feuchtigkeitserkennung für Haselnüsse) verwendet . Sie können die Reise dieser und vieler anderer Organisationen mit ML.NET auf unserer ML.NET-Kundenschau verfolgen . Diese Benutzer sagen uns, dass die Benutzerfreundlichkeit von ML.NET, die Möglichkeit, ihre .NET-Kenntnisse wiederzuverwenden und ihren Tech-Stack vollständig in .NET zu halten, die Haupttreiber für die Verwendung von ML.NET sind.
Zusammen mit der Version ML.NET 1.0 fügen wir jetzt auch neue Vorschaufunktionen wie die Leistungsfähigkeit des automatisierten maschinellen Lernens (AutoML) und neue Tools wie ML.NET CLI und ML.NET Model Builder hinzu, was bedeutet, dass Ihren Anwendungen jetzt Modelle für maschinelles Lernen hinzugefügt werden Nur einen Rechtsklick entfernt!

Der Rest dieses Beitrags konzentriert sich auf diese neuen Erfahrungen.
ML.NET-Kernkomponenten
ML.NET zielt darauf ab, den End-End-Workflow für die Verwendung von ML in .NET-Apps in verschiedenen Schritten des maschinellen Lernens (Vorverarbeitung, Feature-Engineering, Modellierung, Evaluierung und Operationalisierung) bereitzustellen. ML.NET 1.0 bietet die folgenden Schlüsselkomponenten:
- Datendarstellung
- Grundlegende Datentypen der ML- Datenpipeline wie IDataView - der grundlegende Datenpipeline- Typ
- Leser unterstützen das Lesen von Daten aus begrenzten Textdateien oder IEnumerable von Objekten
- Unterstützung für maschinelle Lernaufgaben:
- Binäre Klassifizierung
- Klassifizierung mehrerer Klassen
- Regression
- Rangliste
- Anomalieerkennung
- Clustering
- Empfehlung (Vorschau)
- Datentransformation und Featurisierung
- Text
- Kategorien
- Funktionsauswahl
- Normalisierung und Behandlung fehlender Werte
- Bildfunktion
- Zeitreihen (Vorschau)
- Unterstützung für die Integration von ONNX- und TensorFlow-Modellen (Vorschau)
- Andere
- Modellverständnis und Erklärbarkeit
- Benutzerdefinierte benutzerdefinierte Transformationen
- Schemaoperationen
- Unterstützung für Datensatzmanipulation und Kreuzvalidierung
Vorschau auf automatisiertes maschinelles Lernen
Der Einstieg in das maschinelle Lernen erfordert heute eine steile Lernkurve. Wenn Sie benutzerdefinierte Modelle für maschinelles Lernen erstellen, müssen Sie herausfinden, welche maschinelle Lernaufgabe für Ihr Szenario ausgewählt werden soll (d. H. Klassifizierung oder Regression?). Transformieren Sie Ihre Daten in ein Format, das ML-Algorithmen verstehen können (z. B. Textdaten -> numerische Vektoren). und optimieren Sie diese ML-Algorithmen, um die beste Leistung zu erzielen. Wenn Sie ML noch nicht kennen, kann jeder dieser Schritte ziemlich entmutigend sein!
Automatisiertes maschinelles Lernen vereinfacht Ihre Reise mit ML, indem automatisch herausgefunden wird, wie Ihre Eingabedaten transformiert werden, und der leistungsstärkste ML-Algorithmus mit den richtigen Einstellungen ausgewählt wird, sodass Sie auf einfache Weise erstklassige benutzerdefinierte ML-Modelle erstellen können.
Die AutoML-Unterstützung in ML.NET befindet sich in der Vorschau. Derzeit unterstützen wir die ML-Aufgaben Regression (wird für Szenarien wie Preisvorhersage verwendet) und Klassifizierung (wird für Szenarien wie Stimmungsanalyse, Dokumentklassifizierung, Spam-Erkennung usw. verwendet).
Sie können die AutoML-Erfahrung in ML.NET in drei Formfaktoren mit ML.NET Model Builder, ML.NET CLI oder direkt mit der AutoML-API ausprobieren (Beispiele finden Sie hier ).
Für Benutzer, die mit maschinellem Lernen noch nicht vertraut sind, empfehlen wir, auf jeder Plattform mit dem ML.NET Model Builder in Visual Studio und der ML.NET CLI zu beginnen. Die AutoML-API ist auch sehr praktisch für Szenarien, in denen Sie Modelle im laufenden Betrieb erstellen möchten.
Vorschau des Model Builder
Um die Reise von .NET-Entwicklern zum Erstellen von ML-Modellen zu vereinfachen, freuen wir uns heute auch, ML.NET Model Builder bekannt zu geben. Mit ML.NET Model Builder ist das Hinzufügen von maschinellem Lernen zu Ihren Apps nur einen Rechtsklick entfernt!
Model Builder ist ein einfaches UI-Tool für Entwickler, das mithilfe von AutoML erstklassige ML-Modelle mit dem von Ihnen bereitgestellten Dataset erstellt. Darüber hinaus generiert Model Builder Modellschulungs- und Modellverbrauchscode für das leistungsstärkste Modell, sodass Sie Ihrer vorhandenen Anwendung schnell ML hinzufügen können.

Erfahren Sie mehr über den ML.NET Model Builder
Model Builder befindet sich derzeit in der Vorschau und wir würden uns freuen, wenn Sie es ausprobieren und uns Ihre Meinung mitteilen!
ML.NET CLI-Vorschau
Die ML.NET CLI (Befehlszeilenschnittstelle) ist ein weiteres neues Tool, das wir heute vorstellen!
ML.NET CLI ist ein Dotnet-Tool, mit dem ML.NET-Modelle mit AutoML und ML.NET generiert werden können. Die ML.NET-CLI durchläuft schnell Ihren Datensatz für eine bestimmte ML-Aufgabe (unterstützt derzeit Regression und Klassifizierung) und erstellt das beste Modell.
Die CLI ermöglicht es Benutzern nicht nur, das beste Modell zu erstellen, sondern auch, Modelltraining und Modellverbrauchscode für das Modell mit der besten Leistung zu generieren.
ML.NET CLI ist plattformübergreifend und ein einfaches Add-On zur .NET CLI. Die Visual Studio-Erweiterung von Model Builder verwendet auch die ML.NET-CLI, um Model Builder-Funktionen bereitzustellen.
Sie können die ML.NET-CLI über diesen Befehl installieren.
dotnet tool install -g mlnet
Das folgende Bild zeigt die ML.NET-CLI, die einen Datensatz zur Stimmungsanalyse erstellt.

Erfahren Sie mehr über die ML.NET CLI
ML.NET CLI ist derzeit auch in der Vorschau und wir würden uns freuen, wenn Sie es ausprobieren und Ihre Gedanken unten teilen!
Erste Schritte!
Wenn Sie dies noch nicht getan haben, ist der Einstieg in ML.NET einfach und Sie können dies in wenigen einfachen Schritten tun, wie unten gezeigt. Das folgende Beispiel zeigt, wie Sie mit ML.NET eine Stimmungsanalyse durchführen können .
Sie können auch verschiedene andere Lernressourcen wie Tutorials und Ressourcen für ML.NET sowie ML.NET-Beispiele untersuchen , die beliebte Szenarien wie Produktempfehlung, Erkennung von Anomalien und mehr in Aktion demonstrieren.
Was kommt als nächstes mit ML.NET?
Obwohl wir uns sehr freuen, ML.NET 1.0 heute zu veröffentlichen, arbeitet das Team bereits intensiv daran, die folgenden Funktionen für ML.NET Release 1.0 zu aktivieren.
- AutoML-Erfahrung für zusätzliche ML-Szenarien
- Verbesserte Unterstützung für Deep-Learning-Szenarien
- Unterstützung für andere zusätzliche Quellen wie SQL Server, CosmosDB, Azure Blob-Speicher und mehr.
- Scale-out in Azure für Modelltraining und -verbrauch
- Unterstützung für zusätzliche ML-Szenarien und -Funktionen bei Verwendung von Model Builder und CLI
- Native Integration für maschinelles Lernen in großem Maßstab mit .NET für Apache Spark und ML.NET
- Neue ML-Typen in .NET, z. B. DataFrame