Freigeben über


Trainieren eines Regressionsmodells mit automatisiertem maschinellem Lernen und Python (SDK v1)

GILT FÜR: Python SDK azureml v1

In diesem Artikel erfahren Sie, wie Sie mit dem Python SDK für Azure Machine Learning ein Regressionsmodell unter Verwendung des automatisierten maschinellen Lernens von Azure Machine Learning trainieren. Das Regressionsmodell prognostiziert die Fahrgastpreise für Taxis in New York City (NYC). Sie schreiben Code mit dem Python SDK, um einen Arbeitsbereich mit vorbereiteten Daten zu konfigurieren, das Modell lokal mit benutzerdefinierten Parametern zu trainieren und die Ergebnisse zu untersuchen.

Der Prozess akzeptiert Schulungsdaten und Konfigurationseinstellungen. Er durchläuft automatisch Kombinationen verschiedene Kombinationen von Featurenormalisierungs-/Standardisierungsmethoden, Modellen und Hyperparametereinstellungen, um das bestmögliche Modell zu erhalten. Das folgende Diagramm veranschaulicht den Prozessflow für das Regressionsmodelltraining:

Diagramm: Prozessflow für das im Artikel beschriebene Regressionsmodelltraining

Voraussetzungen

  • Ein Azure-Abonnement. Sie können ein kostenloses oder kostenpflichtiges Konto für Azure Machine Learning erstellen.

  • Einen Azure Machine Learning-Arbeitsbereich und eine Compute-Instanz Informationen zum Vorbereiten dieser Ressourcen finden Sie unter Schnellstart Erste Schritte mit Azure Machine Learning.

  • Rufen Sie die vorbereiteten Beispieldaten für die Übungen des Tutorials ab, indem Sie ein Notebook in Ihren Arbeitsbereich laden:

    1. Wechseln Sie zum Arbeitsbereich im Azure Machine Learning Studio, wählen Sie Notebooks und anschließend die Registerkarte Beispiele aus.

    2. Erweitern Sie in der Liste der Notebooks den Knoten Samples>SDK v1>Tutorials>regression-automl-nyc-taxi-data.

    3. Wählen Sie das Notebook regression-automl-nyc-taxi-data aus.

    4. Damit Sie jede Notebookzelle im Rahmen dieses Tutorials ausführen können, wählen Sie Diese Datei klonen aus.

    Alternativer Ansatz: Wenn Sie möchten, können Sie die Übungen des Tutorials auch in einer lokalen Umgebung ausführen. Das Tutorial ist im Azure Machine Learning Notebooks-Repository auf GitHub verfügbar. Wenn Sie sich für diesen Ansatz entscheiden, führen Sie die folgenden Schritte aus, um die erforderlichen Pakete abzurufen:

    1. Installieren Sie den vollständigen automl-Client.

    2. Führen Sie den Befehl pip install azureml-opendatasets azureml-widgets auf Ihrem lokalen Computer aus, um die erforderlichen Pakete abzurufen.

Herunterladen und Vorbereiten von Daten

Das Paket „Open Datasets“ enthält eine Klasse für jede Datenquelle (z. B. NycTlcGreen), damit Sie vor dem Herunterladen Datumsparameter einfach filtern können.

Mit dem folgenden Code werden die erforderlichen Pakete importiert:

from azureml.opendatasets import NycTlcGreen
import pandas as pd
from datetime import datetime
from dateutil.relativedelta import relativedelta

Der erste Schritt besteht darin, einen DataFrame für die Taxidaten zu erstellen. Wenn Sie nicht in einer Spark-Umgebung arbeiten, können Sie mit dem Paket „Open Datasets“ bei bestimmten Klassen jeweils nur einen Monat an Daten herunterladen. Dieser Ansatz trägt dazu bei, das MemoryError-Problem zu vermeiden, das bei großen Datasets auftreten kann.

