Konfigurieren automatisierter ML-Experimente in PythonConfigure automated ML experiments in Python

In diesem Leitfaden erfahren Sie, wie Sie verschiedene Konfigurationseinstellungen der automatisierten Machine Learning-Experimente mit dem Azure Machine Learning-SDK definieren.In this guide, learn how to define various configuration settings of your automated machine learning experiments with the Azure Machine Learning SDK. Das automatisierte Machine Learning wählt einen Algorithmus und Hyperparameter für Sie aus und generiert ein Modell, das bereitgestellt werden kann.Automated machine learning picks an algorithm and hyperparameters for you and generates a model ready for deployment. Es gibt verschiedene Optionen, mit denen Sie automatisierte Machine Learning-Experimente konfigurieren können.There are several options that you can use to configure automated machine learning experiments.

Beispiele für automatisierte Machine-Learning-Experimente finden Sie im Tutorial: Trainieren eines Klassifizierungsmodells mit automatisiertem maschinellem Lernen und zum Trainieren von Modellen mit automatisiertem maschinellem Lernen in der Cloud.To view examples of automated machine learning experiments, see Tutorial: Train a classification model with automated machine learning or Train models with automated machine learning in the cloud.

Für das automatisierte maschinelle Lernen sind folgende Konfigurationsoptionen verfügbar:Configuration options available in automated machine learning:

  • Wählen Sie die Experimentart aus: Klassifizierung, Regression oder ZeitreihenvorhersageSelect your experiment type: Classification, Regression, or Time Series Forecasting
  • Datenquelle, Datenformate und Abrufen von DatenData source, formats, and fetch data
  • Wählen Sie das Computeziel aus: lokal oder remote.Choose your compute target: local or remote
  • Einstellungen für automatisierte Machine Learning-ExperimenteAutomated machine learning experiment settings
  • Ausführen eines automatisierten Machine Learning-ExperimentsRun an automated machine learning experiment
  • Untersuchen von ModellmetrikenExplore model metrics
  • Registrieren und Bereitstellen von ModellenRegister and deploy model

Wenn Sie lieber ohne Code arbeiten, informieren Sie sich unter Erstellen, Untersuchen und Bereitstellen automatisierter Experimente mit maschinellem Lernen in Azure Machine Learning-Studio.If you prefer a no code experience, you can also Create your automated machine learning experiments in Azure Machine Learning studio.

VoraussetzungenPrerequisites

Für diesen Artikel ist Folgendes erforderlich:For this article you need,

Auswählen der ExperimentartSelect your experiment type

Legen Sie vor Experimentbeginn fest, welche Art von Problem des maschinellen Lernens Sie lösen möchten.Before you begin your experiment, you should determine the kind of machine learning problem you are solving. Das automatisierte maschinelle Lernen unterstützt die Aufgabentypen classification, regression und forecasting.Automated machine learning supports task types of classification, regression, and forecasting. Weitere Informationen zu AufgabentypenLearn more about task types.

Der folgende Code nutzt den Parameter task im Konstruktor AutoMLConfig, um den Experimenttyp classification anzugeben.The following code uses the task parameter in the AutoMLConfig constructor to specify the experiment type as classification.

from azureml.train.automl import AutoMLConfig

# task can be one of classification, regression, forecasting
automl_config = AutoMLConfig(task = "classification")

Datenquelle und DatenformatData source and format

Das automatisierte Machine Learning unterstützt Daten, die sich auf dem lokalen Desktop oder in der Cloud (z. B. in Azure Blob Storage) befinden.Automated machine learning supports data that resides on your local desktop or in the cloud such as Azure Blob Storage. Die Daten können in einen Pandas DataFrame oder ein Azure Machine Learning-TabularDataset eingelesen werden.The data can be read into a Pandas DataFrame or an Azure Machine Learning TabularDataset. Erfahren Sie mehr über Datasets.Learn more about datasets.

Anforderungen für Trainingsdaten:Requirements for training data:

  • Die Daten müssen in Tabellenform vorliegen.Data must be in tabular form.
  • Der Wert, der vorhergesagt werden soll (Zielspalte), muss in den Daten vorhanden sein.The value to predict, target column, must be in the data.

