Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge aus, um die neuesten Funktionen, Sicherheitsupdates und technischen Support zu nutzen.
Hier erfahren Sie, wie Sie mit dem ML.NET-Modellgenerator ein Regressionsmodells für Preisvorhersagen erstellen. Die .NET Konsolenanwendung, die Sie in diesem Tutorial entwickeln, sagt Taxipreise basierend auf historischen Taxipreisdaten aus New York vorher.
Die Preisvorhersagevorlage des Modell-Generators kann für jedes Szenario verwendet werden, das einen numerischen Vorhersagewert erfordert. Beispielszenarien sind: Vorhersagen des Hauspreises oder der Nachfrage und Umsatzprognosen.
In diesem Tutorial lernen Sie, wie die folgenden Aufgaben ausgeführt werden:
Eine Liste der Voraussetzungen und Installationsanweisungen finden Sie in der Installationsanleitung für den Modell-Generator.
Erstellen Sie ein Verzeichnis mit dem Namen Daten in Ihrem Projekt, um die Datasetdateien zu speichern.
Das Dataset zum Trainieren und Bewerten des Machine Learning-Modells stammt ursprünglich aus dem Dataset „NYC TLC Taxi Trip“.
Navigieren Sie zum Herunterladen des Datasets zum Downloadlink für „taxi-fare-train.csv“.
Klicken Sie mit der rechten Maustaste auf die geladene Seite, und wählen Sie Speichern unter aus.
Speichern Sie die Datei über das Dialogfeld Speichern unter im Ordner Daten, den Sie im vorherigen Schritt erstellt haben.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf die Datei taxi-fare-train.csv, und wählen Sie Eigenschaften aus. Ändern Sie unter Erweitert den Wert von In Ausgabeverzeichnis kopieren in Kopieren, wenn neuer.
Jede Zeile im Dataset taxi-fare-train.csv
enthält Details zu den Fahrten eines Taxis.
Öffnen Sie das Dataset taxi-fare-train.csv.
Das angegebene Dataset enthält die folgenden Spalten:
label
ist die Spalte, die vorhergesagt werden soll. Das Ziel bei der Durchführung einer Regressionsaufgabe ist die Vorhersage eines numerischen Werts. In diesem Preisvorhersageszenario werden die Kosten für eine Taxifahrt vorhergesagt. Daher lautet die Bezeichnung fare_amount. Die identifizierten features
sind die Eingaben, die Sie für das Modell zum Vorhersagen von label
bereitstellen. In diesem Fall werden die restlichen Spalten mit Ausnahme von trip_time-in-secs als Features oder Eingaben verwendet, um den Fahrpreis vorherzusagen.
Wenn Sie der Projektmappe Model Builder hinzufügen, werden Sie aufgefordert, eine mbconfig
-Datei zu erstellen. Die mbconfig
-Datei verfolgt alles, was Sie in Model Builder tun, damit Sie die Sitzung erneut öffnen können.
mbconfig
-Projekt TaxiFarePrediction, und klicken Sie auf die Schaltfläche Hinzufügen.Um Ihr Modell zu trainieren, wählen Sie ein Szenario aus der Liste der vom Modell-Generator bereitgestellten verfügbaren Machine Learning-Szenarien aus. In diesem Fall handelt es sich um das Szenario Value prediction
.
Model Builder kann das Training je nach ausgewähltem Szenario in verschiedenen Umgebungen ausführen.
Local (CPU)
-Element ausgewählt ist, und klicken Sie auf die Schaltfläche Nächster Schritt.Der Modellgenerator akzeptiert Daten aus zwei Quellen: aus einer SQL Server-Datenbank oder aus einer lokalen Datei im CSV- oder TSV-Format.
Die in diesem Tutorial zum Trainieren des Preisvorhersagemodells verwendete Machine Learning-Aufgabe ist die Regression. Während des Modelltrainings trainiert der Modell-Generator einzelne Modelle mit verschiedenen Regressionsalgorithmen und Einstellungen, um das leistungsfähigste Modell für Ihr Dataset zu finden.
Die Zeit, die für das Trainieren des Modells benötigt wird, ist proportional zur Datenmenge. Der Modell-Generator legt automatisch einen Standardwert für Time to train (seconds) (Trainingszeit (Sekunden)) basierend auf der Größe der Datenquelle fest.
Während des gesamten Trainingsprozesses werden die Fortschrittsdaten im Abschnitt Training results
des Schritts „Trainieren“ angezeigt.
Sobald das Training abgeschlossen ist, enthält die mbconfig
-Datei das nach dem Training generierte Modell namens TaxiFarePrediction.zip
und mit ihm zwei C#-Dateien:
Klicken Sie auf die Schaltfläche Nächster Schritt, um zum Auswertungsschritt zu navigieren.
Das Ergebnis des Schritts „Trainieren“ ist ein Modell mit der besten Leistung. Der Auswertungsschritt des Model Builder-Tools enthält im Eintrag Modell des Abschnitts Bestes Modell den Algorithmus, der vom Modell mit der besten Leistung verwendet wird, sowie in RSquared Metriken für dieses Modell.
Darüber hinaus wird im Fenster Ausgabe von Visual Studio eine Zusammenfassungstabelle mit den wichtigsten Modellen und ihren Metriken angezeigt.
In diesem Abschnitt können Sie ihr Modell auch testen, indem Sie eine einzelne Vorhersage ausführen. Zum Eintragen von Werten stehen Textfelder zur Verfügung, und Sie können auf die Schaltfläche Vorhersage klicken, um eine Vorhersage vom besten Modell zu erhalten. Standardmäßig wird dies durch eine zufällige Zeile in Ihrem Dataset ausgefüllt.
Wenn Sie mit Ihren Genauigkeitsmetriken nicht zufrieden sind, gibt es einige einfache Möglichkeiten, die Modellgenauigkeit zu verbessern. Dazu müssen Sie die Zeit für das Training des Modells erhöhen oder mehr Daten verwenden. Klicken Sie andernfalls auf Nächster Schritt, um zum Nutzungsschritt zu navigieren.
Dieser Schritt enthält Projektvorlagen, mit denen Sie das Modell nutzen können. Dieser Schritt ist optional, und Sie können die Methode auswählen, die Ihren Anforderungen, das Modell zu bedienen, am besten entspricht.
Wenn Sie Ihrer Projektmappe eine Konsolen-App hinzufügen, werden Sie aufgefordert, das Projekt zu benennen.
Nennen Sie das Konsolenprojekt TaxiFare_Console.
Klicken Sie auf Zu Projektmappe hinzufügen, um das Projekt Ihrer aktuellen Projektmappe hinzuzufügen.
Führen Sie die Anwendung aus.
Die vom Programm generierte Ausgabe sollte wie der folgende Ausschnitt aussehen:
Predicted Fare: 15.020833
Wenn Sie Ihrer Projektmappe eine Web-API hinzufügen, werden Sie aufgefordert, das Projekt zu benennen.
Nennen Sie das Web-API-Projekt TaxiFare_API.
Klicken Sie auf Zu Projektmappe hinzufügen*, um das Projekt Ihrer aktuellen Projektmappe hinzuzufügen.
Führen Sie die Anwendung aus.
Öffnen Sie PowerShell, und geben Sie den folgenden Code ein, wobei PORT der Port ist, auf dem Ihre Anwendung lauscht.
$body = @{
Vendor_id="CMT"
Rate_code=1.0
Passenger_count=1.0
Trip_distance=3.8
Payment_type="CRD"
}
Invoke-RestMethod "https://localhost:<PORT>/predict" -Method Post -Body ($body | ConvertTo-Json) -ContentType "application/json"
Bei erfolgreicher Ausführung sollte die Ausgabe dem folgenden Text ähneln:
score
-----
15.020833
In diesem Tutorial haben Sie Folgendes gelernt:
Weitere Informationen zu den in diesem Tutorial erwähnten Themen finden Sie in den folgenden Ressourcen:
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Ereignisse
17. März, 23 Uhr - 21. März, 23 Uhr
Nehmen Sie an der Meetup-Serie teil, um skalierbare KI-Lösungen basierend auf realen Anwendungsfällen mit Mitentwicklern und Experten zu erstellen.
Jetzt registrierenSchulung
Modul
In diesem Modul erfahren Sie, wie Sie ML.NET Model Builder verwenden, um ein Machine Learning-Modell für Predictive Maintenance zu trainieren und zu nutzen.
Zertifizierung
Microsoft Certified: Azure Data Scientist Associate - Certifications
Verwalten Sie Datenerfassung und -vorbereitung, Modelltraining und -bereitstellung sowie die Überwachung von Machine Learning-Lösungen mit Python, Azure Machine Learning und MLflow.
Dokumentation
Automatisieren des Modelltrainings mit der ML.NET-CLI - ML.NET
Erfahren Sie, wie Sie mit dem ML.NET-CLI-Tool automatisch das beste Modell über die Befehlszeile trainieren können.
Tutorial: Analysieren der Stimmung: Textklassifizierung - ML.NET
Dieses Tutorial zeigt Ihnen, wie Sie eine Razor Pages-Anwendung erstellen, die die Stimmung in Websitekommentaren klassifiziert und die entsprechenden Maßnahmen ergreift. Die Klassifizierung verwendet in der Model Builder-Erweiterung von Visual Studio das Szenario „Textklassifizierung“.
ML.NET Dokumentation – Lernprogramme, API-Referenz
Erfahren Sie, wie Sie open-Source-ML.NET verwenden, um benutzerdefinierte Machine Learning-Modelle zu erstellen und in Apps zu integrieren. Lernprogramme, Codebeispiele und mehr zeigen Ihnen, wie das geht.