Um die Taxidaten herunterzuladen, rufen Sie iterativ einen Monat nach dem anderen ab. Bevor Sie den nächsten Satz von Daten an den green_taxi_df-DataFrame anfügen, wählen Sie eine Zufallsstichprobe von 2.000 Datensätzen aus jedem Monat, und sehen Sie sich dann die Daten in der Vorschau an. Mit diesem Ansatz lässt sich ein Aufblähen des DataFrames vermeiden.

Mit dem folgenden Code wird der DataFrame erstellt, dann werden die Daten abgerufen und in den DataFrame geladen:

green_taxi_df = pd.DataFrame([])
start = datetime.strptime("1/1/2015","%m/%d/%Y")
end = datetime.strptime("1/31/2015","%m/%d/%Y")

for sample_month in range(12):
   temp_df_green = NycTlcGreen(start + relativedelta(months=sample_month), end + relativedelta(months=sample_month)) \
      .to_pandas_dataframe()
   green_taxi_df = green_taxi_df.append(temp_df_green.sample(2000))

green_taxi_df.head(10)

Die folgende Tabelle zeigt die vielen Spalten mit Werten in den Beispieltaxidaten:

vendorID lpepPickupDatetime lpepDropoffDatetime passengerCount tripDistance puLocationId doLocationId pickupLongitude pickupLatitude dropoffLongitude ... paymentType fareAmount extra mtaTax improvementSurcharge tipAmount tollsAmount ehailFee totalAmount tripType
2 2015-01-30 18:38:09 2015-01-30 19:01:49 1 1,88 Keine Keine -73,996155 40,690903 -73,964287 ... 1 15.0 1.0 0,5 0,3 4.00 0,0 Keine 20,80 1.0
1 2015-01-17 23:21:39 2015-01-17 23:35:16 1 2.70 Keine Keine -73,978508 40,687984 -73,955116 ... 1 11,5 0,5 0,5 0,3 2.55 0,0 Keine 15,35 1.0
2 2015-01-16 01:38:40 2015-01-16 01:52:55 1 3.54 Keine Keine -73,957787 40,721779 -73,963005 ... 1 13,5 0,5 0,5 0,3 2.80 0,0 Keine 17.60 1.0
2 2015-01-04 17:09:26 2015-01-04 17:16:12 1 1,00 Keine Keine -73,919914 40,826023 -73,904839 ... 2 6,5 0,0 0,5 0,3 0,00 0,0 Keine 7.30 1.0
1 2015-01-14 10:10:57 2015-01-14 10:33:30 1 5.10 Keine Keine -73,943710 40,825439 -73,982964 ... 1 18.5 0,0 0,5 0,3 3.85 0,0 Keine 23,15 1.0
2 2015-01-19 18:10:41 2015-01-19 18:32:20 1 7.41 Keine Keine -73,940918 40,839714 -73,994339 ... 1 24.0 0,0 0,5 0,3 4.80 0,0 Keine 29,60 1.0
2 2015-01-01 15:44:21 2015-01-01 15:50:16 1 1,03 Keine Keine -73,985718 40,685646 -73.996773 ... 1 6.5 0,0 0,5 0,3 1.30 0,0 Keine 8,60 1.0
2 2015-01-12 08:01:21 2015-01-12 08:14:52 5 2.94 Keine Keine -73,939865 40,789822 -73,952957 ... 2 12,5 0,0 0,5 0,3 0,00 0,0 Keine 13.30 1.0
1 2015-01-16 21:54:26 2015-01-16 22:12:39 1 3.00 Keine Keine -73,957939 40,721928 -73,926247 ... 1 14,0 0,5 0,5 0,3 2.00 0,0 Keine 17,30 1.0
2 2015-01-06 06:34:53 2015-01-06 06:44:23 1 2.31 Keine Keine -73,943825 40,810257 -73,943062 ... 1 10,0 0,0 0,5 0,3 2.00 0,0 Keine 12.80 1.0

Es ist hilfreich, einige Spalten zu entfernen, die Sie nicht für das Training oder und die Erstellung anderer Features benötigen. Beispielsweise können Sie die Spalte lpepPickupDatetime entfernen, weil das automatisierte ML zeitbasierte Features automatisch verarbeitet.