Für Remoteexperimente müssen Trainingsdaten über die Remotecomputeressource zugänglich sein.For remote experiments, training data must be accessible from the remote compute. AutoML akzeptiert nur TabularDatasets von Azure Machine Learning, wenn Sie auf einer Remotecomputeressource arbeiten.AutoML only accepts Azure Machine Learning TabularDatasets when working on a remote compute.

Azure Machine Learning-Datasets stellen Funktionen für folgende Zwecke bereit:Azure Machine Learning datasets expose functionality to:

  • Einfacher Datentransfer von statischen Dateien oder URL-Quellen in Ihren ArbeitsbereichEasily transfer data from static files or URL sources into your workspace.
  • Bereitstellen Ihrer Daten für Trainingsskripts bei Ausführung auf CloudcomputeressourcenMake your data available to training scripts when running on cloud compute resources. (Ein Beispiel für die Verwendung der Dataset-Klasse zum Einbinden von Daten in Ihr Remotecomputeziel finden Sie unter Trainieren mit Datasets.)See How to train with datasets for an example of using the Dataset class to mount data to your remote compute target.

Mit dem folgenden Code wird ein TabularDataset-Element aus einer Web-URL erstellt.The following code creates a TabularDataset from a web url. Codebeispiele zum Erstellen von Datasets aus anderen Quellen wie lokalen Dateien und Datenspeichern finden Sie unter Erstellen eines TabularDatasets-Element.See Create a TabularDatasets for code examples on how to create datasets from other sources like local files and datastores.

from azureml.core.dataset import Dataset
data = "https://automlsamplenotebookdata.blob.core.windows.net/automl-sample-notebook-data/creditcard.csv"
dataset = Dataset.Tabular.from_delimited_files(data)

Für lokale Computeexperimente werden DataFrames-Objekte von Pandas für schnellere Verarbeitungszeiten empfohlen.For local compute experiments, we recommend pandas dataframes for faster processing times.

import pandas as pd
from sklearn.model_selection import train_test_split

df = pd.read_csv("your-local-file.csv")
train_data, test_data = train_test_split(df, test_size=0.1, random_state=42)
label = "label-col-name"

Trainieren, Überprüfen und Testen von DatenTraining, validation, and test data

Sie können separate Datasets für das Training und die Überprüfung direkt im AutoMLConfig-Konstruktor angeben.You can specify separate training and validation sets directly in the AutoMLConfig constructor. Erfahren Sie mehr über das Konfigurieren von Datenaufteilungen und Kreuzvalidierung für Ihre AutoML-Experimente.Learn more about how to configure data splits and cross validation for your AutoML experiments.

Wenn Sie keinen validation_data- oder n_cross_validation-Parameter explizit angeben, wendet AutoML Standardverfahren an, um zu bestimmen, wie die Überprüfung durchgeführt wird.If you do not explicitly specify a validation_data or n_cross_validation parameter, AutoML applies default techniques to determine how validation is performed. Diese Bestimmung hängt von der Anzahl der Zeilen im Dataset ab, das Ihrem training_data-Parameter zugewiesen wird.This determination depends on the number of rows in the dataset assigned to your training_data parameter.

Größe der Trainings daten Training data size ValidierungsverfahrenValidation technique
Größer als 20.000 ZeilenLarger than 20,000 rows Es wird eine Aufteilung in Trainings- und Validierungsdaten vorgenommen.Train/validation data split is applied. Standardmäßig werden 10 % des ursprünglichen Trainingsdatasets als Validierungsset verwendet.The default is to take 10% of the initial training data set as the validation set. Dieses Validierungsset wird seinerseits für die Metrikberechnung verwendet.In turn, that validation set is used for metrics calculation.
Kleiner als 20.000 ZeilenSmaller than 20,000 rows Der Kreuzvalidierungsansatz wird angewendet.Cross-validation approach is applied. Die Standardanzahl der Faltungen (Folds) hängt von der Zeilenanzahl ab.The default number of folds depends on the number of rows.
Wenn das Dataset weniger als 1.000 Zeilen aufweist, werden 10 Faltungen verwendet.If the dataset is less than 1,000 rows, 10 folds are used.
Wenn die Anzahl der Zeilen zwischen 1.000 und 20.000 liegt, werden drei Faltungen verwendet.If the rows are between 1,000 and 20,000, then three folds are used.

