Trainieren von Regressionsmodellen mit der AutoML-Python-API
In diesem Artikel wird veranschaulicht, wie Sie ein Modell mit AutoML mithilfe der AutoML Python-API trainieren. Weitere Details finden Sie in der AutoML Python-API-Referenz .
Die API stellt Funktionen zum Starten von AutoML-Ausführungen zum Zweck der Klassifizierung, Regression und Prognose bereit. Jeder Funktionsaufruf trainiert eine Menge von Modellen und generiert ein Testnotebook für jedes Modell.
Weitere Informationen finden Sie unter Anforderungen für AutoML-Experimente.
Erstellen eines Experiments mit der API für automatisiertes maschinelles Lernen
In den folgenden Schritten wird allgemein beschrieben, wie ein Experiment mit automatisiertem maschinellen Lernen mithilfe der API eingerichtet wird:
Erstellen Sie ein Notebook und fügen Sie es einem Cluster an, auf dem Databricks Runtime ML ausgeführt wird.
Identifizieren Sie, welche Tabelle Sie aus Ihrer vorhandenen Datenquelle verwenden möchten, oder laden Sie eine Datendatei in DBFS hoch, und erstellen Sie eine Tabelle.
Um eine AutoML-Ausführung zu starten, verwenden Sie die
automl.regress()
,automl.classify()
oderautoml.forecast()
die Funktion, und übergeben Sie die Tabelle zusammen mit anderen Schulungsparametern. Informationen zum Anzeigen aller Funktionen und Parameter finden Sie in der AutoML Python-API-Referenz.Hinweis
Die
automl.forecast()
Funktion ist nur für die Prognose bei der klassischen Berechnung verfügbar.Zum Beispiel:
# Regression example summary = automl.regress(dataset=train_pdf, target_col="col_to_predict") # Classification example summary = automl.classification(dataset=train_pdf, target_col="col_to_predict") # Forecasting example summary = automl.forecast(dataset=train_pdf, target_col="col_to_predic", time_col="date_col", horizon=horizon, frequency="d", output_database="default")
Wenn die AutoML-Ausführung beginnt, wird in der Konsole eine MLflow-Experiment-URL angezeigt. Verwenden Sie diese URL, um den Fortschritt der Ausführung zu überwachen. Aktualisieren Sie das MLflow-Experiment, um die Testversionen zu sehen, sobald sie abgeschlossen sind.
Nach Abschluss der AutoML-Ausführung:
- Verwenden Sie die Links in der Ausgabezusammenfassung, um zum MLflow-Experiment oder zum Notebook zu navigieren, das die besten Ergebnisse generiert hat.
- Verwenden Sie den Link zum Notebook für das Durchsuchen von Daten, um Einblicke in die Daten zu erhalten, die an das automatisierte maschinelle Lernen übergeben wurden. Sie können dieses Notebook auch an denselben Cluster anfügen und erneut ausführen, um die Ergebnisse zu reproduzieren oder zusätzliche Datenanalysen durchzuführen.
- Verwenden Sie das Zusammenfassungsobjekt, das vom AutoML-Aufruf zurückgegeben wurde, um weitere Details zu den Testversionen zu erkunden oder ein Modell zu laden, das von einer bestimmten Testversion trainiert wurde. Erfahren Sie mehr über das Objekt AutoMLSummary.
- Klonen Sie alle generierten Notebooks aus den Testversionen, und führen Sie sie erneut aus, indem Sie sie an denselben Cluster anfügen, um die Ergebnisse zu reproduzieren. Sie können auch die erforderlichen Änderungen vornehmen und sie erneut ausführen, um zusätzliche Modelle zu trainieren und sie in dasselbe Experiment zu protokollieren.
Importieren eines Notebooks
Um ein Notebook zu importieren, das als MLflow-Artefakt gespeichert wurde, verwenden Sie die Python-API databricks.automl.import_notebook
. Weitere Informationen finden Sie unter Importieren eines Notebooks.
Registrieren und Bereitstellen eines Modells
Sie können Ihr mit automatisiertem maschinellen Lernen trainiertes Modell wie jedes registrierte Modell in der MLflow-Modellregistry registrieren und bereitstellen. Weitere Informationen finden Sie unter Protokollieren, Laden, Registrieren und Bereitstellen von MLflow-Modellen.
Kein Modul namens pandas.core.indexes.numeric
Wenn Sie ein Modell bereitstellen, das mithilfe von automatisiertem ML mit Model Serving erstellt wurde, erhalten Sie möglicherweise den Fehler: No module named pandas.core.indexes.numeric
.
Dies ist auf eine inkompatible pandas
-Version zwischen automatisiertes ML und der Endpunktumgebung der Modellbereitstellung zurückzuführen. So beheben Sie den Fehler
- Laden Sie das skript add-pandas-dependency.py herunter.
Das Skript bearbeitet die
requirements.txt
undconda.yaml
für Ihr protokolliertes Modell so, dass die entsprechendepandas
-Abhängigkeitsversion enthalten ist:pandas==1.5.3
. - Ändern Sie das Skript so, dass es die
run_id
der MLflow-Ausführung einschließt, in der Ihr Modell protokolliert wurde. - Registrieren Sie das Modell erneut bei der MLflow-Modellregistrierung.
- Versuchen Sie, die neue Version des MLflow-Modells bereitzustellen.
Notebookbeispiel
Im folgenden Notebook wird gezeigt, wie Sie eine Regression mit AutoML durchführen.