Mit dem folgenden Code werden 14 Spalten aus den Beispieldaten entfernt:

columns_to_remove = ["lpepDropoffDatetime", "puLocationId", "doLocationId", "extra", "mtaTax",
                "improvementSurcharge", "tollsAmount", "ehailFee", "tripType", "rateCodeID",
                "storeAndFwdFlag", "paymentType", "fareAmount", "tipAmount"
               ]
for col in columns_to_remove:
   green_taxi_df.pop(col)

green_taxi_df.head(5)

Bereinigen der Daten

Der nächste Schritt besteht darin, die Daten zu bereinigen.

Mit dem folgenden Code wird die Funktion describe() mit dem neuen DataFrame ausgeführt, um zusammenfassende Statistiken für jedes Feld zu erstellen:

green_taxi_df.describe()

Die folgende Tabelle enthält zusammenfassende Statistiken für die verbleibenden Felder in den Beispieldaten:

vendorID passengerCount tripDistance pickupLongitude pickupLatitude dropoffLongitude dropoffLatitude totalAmount
count 24000,00 24000,00 24000,00 24000,00 24000,00 24000,00 24000,00 24000,00
mean 1,777625 1,373625 2,893981 -73,827403 40,689730 -73,819670 40,684436 14,892744
std 0,415850 1,046180 3,072343 2,821767 1,556082 2,901199 1,599776 12,339749
min 1.00 0.00 0,00 -74,357101 0,00 -74,342766 0,00 -120,80
25 % 2.00 1,00 1.05 -73,959175 40,699127 -73,966476 40,699459 8.00
50 % 2.00 1,00 1,93 -73,945049 40,746754 -73,944221 40,747536 11.30
75% 2.00 1,00 3.70 -73,917089 40,803060 -73,909061 40,791526 17.80
max 2.00 8.00 154,28 0,00 41,109089 0,00 40,982826 425,00

In der zusammenfassenden Statistik sind mehrere Felder als Ausreißer zu erkennen, d. h. als Werte, die die Modellgenauigkeit verringern. Um dieses Problem zu beheben, filtern Sie die Felder für Breiten-/Längengrad (lat/long), sodass sich die Werte innerhalb der Grenzen von Manhattan befinden. Auf diese Weise werden längere Taxifahrten sowie Fahrten herausgefiltert, die in Bezug auf ihre Beziehung zu anderen Features Ausreißer sind.

Filtern Sie als Nächstes das Feld tripDistance so, dass es größer Null, aber kleiner als 31 Meilen (Semiversus-Abstand zwischen zwei Längen-/Breitengrad-Paaren) ist. Mit dieser Technik werden längere Fahrten mit inkonsistenten Fahrtkosten ausgeschlossen.

Das Feld totalAmount weist schließlich negative Werte für Taxitarife auf, die im Kontext unseres Modells nicht sinnvoll sind. Das Feld passengerCount enthält auch ungültige Daten, bei denen der Minimalwert Null ist.

Mit dem folgende Code werden diese Wertanomalien mithilfe von Abfragefunktionen herausgefiltert. Mit diesem Code werden dann die letzten Spalten, die für das Training nicht erforderlich sind, entfernt:

final_df = green_taxi_df.query("pickupLatitude>=40.53 and pickupLatitude<=40.88")
final_df = final_df.query("pickupLongitude>=-74.09 and pickupLongitude<=-73.72")
final_df = final_df.query("tripDistance>=0.25 and tripDistance<31")
final_df = final_df.query("passengerCount>0 and totalAmount>0")

columns_to_remove_for_training = ["pickupLongitude", "pickupLatitude", "dropoffLongitude", "dropoffLatitude"]
for col in columns_to_remove_for_training:
   final_df.pop(col)

Der letzte Schritt in dieser Sequenz besteht darin, die Funktion describe() erneut für die Daten aufzurufen, um sicherzustellen, dass die Bereinigung erwartungsgemäß funktioniert hat. Sie haben jetzt einen vorbereiteten und bereinigten Satz von Taxi-, Feiertags- und Wetterdaten, mit dem Sie das Machine Learning-Modell trainieren können:

final_df.describe()

Konfigurieren des Arbeitsbereichs

Erstellen Sie ein Arbeitsbereichsobjekt aus dem vorhandenen Arbeitsbereich. Ein Arbeitsbereich ist eine Klasse, die Informationen zu Ihrem Azure-Abonnement und Ihren Azure-Ressourcen akzeptiert. Außerdem erstellt der Arbeitsbereich eine Cloudressource zur Überwachung und Nachverfolgung Ihrer Modellausführungen.

Der folgende Code ruft die Workspace.from_config() Funktion auf, um die Datei config.json zu lesen und die Authentifizierungsdetails in ein Objekt namens ws zu laden.

from azureml.core.workspace import Workspace
ws = Workspace.from_config()

Das ws-Objekt wird im restlichen Code in diesem Tutorial verwendet.

Aufteilen von Daten in Trainings- und Testsätze

Teilen Sie die Daten mithilfe der Funktion train_test_split in der Bibliothek scikit-learn in Trainings- und Testsätze auf. Diese Funktion unterteilt die Daten in das x-Dataset (Features) zum Trainieren des Modells und in das y-Dataset (zu prognostizierende Werte) zum Testen.

Der Parameter test_size bestimmt den Prozentsatz der Daten, die zu Testzwecken verwendet werden sollen. Der Parameter random_state legt einen Seed für den Zufallsgenerator fest, damit die Aufteilung zwischen Trainings- und Testdaten deterministisch ist.

Mit dem folgenden Code wird die Funktion train_test_split aufgerufen, um die x- und y-Datasets zu laden:

from sklearn.model_selection import train_test_split

x_train, x_test = train_test_split(final_df, test_size=0.2, random_state=223)

Dieser Schritt dient dazu, Datenpunkte zum Testen des fertigen Modells vorzubereiten, die nicht zum Trainieren des Modells verwendet werden. Diese Punkte werden zur Messung der tatsächlichen Genauigkeit verwendet. Ein gut trainiertes Modell ist in der Lage, aus ungesehenen Daten genaue Vorhersagen zu treffen. Sie verfügen nun über Daten, die für das automatische Trainieren eines Machine Learning-Modells vorbereitet sind.

Automatisches Trainieren von Modellen

Führen Sie die folgenden Schritte aus, um ein Modell automatisch zu trainieren:

  1. Definieren Sie Einstellungen für die Experimentausführung. Fügen Sie Ihre Trainingsdaten an die Konfiguration an, und ändern Sie Einstellungen, die den Trainingsprozess steuern.

  2. Übermitteln Sie das Experiment zur Modelloptimierung. Nachdem Sie das Experiment übermittelt haben, durchläuft der Prozess verschiedene Machine Learning-Algorithmen und Hyperparametereinstellungen unter Berücksichtigung der von Ihnen definierten Einschränkungen. Er optimiert eine Genauigkeitsmetrik, um das am besten geeignete Modell auszuwählen.

Definieren von Trainingseinstellungen

Definieren Sie die Experimentparameter und Modelleinstellungen für das Training. Die vollständige Liste mit den Einstellungen finden Sie hier. Das Übermitteln des Experiments mit diesen Standardeinstellungen nimmt ungefähr 5-20 Minuten in Anspruch. Um die Bearbeitungszeit zu verringern, reduzieren Sie den Parameter experiment_timeout_hours.

Eigenschaft Wert in diesem Tutorial Beschreibung
iteration_timeout_minutes 10 Zeitlimit in Minuten für jede Iteration. Erhöhen Sie diesen Wert für größere Datasets, die mehr Zeit für jede Iteration benötigen.
experiment_timeout_hours 0,3 Maximal zulässige Dauer für alle Iterationen (in Stunden). Danach wird das Experiment beendet.
enable_early_stopping True Flag zum Aktivieren der vorzeitigen Beendigung, wenn sich der Score auf kurze Sicht nicht verbessert.
primary_metric spearman_correlation Metrik, die Sie optimieren möchten. Das am besten geeignete Modell wird basierend auf dieser Metrik ausgewählt.
featurization auto Bei Verwendung des Werts auto kann das Experiment die Eingabedaten vorverarbeiten, beispielsweise fehlende Daten behandeln, Text in numerische Daten umwandeln und Ähnliches tun.
verbosity logging.INFO Steuert den Protokollierungsgrad.
n_cross_validations 5 Anzahl von Kreuzvalidierungsaufteilungen, die ausgeführt werden sollen, wenn keine Überprüfungsdaten angegeben sind.