Zu diesem Zeitpunkt müssen Sie Ihre eigenen Testdaten für die Modellauswertung angeben.At this time, you need to provide your own test data for model evaluation. Ein Codebeispiel, in dem Sie Ihre eigenen Testdaten für die Modellauswertung verwenden, finden Sie im Abschnitt Testen von diesem Jupyter Notebook.For a code example of bringing your own test data for model evaluation see the Test section of this Jupyter notebook.

Computeziel zum Ausführen des ExperimentsCompute to run experiment

Legen Sie als Nächstes die Instanz fest, auf der das Modell trainiert werden soll.Next determine where the model will be trained. Ein Trainingsexperiment für automatisiertes maschinelles Lernen kann unter folgenden Computeoptionen ausgeführt werden:An automated machine learning training experiment can run on the following compute options. Informieren Sie sich über die Vor- und Nachteile der lokalen und Remotecomputeoptionen.Learn the pros and cons of local and remote compute options.

  • Ihr lokaler Computer (z. B. lokaler Desktop oder Laptop): Diese Option wird in der Regel für kleine Datasets und während der Untersuchungsphase verwendet.Your local machine such as a local desktop or laptop – Generally when you have a small dataset and you are still in the exploration stage. Ein Beispiel mit einem lokalen Computeziel finden Sie in diesem Notebook.See this notebook for a local compute example.

  • Ein Remotecomputer in der Cloud: Azure Machine Learning Managed Compute ist ein verwalteter Dienst, mit dem Machine Learning-Modelle in Clustern virtueller Azure-Computer trainiert werden können.A remote machine in the cloud – Azure Machine Learning Managed Compute is a managed service that enables the ability to train machine learning models on clusters of Azure virtual machines.

    Ein Remotebeispiel mit Azure Machine Learning Managed Compute finden Sie in diesem Notebook.See this notebook for a remote example using Azure Machine Learning Managed Compute.

  • Ein Azure Databricks-Cluster im Azure-Abonnement.An Azure Databricks cluster in your Azure subscription. Weitere Informationen finden Sie hier: Einrichten eines Azure Databricks-Clusters für automatisiertes maschinelles Lernen.You can find more details here - Setup Azure Databricks cluster for Automated ML. Beispielnotebooks mit Azure Databricks finden Sie auf der GitHub-Website.See this GitHub site for examples of notebooks with Azure Databricks.

Konfigurieren der ExperimenteinstellungenConfigure your experiment settings

Es gibt verschiedene Optionen für das Konfigurieren Ihrer automatisierten Machine Learning-Experimente.There are several options that you can use to configure your automated machine learning experiment. Diese Parameter werden beim Instanziieren eines AutoMLConfig-Objekts festgelegt.These parameters are set by instantiating an AutoMLConfig object. Unter AutoMLConfig-Klasse finden Sie eine vollständige Liste der Parameter.See the AutoMLConfig class for a full list of parameters.

Beispiele hierfür sind:Some examples include:

  1. Ein Klassifizierungsexperiment, in dem AUC gewichtet als primäre Metrik verwendet wird, wobei das Experimentzeitlimit auf 30 Minuten festgelegt ist und 2 Kreuzvalidierungfolds verwendet werden.Classification experiment using AUC weighted as the primary metric with experiment timeout minutes set to 30 minutes and 2 cross-validation folds.

        automl_classifier=AutoMLConfig(
        task='classification',
        primary_metric='AUC_weighted',
        experiment_timeout_minutes=30,
        blocked_models=['XGBoostClassifier'],
        training_data=train_data,
        label_column_name=label,
        n_cross_validations=2)
    
  2. Beim folgenden Beispiel handelt es sich um ein Regressionsexperiment, das nach 60 Minuten mit fünf Kreuzvalidierungsfolds endet.The following example is a regression experiment set to end after 60 minutes with five validation cross folds.

       automl_regressor = AutoMLConfig(
       task='regression',
       experiment_timeout_minutes=60,
       allowed_models=['KNN'],
       primary_metric='r2_score',
       training_data=train_data,
       label_column_name=label,
       n_cross_validations=5)
    
  3. Für Prognoseaufgaben ist ein zusätzliches Setup erforderlich. Weitere Informationen finden Sie im Artikel Automatisches Trainieren eines Modells für die Zeitreihenprognose.Forecasting tasks require additional setup, see the Auto-train a time-series forecast model article for more details.

    time_series_settings = {
        'time_column_name': time_column_name,
        'time_series_id_column_names': time_series_id_column_names,
        'drop_column_names': ['logQuantity'],
        'forecast_horizon': n_test_periods
    }
    
    automl_config = AutoMLConfig(task = 'forecasting',
                                 debug_log='automl_oj_sales_errors.log',
                                 primary_metric='normalized_root_mean_squared_error',
                                 experiment_timeout_minutes=20,
                                 training_data=train_data,
                                 label_column_name=label,
                                 n_cross_validations=5,
                                 path=project_folder,
                                 verbosity=logging.INFO,
                                 **time_series_settings)
    

