Was ist AutoML?
AutoML vereinfacht den Prozess der Anwendung des maschinellen Lernens auf Ihre Datasets, indem automatisch der beste Algorithmus und die Hyperparameterkonfiguration für Sie gefunden werden.
Wie funktioniert automatisiertes maschinelles Lernen?
Geben Sie Ihr Dataset und den Typ des ML-Problems an, und dann führt automatisiertes ML die folgenden Aktionen aus:
- Es bereinigt Ihre Daten und bereitet sie vor.
- Es orchestriert verteiltes Modelltraining und Hyperparameteroptimierung über mehrere Algorithmen hinweg.
- Es ermittelt das beste Modell mithilfe von Open Source-Auswertungsalgorithmen von scikit-learn, xgboost, LightGBM, Prophet und ARIMA.
- Es zeigt die Ergebnisse an. Automatisiertes ML generiert außerdem Quellcode-Notebooks für jeden Testlauf, sodass Sie den Code bei Bedarf überprüfen, reproduzieren und ändern können.
Erste Schritte mit AutoML-Experimenten über eine Ui mit geringem Code für Regression; Klassifizierung oder Prognose oder die Python-API.
Anforderungen
Azure Databricks empfiehlt Databricks Runtime 10.4 LTS ML oder höher für die allgemeine Verfügbarkeit von AutoML.
AutoML hängt vom Paket ab
databricks-automl-runtime
, das Komponenten enthält, die außerhalb von AutoML nützlich sind, und hilft auch bei der Vereinfachung der Notizbücher, die von der AutoML-Schulung generiert werden.databricks-automl-runtime
ist unter PyPI verfügbar.Im Cluster können keine zusätzlichen Bibliotheken installiert werden, die nicht in der Databricks Runtime für Machine Learning vorinstalliert sind.
- Jede Änderung (Entfernung, Upgrades oder Downgrades) an vorhandenen Bibliotheksversionen führt aufgrund von Inkompatibilität zu Ausführungsfehlern.
Für den Zugriff auf Dateien in Ihrem Arbeitsbereich müssen Sie die Netzwerkports 1017 und 1021 für AutoML-Experimente öffnen. Um diese Ports zu öffnen oder zu bestätigen, dass sie offen sind, überprüfen Sie die Konfiguration Ihrer Cloud-VPN-Firewall und die Regeln für Sicherheitsgruppen, oder wenden Sie sich an Ihren lokalen Cloudadministrator. Weitere Informationen zur Konfiguration und Bereitstellung von Arbeitsbereichen finden Sie unter Erstellen eines Arbeitsbereichs.
Verwenden Sie eine Computeressource mit einem unterstützten Computezugriffsmodus. Nicht alle Computezugriffsmodi haben Zugriff auf den Unity Catalog:
Computezugriffsmodus AutoML-Unterstützung Unity Catalog-Unterstützung einzelner Benutzer Unterstützt (muss der designierte einzelne Benutzer für den Cluster sein) Unterstützt Zugriffsmodus Freigegeben Nicht unterstützt Nicht unterstützt Keine Isolation, freigegeben Unterstützt Nicht unterstützt
AutoML-Algorithmen
AutoML trainiert und wertet Modelle basierend auf den Algorithmen in der folgenden Tabelle aus.
Hinweis
Für Klassifizierungs- und Regressionsmodelle basieren die Entscheidungsstruktur, zufällige Gesamtstrukturen, logistische Regression und lineare Regression mit stochastischen Gradientenabstiegsalgorithmen auf scikit-learn.
Klassifizierungsmodelle | Regressionsmodelle | Vorhersagemodelle |
---|---|---|
Entscheidungsstrukturen | Entscheidungsstrukturen | Prophet |
Random Forests | Random Forests | Auto-ARIMA (Verfügbar in Databricks Runtime 10.3 ML und höher.) |
Logistische Regression | Lineare Regression mit stochastischem Gradientenverfahren | |
XGBoost | XGBoost | |
LightGBM | LightGBM |
Generierung eines Testnotebooks
Klassisches Compute AutoML generiert Notizbücher des Quellcodes hinter Testversionen, sodass Sie den Code nach Bedarf überprüfen, reproduzieren und ändern können.
Für Vorhersageexperimente werden vom automatisierten maschinellen Lernen (AutoML) generierte Notebooks für alle Testläufe Ihres Experiments automatisch in Ihren Arbeitsbereich importiert.
Für Klassifizierungs- und Regressionsexperimente werden von AutoML generierte Notebooks für die Datenuntersuchung und der beste Testlauf in Ihrem Experiment automatisch in Ihren Arbeitsbereich importiert. Für andere Experimenttestläufe generierte Notebooks werden als MLflow-Artefakte im DBFS gespeichert, anstatt sie automatisch in Ihren Arbeitsbereich zu importieren. Für alle Testläufe abgesehen vom besten Testlauf werden notebook_path
und notebook_url
in der TrialInfo
-Python-API nicht festgelegt. Wenn Sie diese Notebooks verwenden müssen, können Sie sie manuell über die AutoML-Benutzeroberfläche für Experimente oder die Python-API databricks.automl.import_notebook
in Ihren Arbeitsbereich importieren.
Wenn Sie nur das von AutoML generierte Notebook für die Datenuntersuchung oder das Notebook für den besten Testlauf verwenden, enthält die Spalte Quelle in der AutoML-Benutzeroberfläche für Experimente den Link zum generierten Notebook für den besten Testlauf.
Wenn Sie andere generierte Notebooks in der AutoML-Benutzeroberfläche für Experimente verwenden, werden diese nicht automatisch in den Arbeitsbereich importiert. Sie können die Notizbücher finden, indem Sie in jeder ausgeführten MLflow-Instanz klicken. Das IPython-Notizbuch wird im Abschnitt Artefakte der Ausführungsseite gespeichert. Sie können dieses Notizbuch herunterladen und in den Arbeitsbereich importieren, wenn das Herunterladen von Artefakten von Ihren Arbeitsbereichsadministratoren aktiviert wurde.
Shapley-Werte (SHAP) zur Modellerklärbarkeit
Hinweis
Bis MLR 11.1 werden keine SHAP-Plots generiert, wenn das Dataset eine Spalte vom Typ datetime
enthält.
Die von den AutoML-Regressions- und Klassifizierungsausführungen erstellten Notebooks enthalten Code zur Berechnung der Shapley-Werte. Die Shapley-Werte basieren auf der Spieltheorie und schätzen die Bedeutung jedes Features für die Vorhersagen eines Modells.
AutoML-Notebooks berechnen Shapley-Werte mithilfe des SHAP-Pakets. Da diese Berechnungen äußerst arbeitsspeicherintensiv sind, werden sie nicht standardmäßig durchgeführt.
So berechnen Sie Shapley-Werte und zeigen Sie an
- Wechseln Sie zum Abschnitt Featurerelevanz in einem von AutoML generierten Testnotebook.
- Legen Sie
shap_enabled = True
fest. - Führen Sie das Notebook erneut aus.