Mit dem folgenden Code wird das Experiment gesendet:

import logging

automl_settings = {
   "iteration_timeout_minutes": 10,
   "experiment_timeout_hours": 0.3,
   "enable_early_stopping": True,
   "primary_metric": 'spearman_correlation',
   "featurization": 'auto',
   "verbosity": logging.INFO,
   "n_cross_validations": 5
}

Mit dem folgenden Code können Sie Ihre definierten Trainingseinstellungen als **kwargs-Parameter für ein AutoMLConfig-Objekt verwenden. Außerdem geben Sie Ihre Trainingsdaten und den Modelltyp (in diesem Fall regression) an.

from azureml.train.automl import AutoMLConfig

automl_config = AutoMLConfig(task='regression',
                      debug_log='automated_ml_errors.log',
                      training_data=x_train,
                      label_column_name="totalAmount",
                      **automl_settings)

Hinweis

Die Schritte zur Vorverarbeitung bei automatisiertem ML (Featurenormalisierung, Behandlung fehlender Daten, Umwandlung von Text in numerische Daten usw.) werden Teil des zugrunde liegenden Modells. Wenn Sie das Modell für Vorhersagen verwenden, werden die während des Trainings angewendeten Vorverarbeitungsschritte automatisch auf Ihre Eingabedaten angewendet.

Trainieren automatischer Regressionsmodelle

Erstellen Sie ein Experimentobjekt in Ihrem Arbeitsbereich. Ein Experiment fungiert als Container für die einzelnen Aufträge. Übergeben Sie das definierte Objekt vom Typ automl_config an das Experiment, und legen Sie die Ausgabe auf True fest, um den Fortschritt während des Auftrags anzuzeigen.

Nachdem Sie das Experiment gestartet haben, wird die Anzeige der Ausgabe während der Ausführung des Experiments live aktualisiert. Für die einzelnen Iterationen werden jeweils der Modelltyp, die Ausführungsdauer und die Trainingsgenauigkeit angezeigt. Im Feld BEST wird die beste Trainingsbewertung auf der Grundlage Ihres Metriktyps nachverfolgt:

from azureml.core.experiment import Experiment
experiment = Experiment(ws, "Tutorial-NYCTaxi")
local_run = experiment.submit(automl_config, show_output=True)

So sieht die Ausgabe aus:

Running on local machine
Parent Run ID: AutoML_1766cdf7-56cf-4b28-a340-c4aeee15b12b
Current status: DatasetFeaturization. Beginning to featurize the dataset.
Current status: DatasetEvaluation. Gathering dataset statistics.
Current status: FeaturesGeneration. Generating features for the dataset.
Current status: DatasetFeaturizationCompleted. Completed featurizing the dataset.
Current status: DatasetCrossValidationSplit. Generating individually featurized CV splits.
Current status: ModelSelection. Beginning model selection.