Unterstützte ModelleSupported models

Beim automatisierten maschinellen Lernen werden während des Automatisierungs- und Optimierungsprozesses verschiedene Modelle und Algorithmen getestet.Automated machine learning tries different models and algorithms during the automation and tuning process. Als Benutzer müssen Sie den Algorithmus nicht angeben.As a user, there is no need for you to specify the algorithm.

Die drei verschiedenen Werte des Parameters task bestimmen die Liste der anzuwendenden Algorithmen oder Modelle.The three different task parameter values determine the list of algorithms, or models, to apply. Verwenden Sie die Parameter allowed_models oder blocked_models, um Iterationen mit den verfügbaren Modellen, die eingeschlossen oder ausgeschlossen werden sollen, weiter zu ändern.Use the allowed_models or blocked_models parameters to further modify iterations with the available models to include or exclude.

In der folgenden Tabelle werden die unterstützten Modelle anhand des Tasktyps zusammengefasst.The following table summarizes the supported models by task type.

Hinweis

Wenn Sie vorhaben, Ihre mit ML automatisch erstellten Modelle in ein ONNX-Modell zu exportieren, beachten Sie, dass nur Algorithmen, die mit einem Sternchen (*) angegeben sind, in das ONNX-Format konvertiert werden können.If you plan to export your auto ML created models to an ONNX model, only those algorithms indicated with an * are able to be converted to the ONNX format. Erfahren Sie mehr über das Konvertieren von Modellen zu ONNX.Learn more about converting models to ONNX.

Beachten Sie auch, dass ONNX zurzeit nur Klassifizierungs- und Regressionsaufgaben unterstützt.Also note, ONNX only supports classification and regression tasks at this time.

KlassifizierungClassification RegressionRegression Zeitreihe und VorhersageTime Series Forecasting
Logistische Regression*Logistic Regression* Elastisches Netz*Elastic Net* Elastisches NetzElastic Net
Light GBM*Light GBM* Light GBM*Light GBM* Light GBMLight GBM
Gradient Boosting*Gradient Boosting* Gradient Boosting*Gradient Boosting* Gradient BoostingGradient Boosting
Entscheidungsstruktur*Decision Tree* Entscheidungsstruktur*Decision Tree* EntscheidungsstrukturDecision Tree
K nächste Nachbarn*K Nearest Neighbors* K nächste Nachbarn*K Nearest Neighbors* K nächste NachbarnK Nearest Neighbors
Lineare SVC*Linear SVC* LARS-Lasso*LARS Lasso* LARS LassoLARS Lasso
Support Vector Classification (SVC)*Support Vector Classification (SVC)* Stochastisches Gradientenabstiegsverfahren (SGD)*Stochastic Gradient Descent (SGD)* Stochastisches Gradientenabstiegsverfahren (SGD)Stochastic Gradient Descent (SGD)
Zufällige Gesamtstruktur*Random Forest* Zufällige Gesamtstruktur*Random Forest* Random ForestRandom Forest
Extremely Randomized Trees*Extremely Randomized Trees* Extremely Randomized Trees*Extremely Randomized Trees* Extremely Randomized TreesExtremely Randomized Trees
XGBoost*Xgboost* XGBoost*Xgboost* XgboostXgboost
Averaged Perceptron ClassifierAveraged Perceptron Classifier Online Gradient Descent RegressorOnline Gradient Descent Regressor Auto-ARIMAAuto-ARIMA
Naive Bayes*Naive Bayes* Schneller linearer RegressorFast Linear Regressor ProphetProphet
Stochastisches Gradientenabstiegsverfahren (SGD)*Stochastic Gradient Descent (SGD)* ForecastTCNForecastTCN
Linearer SVM-Klassifizierer*Linear SVM Classifier*

Primäre MetrikPrimary Metric

Der Parameter primary metric bestimmt die Metrik, die während des Modelltrainings für die Optimierung verwendet werden soll.The primary metric parameter determines the metric to be used during model training for optimization. Die verfügbaren Metriken, die Sie auswählen können, werden vom ausgewählten Tasktyp bestimmt. In der folgenden Tabelle werden gültige primäre Metriken für jeden Tasktyp aufgeführt.The available metrics you can select is determined by the task type you choose, and the following table shows valid primary metrics for each task type.

Informationen zu den speziellen Definitionen dieser Metriken finden Sie unter Grundlagen von Ergebnissen des automatisierten maschinellen Lernens.Learn about the specific definitions of these metrics in Understand automated machine learning results.

KlassifizierungClassification RegressionRegression Zeitreihe und VorhersageTime Series Forecasting
accuracyaccuracy spearman_correlationspearman_correlation spearman_correlationspearman_correlation
AUC_weightedAUC_weighted normalized_root_mean_squared_errornormalized_root_mean_squared_error normalized_root_mean_squared_errornormalized_root_mean_squared_error
average_precision_score_weightedaverage_precision_score_weighted r2_scorer2_score r2_scorer2_score
norm_macro_recallnorm_macro_recall normalized_mean_absolute_errornormalized_mean_absolute_error normalized_mean_absolute_errornormalized_mean_absolute_error
precision_score_weightedprecision_score_weighted

Merkmalerstellung für DatenData featurization

In jedem automatisierten Machine Learning-Experiment werden Ihre Daten automatisch skaliert und normalisiert, um bestimmte Algorithmen zu unterstützen, die auf Funktionen mit unterschiedlichen Skalierungen sensibel reagieren.In every automated machine learning experiment, your data is automatically scaled and normalized to help certain algorithms that are sensitive to features that are on different scales. Diese Skalierung und Normalisierung wird als Featurisierung bezeichnet.This scaling and normalization is referred to as featurization. Weitere Informationen und Codebeispiele finden Sie unter Featurisierung in AutoML.See Featurization in AutoML for more detail and code examples.

Beim Konfigurieren Ihrer Experimente im Objekt AutoMLConfig können Sie die Einstellung featurization aktivieren/deaktivieren.When configuring your experiments in your AutoMLConfig object, you can enable/disable the setting featurization. In der folgenden Tabelle werden die akzeptierten Einstellungen für die Featurisierung im AutoMLConfig-Objekt aufgeführt.The following table shows the accepted settings for featurization in the AutoMLConfig object.

Konfiguration der FeaturebereitstellungFeaturization Configuration BESCHREIBUNGDescription
"featurization": 'auto' Gibt an, dass im Rahmen der Vorverarbeitung die folgenden Schritte für Datenschutzmaßnahmen und Featurebereitstellung automatisch durchgeführt werden.Indicates that as part of preprocessing, data guardrails and featurization steps are performed automatically. Standardeinstellung.Default setting.
"featurization": 'off' Gibt an, dass der Featurisierungsschritt nicht automatisch durchgeführt werden sollIndicates featurization step shouldn't be done automatically.
"featurization": 'FeaturizationConfig' Gibt an, dass ein angepasster Featurebereitstellungsschritt verwendet werden soll.Indicates customized featurization step should be used. Erfahren Sie, wie Sie die Featurebereitstellung anpassen.Learn how to customize featurization.

Hinweis

Die Schritte zur Featurebereitstellung bei automatisiertem maschinellen Lernen (Featurenormalisierung, Behandlung fehlender Daten, Umwandlung von Text in numerische Daten usw.) werden Teil des zugrunde liegenden Modells.Automated machine learning featurization steps (feature normalization, handling missing data, converting text to numeric, etc.) become part of the underlying model. Bei Verwendung des Modells für Vorhersagen werden die während des Trainings angewendeten Schritte zur Featurebereitstellung automatisch auf Ihre Eingabedaten angewendet.When using the model for predictions, the same featurization steps applied during training are applied to your input data automatically.

Ensemble-KonfigurationEnsemble configuration