****************************************************************************************************
ITERATION: The iteration being evaluated.
PIPELINE: A summary description of the pipeline being evaluated.
DURATION: Time taken for the current iteration.
METRIC: The result of computing score on the fitted pipeline.
BEST: The best observed score thus far.
****************************************************************************************************

 ITERATION   PIPELINE                              DURATION     METRIC     BEST
       0   StandardScalerWrapper RandomForest          0:00:16      0.8746   0.8746
       1   MinMaxScaler RandomForest                 0:00:15      0.9468   0.9468
       2   StandardScalerWrapper ExtremeRandomTrees      0:00:09      0.9303   0.9468
       3   StandardScalerWrapper LightGBM             0:00:10      0.9424   0.9468
       4   RobustScaler DecisionTree                 0:00:09      0.9449   0.9468
       5   StandardScalerWrapper LassoLars            0:00:09      0.9440   0.9468
       6   StandardScalerWrapper LightGBM             0:00:10      0.9282   0.9468
       7   StandardScalerWrapper RandomForest          0:00:12      0.8946   0.9468
       8   StandardScalerWrapper LassoLars            0:00:16      0.9439   0.9468
       9   MinMaxScaler ExtremeRandomTrees            0:00:35      0.9199   0.9468
      10   RobustScaler ExtremeRandomTrees            0:00:19      0.9411   0.9468
      11   StandardScalerWrapper ExtremeRandomTrees      0:00:13      0.9077   0.9468
      12   StandardScalerWrapper LassoLars            0:00:15      0.9433   0.9468
      13   MinMaxScaler ExtremeRandomTrees            0:00:14      0.9186   0.9468
      14   RobustScaler RandomForest                 0:00:10      0.8810   0.9468
      15   StandardScalerWrapper LassoLars            0:00:55      0.9433   0.9468
      16   StandardScalerWrapper ExtremeRandomTrees      0:00:13      0.9026   0.9468
      17   StandardScalerWrapper RandomForest          0:00:13      0.9140   0.9468
      18   VotingEnsemble                         0:00:23      0.9471   0.9471
      19   StackEnsemble                          0:00:27      0.9463   0.9471

Ergebnisse erkunden

Untersuchen Sie die Ergebnisse des automatischen Trainings mit einem Jupyter-Widget. Mit dem Widget können Sie ein Diagramm und eine Tabelle aller individuellen Auftragsiterationen sowie Metriken zur Trainingsgenauigkeit und Metadaten anzeigen. Darüber hinaus können Sie über das Dropdownmenü nach anderen Genauigkeitsmetriken filtern.

Mit dem folgenden Code wird ein Diagramm zum Untersuchen der Ergebnisse erzeugt:

from azureml.widgets import RunDetails
RunDetails(local_run).show()

Die Ausführungsdetails für das Jupyter-Widget:

Screenshot: Ausführungsdetails für das Jupyter-Widget in Azure Machine Learning Studio

Das Plotdiagramm für das Jupyter-Widget:

Screenshot: Plotdiagramm für das Jupyter-Widget in Azure Machine Learning Studio

Abrufen des besten Modells

Mit dem folgenden Code können Sie das beste Modell aus Ihren Iterationen auswählen. Die Funktion get_output gibt die beste Ausführung und das angepasste Modell für den letzten passenden Aufruf zurück. Mithilfe der Überladungen der get_output-Funktion können Sie die beste Ausführung und das am besten angepasste Modell für jede protokollierte Metrik oder eine bestimmte Iteration abrufen.

best_run, fitted_model = local_run.get_output()
print(best_run)
print(fitted_model)

Testen der Genauigkeit des besten Modells

Verwenden Sie das beste Modell, um Vorhersagen für das Testdataset auszuführen und Preise für Taxifahrten vorauszusagen. Die Funktion predict verwendet das beste Modell und prognostiziert die Werte von y (Fahrtkosten) anhand des Datasets x_test.

Der folgende Code gibt die ersten 10 vorhergesagten Kostenwerte aus dem Dataset y_predict aus:

y_test = x_test.pop("totalAmount")

y_predict = fitted_model.predict(x_test)
print(y_predict[:10])

Berechnen Sie den root mean squared error der Ergebnisse. Konvertieren Sie den DataFrame y_test in eine Liste, und vergleichen Sie ihn mit den vorhergesagten Werten. Die Funktion mean_squared_error akzeptiert zwei Wertarrays und berechnet den durchschnittlichen quadratischen Fehler zwischen den Arrays. Die Quadratwurzel des Ergebnisses ergibt einen Fehler in der gleichen Maßeinheit wie die y-Variable (Kosten). Dieser Fehler gibt Aufschluss darüber, wie weit die Vorhersagen des Preises für Taxifahrten ungefähr vom tatsächlichen Preis entfernt sind.