Ensemble-Modelle sind standardmäßig aktiviert und treten als abschließende Ausführungsiterationen in einer AutoML-Ausführung auf.Ensemble models are enabled by default, and appear as the final run iterations in an AutoML run. Derzeit werden VotingEnsemble und StackEnsemble unterstützt.Currently VotingEnsemble and StackEnsemble are supported.

Mit VotingEnsemble wird soft-voting implementiert, wobei gewichtete Durchschnittswerte verwendet werden.Voting implements soft-voting which uses weighted averages. Bei der StackEnsemble-Implementierung wird eine Implementierung auf zwei Ebenen verwendet, bei der die erste Ebene dieselben Modelle wie VotingEnsemble besitzt, und das Modell der zweiten Ebene verwendet wird, um die optimale Kombination der Modelle aus der ersten Ebene zu ermitteln.The stacking implementation uses a two layer implementation, where the first layer has the same models as the voting ensemble, and the second layer model is used to find the optimal combination of the models from the first layer.

Wenn Sie ONNX-Modelle verwenden oder die Modellerklärung aktiviert haben, wird StackEnsemble deaktiviert und nur VotingEnsemble wird verwendet.If you are using ONNX models, or have model-explainability enabled, stacking is disabled and only voting is utilized.

Das Ensemble-Training kann mithilfe der booleschen Parameter enable_voting_ensemble und enable_stack_ensembledeaktiviert werden.Ensemble training can be disabled by using the enable_voting_ensemble and enable_stack_ensemble boolean parameters.

automl_classifier = AutoMLConfig(
        task='classification',
        primary_metric='AUC_weighted',
        experiment_timeout_minutes=30,
        training_data=data_train,
        label_column_name=label,
        n_cross_validations=5,
        enable_voting_ensemble=False,
        enable_stack_ensemble=False
        )

Es gibt mehrere Standardargumente, die als kwargs in einem AutoMLConfig-Objekt bereitgestellt werden können, um das Ensemble-Standardverhalten zu verändern.To alter the default ensemble behavior, there are multiple default arguments that can be provided as kwargs in an AutoMLConfig object.

Wichtig

Die folgenden Parameter sind keine expliziten Parameter der AutoMLConfig-Klasse.The following parameters aren't explicit parameters of the AutoMLConfig class.

  • ensemble_download_models_timeout_sec: Während der VotingEnsemble- und StackEnsemble-Modellgenerierung werden mehrere angepasste Modelle aus den vorherigen Ausführungen untergeordneter Elemente heruntergeladen.ensemble_download_models_timeout_sec: During VotingEnsemble and StackEnsemble model generation, multiple fitted models from the previous child runs are downloaded. Wenn der folgende Fehler angezeigt wird, müssen Sie möglicherweise mehr Zeit für das Herunterladen der Modelle einplanen: AutoMLEnsembleException: Could not find any models for running ensembling.If you encounter this error: AutoMLEnsembleException: Could not find any models for running ensembling, then you may need to provide more time for the models to be downloaded. Der Standardwert beträgt 300 Sekunden für das parallele Herunterladen dieser Modelle, und es gibt kein maximales Timeoutlimit.The default value is 300 seconds for downloading these models in parallel and there is no maximum timeout limit. Konfigurieren Sie diesen Parameter mit einem höheren Wert als 300 Sekunden, wenn mehr Zeit erforderlich ist.Configure this parameter with a higher value than 300 secs, if more time is needed.

    Hinweis

    Wenn das Zeitlimit erreicht ist und Modelle heruntergeladen wurden, wird das Ensembling mit so vielen Modellen fortgesetzt, wie es heruntergeladen hat.If the timeout is reached and there are models downloaded, then the ensembling proceeds with as many models it has downloaded. Es ist nicht erforderlich, dass alle Modelle heruntergeladen werden müssen, um innerhalb dieses Zeitlimits fertig zu werden.It's not required that all the models need to be downloaded to finish within that timeout.

Die folgenden Parameter gelten nur für StackEnsemble-Modelle:The following parameters only apply to StackEnsemble models:

  • stack_meta_learner_type: Der meta-learner ist ein mit der Ausgabe der einzelnen heterogenen Modelle trainiertes Modell.stack_meta_learner_type: the meta-learner is a model trained on the output of the individual heterogeneous models. Standard-meta-learner sind LogisticRegression für Klassifizierungsaufgaben (oder LogisticRegressionCV, wenn die Kreuzvalidierung aktiviert ist) und ElasticNet für Regressions-/Vorhersage-Aufgaben (oder ElasticNetCV, wenn die Kreuzvalidierung aktiviert ist).Default meta-learners are LogisticRegression for classification tasks (or LogisticRegressionCV if cross-validation is enabled) and ElasticNet for regression/forecasting tasks (or ElasticNetCV if cross-validation is enabled). Dieser Parameter kann ein der folgenden Zeichenfolgen sein: LogisticRegression, LogisticRegressionCV, LightGBMClassifier, ElasticNet, ElasticNetCV, LightGBMRegressor oder LinearRegression.This parameter can be one of the following strings: LogisticRegression, LogisticRegressionCV, LightGBMClassifier, ElasticNet, ElasticNetCV, LightGBMRegressor, or LinearRegression.

  • stack_meta_learner_train_percentage: gibt den Teil des Trainingssatzes an (bei Auswahl des Trainings- und Validierungstyps des Trainings), der für das Training des meta-learners reserviert werden soll.stack_meta_learner_train_percentage: specifies the proportion of the training set (when choosing train and validation type of training) to be reserved for training the meta-learner. Der Standardwert ist 0.2.Default value is 0.2.

  • stack_meta_learner_kwargs: optionale Parameter, die an den Initialisierer des meta-learners übergeben werden sollen.stack_meta_learner_kwargs: optional parameters to pass to the initializer of the meta-learner. Diese Parameter und Parametertypen spiegeln die Parameter und Parametertypen des entsprechenden Modellkonstruktors wider und werden an den Modellkonstruktor weitergeleitet.These parameters and parameter types mirror the parameters and parameter types from the corresponding model constructor, and are forwarded to the model constructor.

Der folgende Code zeigt ein Beispiel für das Angeben des benutzerdefinierten Ensemble-Verhaltens in einem AutoMLConfig-Objekt.The following code shows an example of specifying custom ensemble behavior in an AutoMLConfig object.

ensemble_settings = {
    "ensemble_download_models_timeout_sec": 600
    "stack_meta_learner_type": "LogisticRegressionCV",
    "stack_meta_learner_train_percentage": 0.3,
    "stack_meta_learner_kwargs": {
        "refit": True,
        "fit_intercept": False,
        "class_weight": "balanced",
        "multi_class": "auto",
        "n_jobs": -1
    }
}

automl_classifier = AutoMLConfig(
        task='classification',
        primary_metric='AUC_weighted',
        experiment_timeout_minutes=30,
        training_data=train_data,
        label_column_name=label,
        n_cross_validations=5,
        **ensemble_settings
        )

Ausführen des ExperimentsRun experiment

Für automatisierte ML-Experimente erstellen Sie ein Experiment-Objekt, wobei es sich um ein benanntes Objekt in einem Workspace handelt, das zur Ausführung von Experimenten verwendet wird.For automated ML, you create an Experiment object, which is a named object in a Workspace used to run experiments.

from azureml.core.experiment import Experiment

ws = Workspace.from_config()

# Choose a name for the experiment and specify the project folder.
experiment_name = 'automl-classification'
project_folder = './sample_projects/automl-classification'

experiment = Experiment(ws, experiment_name)

Übermitteln Sie das auszuführende Experiment, um ein Modell zu generieren.Submit the experiment to run and generate a model. Übergeben Sie die Methode AutoMLConfig an die submit-Methode, um das Modell zu generieren.Pass the AutoMLConfig to the submit method to generate the model.

run = experiment.submit(automl_config, show_output=True)

Hinweis

Abhängigkeiten werden zunächst auf einem neuen Computer installiert.Dependencies are first installed on a new machine. Es dauert bis zu 10 Minuten, bevor die Ausgabe angezeigt wird.It may take up to 10 minutes before output is shown. Wenn Sie show_output auf True festlegen, wird die Ausgabe auf der Konsole angezeigt.Setting show_output to True results in output being shown on the console.

Exit Criteria (Beendigungskriterien)Exit criteria

Es gibt einige Optionen, die Sie definieren können, um Ihr Experiment zu beenden.There are a few options you can define to end your experiment.