from sklearn.metrics import mean_squared_error
from math import sqrt

y_actual = y_test.values.flatten().tolist()
rmse = sqrt(mean_squared_error(y_actual, y_predict))
rmse

Führen Sie den folgenden Code aus, um den mittleren absoluten Fehler in Prozent (Mean Absolute Percent Error, MAPE) anhand der vollständigen Datasets y_actual und y_predict zu berechnen. Diese Metrik berechnet eine absolute Differenz zwischen jedem vorhergesagten und tatsächlichen Wert und addiert alle Differenzen. Die Summe wird dann als Prozentsatz der gesamten tatsächlichen Werte ausgedrückt.

sum_actuals = sum_errors = 0

for actual_val, predict_val in zip(y_actual, y_predict):
   abs_error = actual_val - predict_val
   if abs_error < 0:
      abs_error = abs_error * -1

   sum_errors = sum_errors + abs_error
   sum_actuals = sum_actuals + actual_val

mean_abs_percent_error = sum_errors / sum_actuals
print("Model MAPE:")
print(mean_abs_percent_error)
print()
print("Model Accuracy:")
print(1 - mean_abs_percent_error)

So sieht die Ausgabe aus:

Model MAPE:
0.14353867606052823

Model Accuracy:
0.8564613239394718

Anhand der endgültigen Metriken für die Vorhersagegenauigkeit sehen Sie, dass das Modell die Preise von Taxifahrten auf der Grundlage der Features des Datasets ziemlich gut vorhersagen kann (in der Regel mit einer Genauigkeit von +/-4,00 USD und einem Fehler von etwa 15 Prozent).

Der traditionelle Entwicklungsprozess für maschinelles Lernen ist äußerst ressourcenintensiv. Es erfordert ein erhebliches Maß an Fachwissen und Zeit, um die Ergebnisse von Dutzenden von Modellen auszuführen und zu vergleichen. Mit automatisiertem maschinellem Lernen können Sie schnell zahlreiche verschiedene Modelle für Ihr Szenario testen.

Bereinigen von Ressourcen

Wenn Sie nicht beabsichtigen, andere Tutorials für Azure Machine Learning zu bearbeiten, führen Sie die folgenden Schritte aus, um die nicht mehr benötigten Ressourcen zu entfernen.

Beenden der Computeinstanz

Wenn Sie Compute verwendet haben, können Sie den virtuellen Computer beenden, wenn Sie ihn nicht verwenden, und Ihre Kosten reduzieren:

  1. Wechseln Sie zum Arbeitsbereich in Azure Machine Learning Studio, und wählen Sie Compute aus.

  2. Wählen Sie in der Liste die Compute-Instanz aus, die Sie beenden möchten, und wählen Sie dann Beenden aus.

Wenn Sie bereit sind, erneut Compute zu verwenden, können Sie den virtuellen Computer neu starten.

Löschen anderer Ressourcen

Wenn Sie die in diesem Lernprogramm erstellten Ressourcen nicht weiter verwenden möchten, können Sie sie löschen, um Gebühren zu vermeiden.

Führen Sie die folgenden Schritte aus, um die Ressourcengruppe und alle Ressourcen zu entfernen:

  1. Navigieren Sie im Azure-Portal zu Ressourcengruppen.

  2. Wählen Sie in der Liste die Ressourcengruppe, die Sie in diesem Lernprogramm erstellt haben, und anschließend Ressourcengruppe löschen aus.

  3. Geben Sie an der Eingabeaufforderung zur Bestätigung den Ressourcengruppennamen ein, und wählen Sie Löschen aus.

Wenn Sie die Ressourcengruppe beibehalten und nur einen einzelnen Arbeitsbereich löschen möchten, führen Sie die folgenden Schritte aus:

  1. Wechseln Sie im Azure-Portal zu der Ressourcengruppe, die den Arbeitsbereich enthält, den Sie entfernen möchten.

  2. Wählen Sie den Arbeitsbereich aus, wählen Sie Eigenschaftenund dann Löschen aus.

Nächster Schritt