KriterienCriteria descriptiondescription
No criteria (Keine Kriterien)No criteria Wenn Sie keine Beendigungsparameter definieren, wird das Experiment fortgesetzt, bis kein weiterer Fortschritt bei Ihrer primären Metrik erzielt wird.If you do not define any exit parameters the experiment continues until no further progress is made on your primary metric.
After a length of time (Nach einem Zeitraum)After a length of time Verwenden Sie experiment_timeout_minutes in Ihren Einstellungen, um zu definieren, wie lange Ihr Experiment in Minuten weiterhin ausgeführt werden soll.Use experiment_timeout_minutes in your settings to define how long, in minutes, your experiment should continue to run.

Es liegt ein Mindestwert von 15 Minuten vor (oder 60 Minuten, wenn die Zeile nach Spaltengröße 10 Millionen überschreitet), um Fehler aufgrund von Zeitüberschreitungen beim Experiment zu vermeiden.To help avoid experiment time out failures, there is a minimum of 15 minutes, or 60 minutes if your row by column size exceeds 10 million.
A score has been reached (Eine Bewertung wurde erzielt)A score has been reached Wenn Sie experiment_exit_score verwenden, wird das Experiment abgeschlossen, nachdem der angegebene primäre metrischer Bewertungswert erreicht wurde.Use experiment_exit_score completes the experiment after a specified primary metric score has been reached.

Untersuchen von Modellen und MetrikenExplore models and metrics

Sie können Ihre Trainingsergebnisse in einem Widget oder in der Inlineansicht anzeigen, wenn Sie ein Notebook verwenden.You can view your training results in a widget or inline if you are in a notebook. Weitere Details finden Sie unter Verfolgen und Auswerten von Modellen.See Track and evaluate models for more details.

Definitionen und Beispiele zu den Leistungsdiagrammen und -metriken, die für jede Ausführung angegeben werden, finden Sie unter Grundlagen von Ergebnissen des automatisierten maschinellen Lernens.See Understand automated machine learning results for definitions and examples of the performance charts and metrics provided for each run.

Eine Zusammenfassung der Featurisierung und Informationen zu den Features, die zu einem bestimmten Modell hinzugefügt wurden, finden Sie unter Transparenz der Featurisierung.To get a featurization summary and understand what features were added to a particular model, see Featurization transparency.

Registrieren und Bereitstellen von ModellenRegister and deploy models

Details zum Herunterladen oder Registrieren eines Modells für die Bereitstellung in einem Webdienst finden Sie unter Wie und wo Modelle bereitgestellt werden.For details on how to download or register a model for deployment to a web service, see how and where to deploy a model.

Interpretierbarkeit von ModellenModel interpretability

Die Interpretierbarkeit von Modellen ermöglicht es Ihnen, zu verstehen, warum Ihre Modelle Vorhersagen erstellt haben, und die zugrunde liegenden Featurewichtigkeitswerte zu verstehen.Model interpretability allows you to understand why your models made predictions, and the underlying feature importance values. Das SDK enthält verschiedene Pakete zum Aktivieren von Modellinterpretierbarkeitsfeatures, sowohl für die Trainings- als auch die Rückschlusszeit, für lokale und bereitgestellte Modelle.The SDK includes various packages for enabling model interpretability features, both at training and inference time, for local and deployed models.

Codebeispiele dazu, wie Interpretierbarkeitsfeatures insbesondere in Experimenten zum automatisierten maschinellen Lernen aktiviert werden, finden Sie unter Interpretierbarkeit von Modellen für automatisiertes ML.See the how-to for code samples on how to enable interpretability features specifically within automated machine learning experiments.

Allgemeine Informationen dazu, wie Modellerklärungen und Featurewichtigkeit in anderen Bereichen des SDK außerhalb des automatisierten maschinellen Lernens aktiviert werden können, finden Sie im Artikel Modellinterpretierbarkeit mit Azure Machine Learning Service.For general information on how model explanations and feature importance can be enabled in other areas of the SDK outside of automated machine learning, see the concept article on interpretability.

Hinweis

Das ForecastTCN-Modell wird aktuell vom Erklärungsclient nicht unterstützt.The ForecastTCN model is not currently supported by the Explanation Client. Dieses Modell gibt kein Erklärungsdashboard zurück, wenn es als bestes Modell zurückgegeben wird, und es unterstützt keine Erklärungsläufe auf Anforderung.This model will not return an explanation dashboard if it is returned as the best model, and does not support on-demand explanation runs.

Nächste SchritteNext steps