AutoMLConfig Klasse
Stellt die Konfiguration zum Übermitteln eines Experiments für automatisiertes maschinelles Lernen in Azure Machine Learning dar.
Dieses Configuration-Objekt enthält und speichert die Parameter zum Konfigurieren der Experimentausführung sowie die Trainingsdaten, die zur Laufzeit verwendet werden sollen. Einen Leitfaden zum Auswählen der Einstellungen finden Sie unter https://aka.ms/AutoMLConfig.
Erstellen Sie eine AutoMLConfig.
- Vererbung
-
builtins.objectAutoMLConfig
Konstruktor
AutoMLConfig(task: str, path: str | None = None, iterations: int | None = None, primary_metric: str | None = None, positive_label: Any | None = None, compute_target: Any | None = None, spark_context: Any | None = None, X: Any | None = None, y: Any | None = None, sample_weight: Any | None = None, X_valid: Any | None = None, y_valid: Any | None = None, sample_weight_valid: Any | None = None, cv_splits_indices: List[List[Any]] | None = None, validation_size: float | None = None, n_cross_validations: int | str | None = None, y_min: float | None = None, y_max: float | None = None, num_classes: int | None = None, featurization: str | FeaturizationConfig = 'auto', max_cores_per_iteration: int = 1, max_concurrent_iterations: int = 1, iteration_timeout_minutes: int | None = None, mem_in_mb: int | None = None, enforce_time_on_windows: bool = True, experiment_timeout_hours: float | None = None, experiment_exit_score: float | None = None, enable_early_stopping: bool = True, blocked_models: List[str] | None = None, blacklist_models: List[str] | None = None, exclude_nan_labels: bool = True, verbosity: int = 20, enable_tf: bool = False, model_explainability: bool = True, allowed_models: List[str] | None = None, whitelist_models: List[str] | None = None, enable_onnx_compatible_models: bool = False, enable_voting_ensemble: bool = True, enable_stack_ensemble: bool | None = None, debug_log: str = 'automl.log', training_data: Any | None = None, validation_data: Any | None = None, test_data: Any | None = None, test_size: float | None = None, label_column_name: str | None = None, weight_column_name: str | None = None, cv_split_column_names: List[str] | None = None, enable_local_managed: bool = False, enable_dnn: bool | None = None, forecasting_parameters: ForecastingParameters | None = None, **kwargs: Any)
Parameter
Der Typ der auszuführenden Aufgabe. Mögliche Werte sind „Klassifizierung“, „Regression“ oder „Vorhersage“, abhängig vom Typ des zu lösenden Problems des automatisierten maschinellen Lernens.
- path
- str
Der vollständige Pfad zum Azure Machine Learning-Projektordner. Wenn keine Angabe erfolgt ist, wird standardmäßig das aktuelle Verzeichnis oder „.“ verwendet.
- iterations
- int
Die Gesamtzahl der verschiedenen Algorithmus- und Parameterkombinationen, die während eines automatisierten ML-Experiments getestet werden sollen. Wenn keine Angabe erfolgt ist, lautet der Standardwert 1000 Iterationen.
Die Metrik, die vom automatisierten maschinellen Lernen für die Modellauswahl optimiert wird. Beim automatisierten maschinellen Lernen werden mehr Metriken erfasst als optimiert werden können. Sie können mit get_primary_metrics eine Liste gültiger Metriken für eine bestimmte Aufgabe abrufen. Weitere Informationen zur Berechnung von Metriken finden Sie unter https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.
Wenn keine Angabe erfolgt ist, wird „Genauigkeit“ für Klassifizierungsaufgaben, „Wurzel der mittleren Fehlerquadratsumme, normalisiert,“ für Vorhersage- und Regressionsaufgaben, „Genauigkeit“ für die Bildklassifizierung und die mehrfach beschriftete Bildklassifizierung und „mittlere durchschnittliche Genauigkeit“ für die Bildobjekterkennung verwendet.
- positive_label
- Any
Die positive Klassenbezeichnung, die vom automatisierten maschinellen Lernen zum Berechnen von binären Metriken verwendet wird. Binäre Metriken werden in zwei Bedingungen für Klassifizierungsaufgaben berechnet:
- Die Bezeichnungsspalte besteht aus zwei Klassen, die binäre Klassifizierungsaufgaben angeben. Automatisiertes ML verwendet die angegebene positive Klasse, wenn positive_label übergeben wird, andernfalls wird eine positive Klasse basierend auf einem bezeichnungscodierten Wert ausgewählt.
- Mehrklassige Klassifizierungsaufgabe mit der Angabe von positive_label
Weitere Informationen zur Klassifizierung finden Sie unter Metriken für Klassifizierungsszenarios.
- compute_target
- AbstractComputeTarget
Das Azure Machine Learning-Computeziel, auf dem das Experiment für automatisiertes maschinelles Lernen ausgeführt werden soll. Weitere Informationen zu Computezielen finden Sie unter https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote.
- spark_context
- <xref:SparkContext>
Der Spark-Kontext. Nur anwendbar bei Verwendung in einer Azure Databricks-/Spark-Umgebung.
- X
- DataFrame oder ndarray oder Dataset oder TabularDataset
Die Trainingsfeatures, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und label_column_name.
- y
- DataFrame oder ndarray oder Dataset oder TabularDataset
Die Trainingsbezeichnungen, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen. Dies ist der Wert, den Ihr Modell vorhersagt. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und label_column_name.
- sample_weight
- DataFrame oder ndarray oder TabularDataset
Die Gewichtung, die jedes Trainingsbeispiel erhalten soll, wenn entsprechende Pipelines ausgeführt werden; jede Zeile sollte einer Zeile in X- und Y-Daten entsprechen.
Geben Sie diesen Parameter bei der Angabe von X
an.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und weight_column_name.
- X_valid
- DataFrame oder ndarray oder Dataset oder TabularDataset
Validierungsfeatures, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen.
Wenn eine Angabe erfolgt, muss y_valid
oder sample_weight_valid
ebenfalls angegeben werden.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und label_column_name.
- y_valid
- DataFrame oder ndarray oder Dataset oder TabularDataset
Validierungsbezeichnungen, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen.
Sowohl X_valid
als auch y_valid
müssen zusammen angegeben werden.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und label_column_name.
- sample_weight_valid
- DataFrame oder ndarray oder TabularDataset
Die Gewichtung, die jedes Validierungsbeispiel erhalten soll, wenn die Bewertungspipelines ausgeführt werden; jede Zeile sollte einer Zeile in X- und Y-Daten entsprechen.
Geben Sie diesen Parameter bei der Angabe von X_valid
an.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und weight_column_name.
Indizes, die angeben, wo Trainingsdaten für die Kreuzvalidierung aufgeteilt werden sollen. Jede Zeile ist ein separater Kreuzfold. Stellen Sie innerhalb jedes Kreuzfolds zwei NumPy-Arrays bereit: das erste mit den Indizes für Stichproben, die für Trainingsdaten verwendet werden sollen, und das zweite mit den Indizes, die für Validierungsdaten verwendet werden sollen. Also [[t1, v1], [t2, v2], ...], wobei „t1“ die Trainingsindizes für den ersten Kreuzfold und „v1“ die Validierungsindizes für den ersten Kreuzfold sind.
Um vorhandene Daten als Validierungsdaten anzugeben, verwenden Sie validation_data
. Damit automatisiertes ML Validierungsdaten stattdessen aus Trainingsdaten extrahieren kann, geben Sie entweder n_cross_validations
oder validation_size
an.
Verwenden Sie cv_split_column_names
, wenn Sie in training_data
über Kreuzvalidierungsspalten verfügen.
- validation_size
- float
Der Teil der Daten, der für die Validierung zurückbehalten werden soll, wenn keine Benutzervalidierungsdaten angegeben werden. Dieser Wert sollte zwischen 0,0 und 1,0 (nicht inklusiv) liegen.
Geben Sie validation_data
an, um Validierungsdaten anzugeben, andernfalls legen Sie n_cross_validations
oder validation_size
fest, um Validierungsdaten aus den angegebenen Trainingsdaten zu extrahieren.
Verwenden Sie für einen benutzerdefinierten Kreuzvalidierungsfold cv_split_column_names
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- n_cross_validations
- int
Gibt an, wie viele Kreuzvalidierungen durchzuführen sind, wenn keine Benutzervalidierungsdaten angegeben sind.
Geben Sie validation_data
an, um Validierungsdaten anzugeben, andernfalls legen Sie n_cross_validations
oder validation_size
fest, um Validierungsdaten aus den angegebenen Trainingsdaten zu extrahieren.
Verwenden Sie für einen benutzerdefinierten Kreuzvalidierungsfold cv_split_column_names
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- y_min
- float
Mindestwert für „y“ für ein Regressionsexperiment. Die Kombination von y_min
und y_max
wird verwendet, um Testsatzmetriken basierend auf dem Eingabedatenbereich zu normalisieren. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- y_max
- float
Maximalwert für „y“ für ein Regressionsexperiment. Die Kombination von y_min
und y_max
wird verwendet, um Testsatzmetriken basierend auf dem Eingabedatenbereich zu normalisieren. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- num_classes
- int
Die Anzahl der Klassen in den Bezeichnungsdaten für ein Klassifizierungsexperiment. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- featurization
- str oder FeaturizationConfig
„auto“, „off“ oder „FeaturizationConfig“: Indikator, ob der Featurisierungsschritt automatisch ausgeführt werden soll oder ob eine angepasste Featurisierung verwendet werden soll. Hinweis: Wenn die Eingabedaten nur eine geringe Dichte besitzen, kann die Featurisierung nicht aktiviert werden.
Der Spaltentyp wird automatisch erkannt. Basierend auf dem erkannten Spaltentyp erfolgt die Vorverarbeitung/Featurisierung wie folgt:
Kategorisch: Zielcodierung, One-Hot-Codierung, Verwerfen von Kategorien mit hoher Kardinalität, Imputieren von fehlenden Werten.
Numerisch: Imputieren von fehlenden Werten, Clusterabstand, Gewichtung von Beweisen.
DateTime: Mehrere Features wie Tag, Sekunden, Minuten, Stunden usw.
Text: Bag-of-Words, vortrainierte Worteinbettung, Textzielcodierung.
Weitere Informationen finden Sie im Artikel Einrichten von AutoML-Training mit Python.
Geben Sie zum Anpassen des Featurisierungsschritts ein FeaturizationConfig-Objekt an. Die benutzerdefinierte Featurisierung unterstützt derzeit das Blockieren eines Satzes von Transformatoren, das Aktualisieren des Spaltenzwecks, das Bearbeiten von Transformatorparametern und das Verwerfen von Spalten. Weitere Informationen finden Sie unter Anpassen von Featureentwicklung.
Hinweis: Timeseries-Features werden separat behandelt, wenn der Aufgabentyp unabhängig von diesem Parameter auf Vorhersagen festgelegt ist.
- max_cores_per_iteration
- int
Die maximale Anzahl von Threads, die für eine bestimmte Trainingsiteration verwendet werden sollen. Gültige Werte:
Größer als 1 und kleiner oder gleich der maximalen Anzahl von Kernen auf dem Computeziel.
Gleich -1, was bedeutet, dass alle möglichen Kerne pro Iteration pro untergeordneter Ausführung verwendet werden.
Gleich 1, der Standardwert.
- max_concurrent_iterations
- int
Steht für die maximale Anzahl von Iterationen, die parallel ausgeführt werden. Der Standardwert ist 1.
AmlCompute-Cluster unterstützen eine Iteration, die pro Knoten ausgeführt wird. Für mehrere übergeordnete Ausführungen von AutoML-Experimenten, die auf einem einzelnen AmlCompute-Cluster parallel ausgeführt werden, sollte die Summe der
max_concurrent_iterations
-Werte für alle Experimente kleiner oder gleich der maximalen Anzahl an Knoten sein. Andernfalls werden Ausführungen in die Warteschlange gestellt, bis Knoten verfügbar sind.DSVM unterstützt mehrere Iterationen pro Knoten.
max_concurrent_iterations
sollte kleiner oder gleich der Anzahl der Kerne auf der DSVM sein. Für mehrere Experimente, die auf einer einzelnen DSVM parallel ausgeführt werden, sollte die Summe dermax_concurrent_iterations
-Werte für alle Experimente kleiner oder gleich der maximalen Anzahl an Knoten sein.Databricks:
max_concurrent_iterations
sollte kleiner oder gleich der Anzahl der Workerknoten in Databricks sein.
max_concurrent_iterations
gilt nicht für lokale Ausführungen. Der Name dieses Parameters lautete früher concurrent_iterations
.
- iteration_timeout_minutes
- int
Maximale Dauer in Minuten für jede Ausführung einer Iteration, bevor sie beendet wird. Wenn keine Angabe erfolgt ist, wird als Wert „1 Monat“ oder „43.200 Minuten“ verwendet.
- mem_in_mb
- int
Maximale Speicherauslastung für jede Ausführung einer Iteration, bevor sie beendet wird. Wenn keine Angabe erfolgt ist, wird als Wert „1 PB“ oder „1073741824 MB“ verwendet.
- enforce_time_on_windows
- bool
Gibt an, ob ein Zeitlimit für das Modelltraining bei jeder Iteration unter Windows erzwungen werden soll. Der Standardwert ist True. Wenn die Ausführung über eine Python-Skriptdatei (.py) erfolgt, lesen Sie in der Dokumentation nach, wie Sie Ressourceneinschränkungen unter Windows zulassen.
- experiment_timeout_hours
- float
Maximal zulässige Dauer für alle Iterationen (in Stunden). Danach wird das Experiment beendet. Kann ein Dezimalwert wie 0,25 sein, der 15 Minuten darstellt. Wenn keine Angabe erfolgt, beträgt das Standardtimeout für Experimente 6 Tage. Wenn Sie ein Timeout angeben möchten, das kleiner als oder gleich 1 Stunde ist, stellen Sie sicher, dass die Größe Ihres Datasets nicht größer als 10.000.000 (Zeilen mal Spalte) ist, andernfalls tritt ein Fehler auf.
- experiment_exit_score
- float
Der Zielscore für das Experiment. Das Experiment wird beendet, nachdem dieser Score erreicht wurde. Wenn keine Angabe erfolgt (keine Kriterien), wird das Experiment ausgeführt, bis kein weiterer Fortschritt bei der primären Metrik erzielt wird. Weitere Informationen zu Beendigungskriterien finden Sie in diesem Artikel.
- enable_early_stopping
- bool
Gibt an, ob die vorzeitige Beendigung aktiviert wird, wenn sich der Score auf kurze Sicht nicht verbessert. Der Standardwert ist True.
Logik zum frühzeitigen Beenden:
Kein frühzeitiges Beenden für die ersten 20 Iterationen (Orientierungspunkte).
Das Fenster für das frühzeitige Beenden startet bei der 21. Iteration und sucht nach early_stopping_n_iters-Iterationen
(derzeit auf 10 festgelegt). Dies bedeutet, dass die erste Iteration, bei der das Beenden erfolgen kann, die 31. ist.
Automatisiertes ML plant noch 2 Ensemble-Iterationen NACH dem frühzeitigen Beenden, was möglicherweise zu
höheren Scores führt.
Frühzeitiges Beenden wird ausgelöst, wenn der berechnete absolute Wert des besten Scores mit dem für vergangene
early_stopping_n_iters-Iterationen identisch ist, das heißt, wenn es keine Verbesserung beim Score für early_stopping_n_iters-Iterationen gibt.
- blocked_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Eine Liste von Algorithmen, die für ein Experiment ignoriert werden können. Wenn enable_tf
„False“ ist, sind TensorFlow-Modelle in blocked_models
enthalten.
- blacklist_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Als veraltet eingestufter Parameter, verwenden Sie stattdessen blocked_models.
- exclude_nan_labels
- bool
Gibt an, ob Zeilen mit NaN-Werten in der Bezeichnung ausgeschlossen werden sollen. Der Standardwert ist True.
- verbosity
- int
Der Ausführlichkeitsgrad für das Schreiben in die Protokolldatei. Der Standardwert lautet „INFO“ oder „20“. Zulässige Werte werden in der Python-Protokollierungsbibliothek definiert.
- enable_tf
- bool
Als veraltet eingestufter Parameter zum Aktivieren/Deaktivieren von Tensorflow-Algorithmen. Die Standardeinstellung lautet „false“.
- model_explainability
- bool
Gibt an, ob die Erläuterung des besten AutoML-Modells am Ende aller AutoML-Trainingsiterationen aktiviert werden soll. Der Standardwert ist True. Weitere Informationen finden Sie unter Interpretierbarkeit: Modellerklärungen beim automatisierten maschinellen Lernen.
- allowed_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Eine Liste der Modellnamen, in denen nach einem Experiment gesucht werden soll. Wenn keine Angabe erfolgt, werden alle für die Aufgabe unterstützten Modelle verwendet, mit Ausnahme aller in blocked_models
angegebenen Modelle oder der als veraltet eingestuften TensorFlow-Modelle.
Die unterstützten Modelle für jeden Aufgabentyp werden in der SupportedModels-Klasse beschrieben.
- whitelist_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Als veraltet eingestufter Parameter, verwenden Sie stattdessen allowed_models.
- enable_onnx_compatible_models
- bool
Gibt an, ob das Erzwingen der ONNX-kompatiblen Modelle aktiviert oder deaktiviert werden soll. Die Standardeinstellung lautet „false“. Weitere Informationen zu Open Neural Network Exchange (ONNX) und Azure Machine Learning finden Sie in diesem Artikel.
- forecasting_parameters
- ForecastingParameters
Ein ForecastingParameters-Objekt, das alle vorhersagespezifischen Parameter enthält.
- time_column_name
- str
Der Name der Zeitspalte. Dieser Parameter ist bei Vorhersage erforderlich, um die datetime-Spalte in den Eingabedaten anzugeben, die zum Erstellen der Zeitreihe sowie zum Ableiten des Intervalls verwendet wird. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- max_horizon
- int
Der gewünschte maximale Prognosehorizont in Einheiten der Zeitreihenhäufigkeit. Der Standardwert ist 1.
Die Einheiten basieren auf dem Zeitintervall Ihrer Trainingsdaten (z. B. monatlich oder wöchentlich), die vorhergesagt werden sollen. Bei Vorhersageaufgaben ist dieser Parameter erforderlich. Weitere Informationen zum Festlegen von Vorhersageparametern finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Die Namen von Spalten, die zum Gruppieren einer Zeitreihe verwendet werden. Dieser Parameter kann zum Erstellen mehrerer Reihen verwendet werden. Ohne definierte Granularität wird bei dem Dataset von einer einzelnen Zeitreihe ausgegangen. Dieser Parameter wird bei der Aufgabentypvorhersage verwendet. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Die Anzahl vergangener Zeiträume, um die die Zielspalte verzögert werden soll. Der Standardwert ist 1. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Bei Vorhersagen stellt dieser Parameter die Anzahl von Zeilen dar, um die die Zielwerte basierend auf der Häufigkeit der Daten verzögert werden sollen. Dies wird als eine Liste oder als einzelner Integer dargestellt. Die Verzögerung sollte verwendet werden, wenn die Beziehung zwischen den unabhängigen Variablen und der abhängigen Variable standardmäßig nicht übereinstimmt oder korreliert. Wenn Sie beispielsweise versuchen, die Nachfrage nach einem Produkt vorherzusagen, hängt die Nachfrage in einem Monat möglicherweise vom Preis für bestimmte Produkte vor 3 Monaten ab. In diesem Beispiel möchten Sie möglicherweise den Zielwert (Nachfrage) um 3 Monate negativ verzögern, sodass das Modell mit der richtigen Beziehung trainiert wird. Weitere Informationen finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose.
- feature_lags
- str
Flag zum Generieren von Verzögerungen für numerische Funktionen. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- target_rolling_window_size
- int
Die Anzahl vergangener Zeiträume, die zum Erstellen eines Durchschnittswerts für das rollierende Fenster der Zielspalte verwendet werden. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Bei Vorhersagen stellt dieser Parameter n historische Zeiträume zum Generieren von vorhergesagten Werten dar, <= Größe des Trainingssatzes. Wenn nicht angegeben, ist n die vollständige Trainingsmenge. Geben Sie diesen Parameter an, wenn Sie beim Trainieren des Modells nur eine bestimmte Menge des Verlaufs beachten möchten.
- country_or_region
- str
Das Land/die Region, das bzw. die zum Generieren von Feiertagsfunktionen verwendet wird. Dabei sollte es sich um den aus zwei Buchstaben bestehenden Länder-/Regionscode nach ISO 3166 handeln (z. B. „US“ oder „GB“). Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- use_stl
- str
Konfigurieren Sie die STL-Aufschlüsselung der Zeitreihen-Zielspalte. Für „use_stl“ sind drei Werte möglich: „None“ (Standardwert, keine STL-Aufschlüsselung), „season“ (nur die Saisonkomponente generieren) und „season_trend“ (sowohl Saison- als auch Trendkomponenten generieren). Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Legt die Saisonalität von Zeitreihen fest. Wenn „auto“ festgelegt ist, wird die Saisonalität abgeleitet. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- short_series_handling_configuration
- str
Der Parameter definiert, wie kurze Zeitreihen beim automatisierten maschinellen Lernen verarbeitet werden.
Mögliche Werte: „auto“ (Standardwert), „pad“, „drop“ und „None“.
- auto: kurze Zeitreihen werden aufgefüllt, wenn keine langen Zeitreihen vorhanden sind, andernfalls werden sie abgelegt.
- pad: alle kurzen Zeitreihen werden aufgefüllt.
- drop: alle kurzen Zeitreihen werden abgelegt.
- None: kurze Zeitreihen werden nicht geändert. Wenn „pad“ festgelegt ist, wird die Tabelle mit den Nullen und leeren Werten für die Regressoren und Zufallswerten für das Ziel aufgefüllt, wobei der Mittelwert dem Median des Zielwerts für die angegebene Zeitreihen-ID entspricht. Wenn der Median größer oder gleich null (0) ist, wird der minimale aufgefüllte Wert durch null abgeschnitten. Eingabe:
Datum
numeric_value
string
Ziel
2020-01-01
23
green
55
Ausgabe, wenn die Mindestanzahl von Werten 4 ist:
Datum
numeric_value
string
Ziel
2019-12-29
0
Nicht verfügbar
55.1
2019-12-30
0
Nicht verfügbar
55.6
2019-12-31
0
Nicht verfügbar
54.5
2020-01-01
23
green
55
Hinweis: Wir haben zwei Parameter, short_series_handling_configuration und Legacy-short_series_handling. Wenn beide Parameter festgelegt sind, werden sie wie in der folgenden Tabelle dargestellt synchronisiert (short_series_handling_configuration und short_series_handling sind aus Gründen der Einfachheit als handling_configuration bzw. handling angegeben).
Handhabung
handling_configuration
resultierende Handhabung
sich ergebende handling_configuration
True
auto
True
auto
True
Pad
True
auto
True
drop
True
auto
True
Keine
False
Keine
False
auto
False
Keine
False
Pad
False
Keine
False
drop
False
Keine
False
Keine
False
Keine
Die Vorhersagehäufigkeit.
Bei Vorhersagen stellt dieser Parameter den Zeitraum dar, für den die Vorhersage erfolgen soll, z. B. täglich, wöchentlich, jährlich usw. Die Vorhersagehäufigkeit ist standardmäßig auf die Dataset-Häufigkeit festgelegt. Sie können sie optional auf einen größeren (aber nicht auf einen kleineren) Wert als die Dataset-Häufigkeit festlegen. Wir aggregieren die Daten und generieren die Ergebnisse mit der Vorhersagehäufigkeit. Für tägliche Daten können Sie die Häufigkeit beispielsweise auf täglich, wöchentlich oder monatlich festlegen, aber nicht auf stündlich. Die Häufigkeit muss ein Pandas-Offset-Alias sein. Weitere Informationen finden Sie in der Pandas-Dokumentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
Die Funktion zum Aggregieren der Zeitreihen-Zielspalte, um sie an eine benutzerdefinierte Häufigkeit anzupassen. Wenn die target_aggregation_function festgelegt ist, aber nicht der freq-Parameter, wird ein Fehler ausgelöst. Die möglichen Zielaggregationsfunktionen sind „sum“, „max“, „min“ und „mean“.
Freq
target_aggregation_function
Mechanismus zur Korrektur der Datenermäßigkeit
Keine (Standard)
Keine (Standard)
Die Aggregation wird nicht angewendet. Wenn die gültige Häufigkeit nicht bestimmt werden kann, wird der Fehler ausgelöst.
Einige Werte
Keine (Standard)
Die Aggregation wird nicht angewendet. Wenn die Anzahl der Datenpunkte, die mit dem angegebenen Frequenzraster kompatibel sind, kleiner ist, werden diese Punkte um 90 % entfernt, andernfalls wird der Fehler ausgelöst.
Keine (Standard)
Aggregationsfunktion
Der Fehler über fehlende Häufigkeitsparameter wird ausgelöst.
Einige Werte
Aggregationsfunktion
Aggregieren sie mit der bereitgestellten Aggregationsfunktion zur Häufigkeit.
- enable_voting_ensemble
- bool
Gibt an, ob die VotingEnsemble-Iteration aktiviert/deaktiviert werden soll. Der Standardwert ist True. Weitere Informationen zu Ensembles finden Sie unter Ensemble-Konfiguration.
- enable_stack_ensemble
- bool
Gibt an, ob die StackEnsemble-Iteration aktiviert/deaktiviert werden soll. Der Standardwert ist „None“. Wenn das Flag enable_onnx_compatible_models festgelegt wird, ist die StackEnsemble-Iteration deaktiviert. Analog dazu wird die StackEnsemble-Iteration für Timeseries-Aufgaben standardmäßig deaktiviert, um das Risiko einer Überanpassung aufgrund eines kleinen Trainingssatzes zu vermeiden, der für die Anpassung des Meta-Learners verwendet wird. Weitere Informationen zu Ensembles finden Sie unter Ensemble-Konfiguration.
- debug_log
- str
Die Protokolldatei, in die Debuginformationen geschrieben werden sollen. Wenn keine Angabe erfolgt, wird „automl.log“ verwendet.
- training_data
- DataFrame oder Dataset oder DatasetDefinition oder TabularDataset
Die Trainingsdaten, die im Experiment verwendet werden sollen.
Sie sollte sowohl Trainingsfeatures als auch eine Bezeichnungsspalte (optional eine Spalte mit Stichprobengewichtungen) enthalten.
Wenn training_data
angegeben wird, muss der Parameter label_column_name
ebenfalls angegeben werden.
training_data
wurde in Version 1.0.81 eingeführt.
- validation_data
- DataFrame oder Dataset oder DatasetDefinition oder TabularDataset
Die Validierungsdaten, die im Experiment verwendet werden sollen.
Sie sollte sowohl Trainingsfeatures als auch eine Bezeichnungsspalte (optional eine Spalte mit Stichprobengewichtungen) enthalten.
Wenn validation_data
angegeben wird, müssen die Parameter training_data
und label_column_name
angegeben werden.
validation_data
wurde in Version 1.0.81 eingeführt. Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- test_data
- Dataset oder TabularDataset
Das Modelltestfeature, das Testdatasets oder Testdatenaufteilungen verwendet, befindet sich in der Vorschau und kann sich jederzeit ändern. Die Testdaten, die für einen Testlauf verwendet werden sollen, der nach Abschluss des Modelltrainings automatisch gestartet wird. Der Testlauf erhält Vorhersagen mithilfe des besten Modells und berechnet anhand dieser Vorhersagen entsprechende Metriken.
Wenn dieser Parameter oder der Parameter test_size
nicht angegeben ist, wird nach Abschluss des Modelltrainings kein Testlauf automatisch ausgeführt.
Testdaten sollten sowohl Features als auch Bezeichnungsspalten enthalten.
Wenn test_data
angegeben wird, muss der Parameter label_column_name
angegeben werden.
- test_size
- float
Die Modelltestfunktion, die Testdatasets oder Testdatenaufteilungen verwendet, befindet sich in der Vorschau und kann sich jederzeit ändern. Der Teil der Trainingsdaten, der für Testdaten für einen Testlauf zurückbehalten werden soll, der nach Abschluss des Modelltrainings automatisch gestartet wird. Der Testlauf erhält Vorhersagen mithilfe des besten Modelle und berechnet anhand dieser Vorhersagen entsprechende Metriken.
Dieser Wert sollte zwischen 0,0 und 1,0 (nicht inklusiv) liegen.
Wenn test_size
zur gleichen Zeit wie validation_size
angegeben wird, werden die Testdaten von training_data
getrennt, bevor die Validierungsdaten getrennt werden.
Wenn beispielsweise validation_size=0.1
und test_size=0.1
angegeben werden und die ursprünglichen Trainingsdaten 1000 Zeilen enthalten, enthalten die Testdaten 100 Zeilen, die Validierungsdaten 90 Zeilen und die Trainingsdaten 810 Zeilen.
Für regressionsbasierte Aufgaben werden zufällige Stichproben genommen. Für Klassifizierungsaufgaben werden geschichtete Stichproben genommen. Die Vorhersage unterstützt derzeit nicht die Angabe eines Testdatensatzes mit einer Aufteilung in Training und Test.
Wenn dieser Parameter oder der Parameter test_data
nicht angegeben ist, wird nach Abschluss des Modelltrainings kein Testlauf automatisch ausgeführt.
Der Name der Bezeichnungsspalte. Wenn die Eingabedaten aus einem pandas.DataFrame stammen, der über keine Spaltennamen verfügt, können stattdessen als ganze Zahlen ausgedrückte Spaltenindizes verwendet werden.
Dieser Parameter gilt für die Parameter training_data
, validation_data
und test_data
.
label_column_name
wurde in Version 1.0.81 eingeführt.
Der Name der Spalte mit Stichprobengewichtungen. Das automatisierte maschinelle Lernen unterstützt eine gewichtete Spalte als Eingabe, wodurch Zeilen in den Daten eine höhere oder niedrigere Gewichtung erhalten. Wenn die Eingabedaten aus einem pandas.DataFrame stammen, der über keine Spaltennamen verfügt, können stattdessen als ganze Zahlen ausgedrückte Spaltenindizes verwendet werden.
Dieser Parameter gilt für die Parameter training_data
und validation_data
.
weight_column_names
wurde in Version 1.0.81 eingeführt.
Liste der Namen der Spalten mit benutzerdefinierter Kreuzvalidierungsaufteilung. Jede der CV-Aufteilungsspalten stellt eine CV-Aufteilung dar, wobei jede Zeile mit 1 für Training oder 0 für Validierung markiert ist.
Dieser Parameter gilt für den Parameter training_data
für benutzerdefinierte Kreuzvalidierungszwecke.
cv_split_column_names
wurde in Version 1.6.0 eingeführt.
Verwenden Sie entweder cv_split_column_names
oder cv_splits_indices
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- enable_local_managed
- bool
Deaktivierter Parameter. Lokale verwaltete Ausführungen können derzeit nicht aktiviert werden.
- enable_dnn
- bool
Gibt an, ob DNN-basierte Modelle bei der Modellauswahl eingeschlossen werden sollen. Der Standardwert in Init ist „None“. Für DNN-NLP-Aufgaben ist der Standardwert jedoch „True“ und für alle anderen Aufgaben des automatisierten maschinellen Lernens „False“.
Der Typ der auszuführenden Aufgabe. Mögliche Werte sind „Klassifizierung“, „Regression“ oder „Vorhersage“, abhängig vom Typ des zu lösenden Problems des automatisierten maschinellen Lernens.
- path
- str
Der vollständige Pfad zum Azure Machine Learning-Projektordner. Wenn keine Angabe erfolgt ist, wird standardmäßig das aktuelle Verzeichnis oder „.“ verwendet.
- iterations
- int
Die Gesamtzahl der verschiedenen Algorithmus- und Parameterkombinationen, die während eines automatisierten ML-Experiments getestet werden sollen. Wenn keine Angabe erfolgt ist, lautet der Standardwert 1000 Iterationen.
Die Metrik, die vom automatisierten maschinellen Lernen für die Modellauswahl optimiert wird. Beim automatisierten maschinellen Lernen werden mehr Metriken erfasst als optimiert werden können. Sie können mit get_primary_metrics eine Liste gültiger Metriken für eine bestimmte Aufgabe abrufen. Weitere Informationen zur Berechnung von Metriken finden Sie unter https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.
Wenn keine Angabe erfolgt ist, wird „Genauigkeit“ für Klassifizierungsaufgaben, „Wurzel der mittleren Fehlerquadratsumme, normalisiert,“ für Vorhersage- und Regressionsaufgaben, „Genauigkeit“ für die Bildklassifizierung und die mehrfach beschriftete Bildklassifizierung und „mittlere durchschnittliche Genauigkeit“ für die Bildobjekterkennung verwendet.
- positive_label
- Any
Die positive Klassenbezeichnung, die vom automatisierten maschinellen Lernen zum Berechnen von binären Metriken verwendet wird. Binäre Metriken werden in zwei Bedingungen für Klassifizierungsaufgaben berechnet:
- Die Bezeichnungsspalte besteht aus zwei Klassen, die binäre Klassifizierungsaufgaben angeben. Automatisiertes ML verwendet die angegebene positive Klasse, wenn positive_label übergeben wird, andernfalls wird eine positive Klasse basierend auf einem bezeichnungscodierten Wert ausgewählt.
- Mehrklassige Klassifizierungsaufgabe mit der Angabe von positive_label
Weitere Informationen zur Klassifizierung finden Sie unter Metriken für Klassifizierungsszenarios.
- compute_target
- AbstractComputeTarget
Das Azure Machine Learning-Computeziel, auf dem das Experiment für automatisiertes maschinelles Lernen ausgeführt werden soll. Weitere Informationen zu Computezielen finden Sie unter https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote.
- spark_context
- <xref:SparkContext>
Der Spark-Kontext. Nur anwendbar bei Verwendung in einer Azure Databricks-/Spark-Umgebung.
- X
- DataFrame oder ndarray oder Dataset oder DatasetDefinition oder TabularDataset
Die Trainingsfeatures, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und label_column_name.
- y
- DataFrame oder ndarray oder Dataset oder DatasetDefinition oder TabularDataset
Die Trainingsbezeichnungen, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen. Dies ist der Wert, den Ihr Modell vorhersagt. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und label_column_name.
- sample_weight
- DataFrame oder ndarray oder TabularDataset
Die Gewichtung, die jedes Trainingsbeispiel erhalten soll, wenn entsprechende Pipelines ausgeführt werden; jede Zeile sollte einer Zeile in X- und Y-Daten entsprechen.
Geben Sie diesen Parameter bei der Angabe von X
an.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen training_data und weight_column_name.
- X_valid
- DataFrame oder ndarray oder Dataset oder DatasetDefinition oder TabularDataset
Validierungsfeatures, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen.
Wenn eine Angabe erfolgt, muss y_valid
oder sample_weight_valid
ebenfalls angegeben werden.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und label_column_name.
- y_valid
- DataFrame oder ndarray oder Dataset oder DatasetDefinition oder TabularDataset
Validierungsbezeichnungen, die beim Anpassen von Pipelines während eines Experiments verwendet werden sollen.
Sowohl X_valid
als auch y_valid
müssen zusammen angegeben werden.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und label_column_name.
- sample_weight_valid
- DataFrame oder ndarray oder TabularDataset
Die Gewichtung, die jedes Validierungsbeispiel erhalten soll, wenn die Bewertungspipelines ausgeführt werden; jede Zeile sollte einer Zeile in X- und Y-Daten entsprechen.
Geben Sie diesen Parameter bei der Angabe von X_valid
an.
Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen validation_data und weight_column_name.
Indizes, die angeben, wo Trainingsdaten für die Kreuzvalidierung aufgeteilt werden sollen. Jede Zeile ist ein separater Kreuzfold. Stellen Sie innerhalb jedes Kreuzfolds zwei NumPy-Arrays bereit: das erste mit den Indizes für Stichproben, die für Trainingsdaten verwendet werden sollen, und das zweite mit den Indizes, die für Validierungsdaten verwendet werden sollen. Also [[t1, v1], [t2, v2], ...], wobei „t1“ die Trainingsindizes für den ersten Kreuzfold und „v1“ die Validierungsindizes für den ersten Kreuzfold sind. Diese Option wird unterstützt, wenn Daten als separates Featuredataset und Label-Spalte übergeben werden.
Um vorhandene Daten als Validierungsdaten anzugeben, verwenden Sie validation_data
. Damit automatisiertes ML Validierungsdaten stattdessen aus Trainingsdaten extrahieren kann, geben Sie entweder n_cross_validations
oder validation_size
an.
Verwenden Sie cv_split_column_names
, wenn Sie in training_data
über Kreuzvalidierungsspalten verfügen.
- validation_size
- float
Der Teil der Daten, der für die Validierung zurückbehalten werden soll, wenn keine Benutzervalidierungsdaten angegeben werden. Dieser Wert sollte zwischen 0,0 und 1,0 (nicht inklusiv) liegen.
Geben Sie validation_data
an, um Validierungsdaten anzugeben, andernfalls legen Sie n_cross_validations
oder validation_size
fest, um Validierungsdaten aus den angegebenen Trainingsdaten zu extrahieren.
Verwenden Sie für einen benutzerdefinierten Kreuzvalidierungsfold cv_split_column_names
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
Gibt an, wie viele Kreuzvalidierungen durchzuführen sind, wenn keine Benutzervalidierungsdaten angegeben sind.
Geben Sie validation_data
an, um Validierungsdaten anzugeben, andernfalls legen Sie n_cross_validations
oder validation_size
fest, um Validierungsdaten aus den angegebenen Trainingsdaten zu extrahieren.
Verwenden Sie für einen benutzerdefinierten Kreuzvalidierungsfold cv_split_column_names
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- y_min
- float
Mindestwert für „y“ für ein Regressionsexperiment. Die Kombination von y_min
und y_max
wird verwendet, um Testsatzmetriken basierend auf dem Eingabedatenbereich zu normalisieren. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- y_max
- float
Maximalwert für „y“ für ein Regressionsexperiment. Die Kombination von y_min
und y_max
wird verwendet, um Testsatzmetriken basierend auf dem Eingabedatenbereich zu normalisieren. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- num_classes
- int
Die Anzahl der Klassen in den Bezeichnungsdaten für ein Klassifizierungsexperiment. Diese Einstellung wird als veraltet eingestuft. Stattdessen wird dieser Wert anhand der Daten berechnet.
- featurization
- str oder FeaturizationConfig
„auto“, „off“ oder „FeaturizationConfig“: Indikator, ob der Featurisierungsschritt automatisch ausgeführt werden soll oder ob eine angepasste Featurisierung verwendet werden soll. Hinweis: Wenn die Eingabedaten nur eine geringe Dichte besitzen, kann die Featurisierung nicht aktiviert werden.
Der Spaltentyp wird automatisch erkannt. Basierend auf dem erkannten Spaltentyp erfolgt die Vorverarbeitung/Featurisierung wie folgt:
Kategorisch: Zielcodierung, One-Hot-Codierung, Verwerfen von Kategorien mit hoher Kardinalität, Imputieren von fehlenden Werten.
Numerisch: Imputieren von fehlenden Werten, Clusterabstand, Gewichtung von Beweisen.
DateTime: Mehrere Features wie Tag, Sekunden, Minuten, Stunden usw.
Text: Bag-of-Words, vortrainierte Worteinbettung, Textzielcodierung.
Weitere Informationen finden Sie im Artikel Einrichten von AutoML-Training mit Python.
Geben Sie zum Anpassen des Featurisierungsschritts ein FeaturizationConfig-Objekt an. Die benutzerdefinierte Featurisierung unterstützt derzeit das Blockieren eines Satzes von Transformatoren, das Aktualisieren des Spaltenzwecks, das Bearbeiten von Transformatorparametern und das Verwerfen von Spalten. Weitere Informationen finden Sie unter Anpassen von Featureentwicklung.
Hinweis: Timeseries-Features werden separat behandelt, wenn der Aufgabentyp unabhängig von diesem Parameter auf Vorhersagen festgelegt ist.
- max_cores_per_iteration
- int
Die maximale Anzahl von Threads, die für eine bestimmte Trainingsiteration verwendet werden sollen. Gültige Werte:
Größer als 1 und kleiner oder gleich der maximalen Anzahl von Kernen auf dem Computeziel.
Gleich -1, was bedeutet, dass alle möglichen Kerne pro Iteration pro untergeordneter Ausführung verwendet werden.
Gleich 1, der Standardwert.
- max_concurrent_iterations
- int
Steht für die maximale Anzahl von Iterationen, die parallel ausgeführt werden. Der Standardwert ist 1.
AmlCompute-Cluster unterstützen eine Iteration, die pro Knoten ausgeführt wird. Wenn mehrere Experimente parallel auf einem einzelnen AmlCompute-Cluster ausgeführt werden, sollte die Summe der
max_concurrent_iterations
Werte für alle Experimente kleiner oder gleich der maximalen Anzahl von Knoten sein.DSVM unterstützt mehrere Iterationen pro Knoten.
max_concurrent_iterations
sollte kleiner oder gleich der Anzahl der Kerne auf der DSVM sein. Für mehrere Experimente, die auf einer einzelnen DSVM parallel ausgeführt werden, sollte die Summe dermax_concurrent_iterations
-Werte für alle Experimente kleiner oder gleich der maximalen Anzahl an Knoten sein.Databricks:
max_concurrent_iterations
sollte kleiner oder gleich der Anzahl der Workerknoten in Databricks sein.
max_concurrent_iterations
gilt nicht für lokale Ausführungen. Der Name dieses Parameters lautete früher concurrent_iterations
.
- iteration_timeout_minutes
- int
Maximale Dauer in Minuten für jede Ausführung einer Iteration, bevor sie beendet wird. Wenn keine Angabe erfolgt ist, wird als Wert „1 Monat“ oder „43.200 Minuten“ verwendet.
- mem_in_mb
- int
Maximale Speicherauslastung für jede Ausführung einer Iteration, bevor sie beendet wird. Wenn keine Angabe erfolgt ist, wird als Wert „1 PB“ oder „1073741824 MB“ verwendet.
- enforce_time_on_windows
- bool
Gibt an, ob ein Zeitlimit für das Modelltraining bei jeder Iteration unter Windows erzwungen werden soll. Der Standardwert ist True. Wenn die Ausführung über eine Python-Skriptdatei (.py) erfolgt, lesen Sie in der Dokumentation nach, wie Sie Ressourceneinschränkungen unter Windows zulassen.
- experiment_timeout_hours
- float
Maximal zulässige Dauer für alle Iterationen (in Stunden). Danach wird das Experiment beendet. Kann ein Dezimalwert wie 0,25 sein, der 15 Minuten darstellt. Wenn keine Angabe erfolgt, beträgt das Standardtimeout für Experimente 6 Tage. Wenn Sie ein Timeout angeben möchten, das kleiner als oder gleich 1 Stunde ist, stellen Sie sicher, dass die Größe Ihres Datasets nicht größer als 10.000.000 (Zeilen mal Spalte) ist, andernfalls tritt ein Fehler auf.
- experiment_exit_score
- float
Der Zielscore für das Experiment. Das Experiment wird beendet, nachdem dieser Score erreicht wurde.
Wenn keine Angabe erfolgt (keine Kriterien), wird das Experiment ausgeführt, bis kein weiterer Fortschritt bei der primären Metrik erzielt wird. Weitere Informationen zu Exitkriterien finden Sie unter >>article
https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#exit-criteria'_.<<
- enable_early_stopping
- bool
Gibt an, ob die vorzeitige Beendigung aktiviert wird, wenn sich der Score auf kurze Sicht nicht verbessert. Der Standardwert ist True.
Logik zum frühzeitigen Beenden:
Kein frühzeitiges Beenden für die ersten 20 Iterationen (Orientierungspunkte).
Das Fenster zum vorzeitigen Beenden beginnt mit der 21. Iteration und sucht nach early_stopping_n_iters Iterationen (derzeit auf 10 festgelegt). Dies bedeutet, dass die erste Iteration, bei der das Beenden erfolgen kann, die 31. ist.
AutoML plant nach dem frühen Beenden weiterhin zwei Ensembleiterationen, was zu höheren Bewertungen führen kann.
Ein frühzeitiges Beenden wird ausgelöst, wenn der absolute Wert der berechneten besten Bewertung für vergangene early_stopping_n_iters Iterationen identisch ist, d. h. wenn es keine Verbesserung der Bewertung für early_stopping_n_iters Iterationen gibt.
- blocked_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Eine Liste von Algorithmen, die für ein Experiment ignoriert werden können. Wenn enable_tf
„False“ ist, sind TensorFlow-Modelle in blocked_models
enthalten.
- blacklist_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Als veraltet eingestufter Parameter, verwenden Sie stattdessen blocked_models.
- exclude_nan_labels
- bool
Gibt an, ob Zeilen mit NaN-Werten in der Bezeichnung ausgeschlossen werden sollen. Der Standardwert ist True.
- verbosity
- int
Der Ausführlichkeitsgrad für das Schreiben in die Protokolldatei. Der Standardwert lautet „INFO“ oder „20“. Zulässige Werte werden in der Python-Protokollierungsbibliothek definiert.
- enable_tf
- bool
Gibt an, ob TensorFlow-Algorithmen aktiviert/deaktiviert werden sollen. Die Standardeinstellung lautet „false“.
- model_explainability
- bool
Gibt an, ob die Erläuterung des besten AutoML-Modells am Ende aller AutoML-Trainingsiterationen aktiviert werden soll. Der Standardwert ist True. Weitere Informationen finden Sie unter Interpretierbarkeit: Modellerklärungen beim automatisierten maschinellen Lernen.
- allowed_models
- list(str) oder list(Classification) <xref:for classification task> oder list(Regression) <xref:for regression task> oder list(Forecasting) <xref:for forecasting task>
Eine Liste der Modellnamen, in denen nach einem Experiment gesucht werden soll. Wenn keine Angabe erfolgt, werden alle für die Aufgabe unterstützten Modelle verwendet, mit Ausnahme aller in blocked_models
angegebenen Modelle oder der als veraltet eingestuften TensorFlow-Modelle.
Die unterstützten Modelle für jeden Aufgabentyp werden in der SupportedModels-Klasse beschrieben.
- allowed_models
Eine Liste der Modellnamen, in denen nach einem Experiment gesucht werden soll. Wenn keine Angabe erfolgt, werden alle für die Aufgabe unterstützten Modelle verwendet, mit Ausnahme aller in blocked_models
angegebenen Modelle oder der als veraltet eingestuften TensorFlow-Modelle.
Die unterstützten Modelle für jeden Aufgabentyp werden in der SupportedModels-Klasse beschrieben.
- whitelist_models
Als veraltet eingestufter Parameter, verwenden Sie stattdessen allowed_models.
- enable_onnx_compatible_models
- bool
Gibt an, ob das Erzwingen der ONNX-kompatiblen Modelle aktiviert oder deaktiviert werden soll. Die Standardeinstellung lautet „false“. Weitere Informationen zu Open Neural Network Exchange (ONNX) und Azure Machine Learning finden Sie in diesem Artikel.
- forecasting_parameters
- ForecastingParameters
Ein Objekt, das alle vorhersagenspezifischen Parameter enthält.
- time_column_name
- str
Der Name der Zeitspalte. Dieser Parameter ist bei Vorhersage erforderlich, um die datetime-Spalte in den Eingabedaten anzugeben, die zum Erstellen der Zeitreihe sowie zum Ableiten des Intervalls verwendet wird. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- max_horizon
- int
Der gewünschte maximale Prognosehorizont in Einheiten der Zeitreihenhäufigkeit. Der Standardwert ist 1. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Die Einheiten basieren auf dem Zeitintervall Ihrer Trainingsdaten (z. B. monatlich oder wöchentlich), die vorhergesagt werden sollen. Bei Vorhersageaufgaben ist dieser Parameter erforderlich. Weitere Informationen zum Festlegen von Vorhersageparametern finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose.
Die Namen von Spalten, die zum Gruppieren einer Zeitreihe verwendet werden. Dieser Parameter kann zum Erstellen mehrerer Reihen verwendet werden. Ohne definierte Granularität wird bei dem Dataset von einer einzelnen Zeitreihe ausgegangen. Dieser Parameter wird bei der Aufgabentypvorhersage verwendet. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Die Anzahl vergangener Zeiträume, um die die Zielspalte verzögert werden soll. Der Standardwert ist 1. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Bei Vorhersagen stellt dieser Parameter die Anzahl von Zeilen dar, um die die Zielwerte basierend auf der Häufigkeit der Daten verzögert werden sollen. Dies wird als eine Liste oder als einzelner Integer dargestellt. Die Verzögerung sollte verwendet werden, wenn die Beziehung zwischen den unabhängigen Variablen und der abhängigen Variable standardmäßig nicht übereinstimmt oder korreliert. Wenn Sie beispielsweise versuchen, die Nachfrage nach einem Produkt vorherzusagen, hängt die Nachfrage in einem Monat möglicherweise vom Preis für bestimmte Produkte vor 3 Monaten ab. In diesem Beispiel möchten Sie möglicherweise den Zielwert (Nachfrage) um 3 Monate negativ verzögern, sodass das Modell mit der richtigen Beziehung trainiert wird. Weitere Informationen finden Sie unter Automatisches Trainieren eines Modells für die Zeitreihenprognose.
- feature_lags
- str
Flag zum Generieren von Verzögerungen für numerische Funktionen. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- target_rolling_window_size
- int
Die Anzahl vergangener Zeiträume, die zum Erstellen eines Durchschnittswerts für das rollierende Fenster der Zielspalte verwendet werden. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
Bei Vorhersagen stellt dieser Parameter n historische Zeiträume zum Generieren von vorhergesagten Werten dar, <= Größe des Trainingssatzes. Wenn nicht angegeben, ist n die vollständige Trainingsmenge. Geben Sie diesen Parameter an, wenn Sie beim Trainieren des Modells nur eine bestimmte Menge des Verlaufs beachten möchten.
- country_or_region
- str
Das Land/die Region, das bzw. die zum Generieren von Feiertagfeatures verwendet wird. Dabei sollte es sich um den aus zwei Buchstaben bestehenden Länder-/Regionscode nach ISO 3166 handeln (z. B. „US“ oder „GB“). Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- use_stl
- str
Konfigurieren Sie die STL-Aufschlüsselung der Zeitreihen-Zielspalte. Für „use_stl“ sind drei Werte möglich: „None“ (Standardwert, keine STL-Aufschlüsselung), „season“ (nur die Saisonkomponente generieren) und „season_trend“ (sowohl Saison- als auch Trendkomponenten generieren). Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- seasonality
- int
Legt die Saisonalität von Zeitreihen fest. Wenn die Saisonalität auf ‚-1‘ festgelegt ist, wird sie abgeleitet. Wenn use_stl nicht festgelegt ist, wird dieser Parameter nicht verwendet. Diese Einstellung wird als veraltet eingestuft. Verwenden Sie stattdessen forecasting_parameters.
- short_series_handling_configuration
- str
Der Parameter definiert, wie kurze Zeitreihen beim automatisierten maschinellen Lernen verarbeitet werden.
Mögliche Werte: „auto“ (Standardwert), „pad“, „drop“ und „None“.
- auto: kurze Zeitreihen werden aufgefüllt, wenn keine langen Zeitreihen vorhanden sind, andernfalls werden sie abgelegt.
- pad: alle kurzen Zeitreihen werden aufgefüllt.
- drop: alle kurzen Zeitreihen werden abgelegt.
- None: kurze Zeitreihen werden nicht geändert. Wenn „pad“ festgelegt ist, wird die Tabelle mit den Nullen und leeren Werten für die Regressoren und Zufallswerten für das Ziel aufgefüllt, wobei der Mittelwert dem Median des Zielwerts für die angegebene Zeitreihen-ID entspricht. Wenn der Median größer oder gleich null (0) ist, wird der minimale aufgefüllte Wert durch null abgeschnitten. Eingabe:
Datum
numeric_value
string
Ziel
2020-01-01
23
green
55
Ausgabe unter der Annahme, dass die minimale Anzahl von Werten vier ist: +————+—————+———-+——-+| Datum | numeric_value | Zeichenfolge | target | +============+===============+==========+========+ | 29.12.2019 | 0 | NA | 55.1 | +————+—————+———-+——–+ | 30.12.2019 | 0 | NA | 55,6 | +————+—————+———-+——–+ | 31.12.2019 | 0 | NA | 54,5 | +————+—————+———-+——–+ | 01.01.2020 | 23 | grün | 55 | +————+—————+———-+——–+
Hinweis: Wir haben zwei Parameter, short_series_handling_configuration und Legacy-short_series_handling. Wenn beide Parameter festgelegt sind, werden sie wie in der folgenden Tabelle dargestellt synchronisiert (short_series_handling_configuration und short_series_handling sind aus Gründen der Einfachheit als handling_configuration bzw. handling angegeben).
Handhabung
handling_configuration
resultierende Handhabung
sich ergebende handling_configuration
True
auto
True
auto
True
Pad
True
auto
True
drop
True
auto
True
Keine
False
Keine
False
auto
False
Keine
False
Pad
False
Keine
False
drop
False
Keine
False
Keine
False
Keine
Die Vorhersagehäufigkeit.
Bei Vorhersagen stellt dieser Parameter den Zeitraum dar, für den die Vorhersage erfolgen soll, z. B. täglich, wöchentlich, jährlich usw. Die Vorhersagehäufigkeit ist standardmäßig auf die Dataset-Häufigkeit festgelegt. Sie können sie optional auf einen größeren (aber nicht auf einen kleineren) Wert als die Dataset-Häufigkeit festlegen. Wir aggregieren die Daten und generieren die Ergebnisse mit der Vorhersagehäufigkeit. Für tägliche Daten können Sie die Häufigkeit beispielsweise auf täglich, wöchentlich oder monatlich festlegen, aber nicht auf stündlich. Die Häufigkeit muss ein Pandas-Offset-Alias sein. Weitere Informationen finden Sie in der Pandas-Dokumentation: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
Die Funktion zum Aggregieren der Zeitreihen-Zielspalte, um sie an eine benutzerdefinierte Häufigkeit anzupassen. Wenn die target_aggregation_function festgelegt ist, aber nicht der freq-Parameter, wird ein Fehler ausgelöst. Die möglichen Zielaggregationsfunktionen sind „sum“, „max“, „min“ und „mean“.
Freq
target_aggregation_function
Mechanismus zur Behebung der Datenermäßigkeit
Keine (Standard)
Keine (Standard)
Die Aggregation wird nicht angewendet. Wenn die gültige Häufigkeit nicht festgelegt werden kann, wird der Fehler ausgelöst.
Einige Werte
Keine (Standard)
Die Aggregation wird nicht angewendet. Wenn die Anzahl der Datenpunkte, die dem angegebenen Frequenzraster entsprechen, kleiner ist, werden diese Punkte um 90 % entfernt, andernfalls wird der Fehler ausgelöst.
Keine (Standard)
Aggregationsfunktion
Der Fehler über fehlende Häufigkeitsparameter wird ausgelöst.
Einige Werte
Aggregationsfunktion
Aggregieren zur Häufigkeit mithilfe der bereitgestellten Aggregationsfunktion.
- enable_voting_ensemble
- bool
Gibt an, ob die VotingEnsemble-Iteration aktiviert/deaktiviert werden soll. Der Standardwert ist True. Weitere Informationen zu Ensembles finden Sie unter Ensemble-Konfiguration.
- enable_stack_ensemble
- bool
Gibt an, ob die StackEnsemble-Iteration aktiviert/deaktiviert werden soll. Der Standardwert ist „None“. Wenn das Flag enable_onnx_compatible_models festgelegt wird, ist die StackEnsemble-Iteration deaktiviert. Analog dazu wird die StackEnsemble-Iteration für Timeseries-Aufgaben standardmäßig deaktiviert, um das Risiko einer Überanpassung aufgrund eines kleinen Trainingssatzes zu vermeiden, der für die Anpassung des Meta-Learners verwendet wird. Weitere Informationen zu Ensembles finden Sie unter Ensemble-Konfiguration.
- debug_log
- str
Die Protokolldatei, in die Debuginformationen geschrieben werden sollen. Wenn keine Angabe erfolgt, wird „automl.log“ verwendet.
- training_data
- DataFrame oder Dataset oder DatasetDefinition oder TabularDataset
Die Trainingsdaten, die im Experiment verwendet werden sollen.
Sie sollte sowohl Trainingsfeatures als auch eine Bezeichnungsspalte (optional eine Spalte mit Stichprobengewichtungen) enthalten.
Wenn training_data
angegeben wird, muss der Parameter label_column_name
ebenfalls angegeben werden.
training_data
wurde in Version 1.0.81 eingeführt.
- validation_data
- DataFrame oder Dataset oder DatasetDefinition oder TabularDataset
Die Validierungsdaten, die im Experiment verwendet werden sollen.
Sie sollte sowohl Trainingsfeatures als auch eine Bezeichnungsspalte (optional eine Spalte mit Stichprobengewichtungen) enthalten.
Wenn validation_data
angegeben wird, müssen die Parameter training_data
und label_column_name
angegeben werden.
validation_data
wurde in Version 1.0.81 eingeführt. Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- test_data
- Dataset oder TabularDataset
Das Modelltestfeature, das Testdatasets oder Testdatenaufteilungen verwendet, befindet sich in der Vorschau und kann sich jederzeit ändern. Die Testdaten, die für einen Testlauf verwendet werden sollen, der nach Abschluss des Modelltrainings automatisch gestartet wird. Der Testlauf erhält Vorhersagen mithilfe des besten Modells und berechnet anhand dieser Vorhersagen entsprechende Metriken.
Wenn dieser Parameter oder der Parameter test_size
nicht angegeben ist, wird nach Abschluss des Modelltrainings kein Testlauf automatisch ausgeführt.
Testdaten sollten sowohl Features als auch Bezeichnungsspalten enthalten.
Wenn test_data
angegeben wird, muss der Parameter label_column_name
angegeben werden.
- test_size
- float
Die Modelltestfunktion, die Testdatasets oder Testdatenaufteilungen verwendet, befindet sich in der Vorschau und kann sich jederzeit ändern. Der Teil der Trainingsdaten, der für Testdaten für einen Testlauf zurückbehalten werden soll, der nach Abschluss des Modelltrainings automatisch gestartet wird. Der Testlauf erhält Vorhersagen mithilfe des besten Modells und berechnet anhand dieser Vorhersagen entsprechende Metriken.
Dieser Wert sollte zwischen 0,0 und 1,0 (nicht inklusiv) liegen.
Wenn test_size
zur gleichen Zeit wie validation_size
angegeben wird, werden die Testdaten von training_data
getrennt, bevor die Validierungsdaten getrennt werden.
Wenn beispielsweise validation_size=0.1
und test_size=0.1
angegeben werden und die ursprünglichen Trainingsdaten 1000 Zeilen enthalten, enthalten die Testdaten 100 Zeilen, die Validierungsdaten 90 Zeilen und die Trainingsdaten 810 Zeilen.
Für regressionsbasierte Aufgaben werden zufällige Stichproben genommen. Für Klassifizierungsaufgaben werden geschichtete Stichproben genommen. Die Vorhersage unterstützt derzeit nicht die Angabe eines Testdatensatzes mit einer Aufteilung in Training und Test.
Wenn dieser Parameter oder der Parameter test_data
nicht angegeben ist, wird nach Abschluss des Modelltrainings kein Testlauf automatisch ausgeführt.
Der Name der Bezeichnungsspalte. Wenn die Eingabedaten aus einem pandas.DataFrame stammen, der über keine Spaltennamen verfügt, können stattdessen als ganze Zahlen ausgedrückte Spaltenindizes verwendet werden.
Dieser Parameter gilt für die Parameter training_data
, validation_data
und test_data
.
label_column_name
wurde in Version 1.0.81 eingeführt.
Der Name der Spalte mit Stichprobengewichtungen. Das automatisierte maschinelle Lernen unterstützt eine gewichtete Spalte als Eingabe, wodurch Zeilen in den Daten eine höhere oder niedrigere Gewichtung erhalten. Wenn die Eingabedaten aus einem pandas.DataFrame stammen, der über keine Spaltennamen verfügt, können stattdessen als ganze Zahlen ausgedrückte Spaltenindizes verwendet werden.
Dieser Parameter gilt für die Parameter training_data
und validation_data
.
weight_column_names
wurde in Version 1.0.81 eingeführt.
Liste der Namen der Spalten mit benutzerdefinierter Kreuzvalidierungsaufteilung. Jede der CV-Aufteilungsspalten stellt eine CV-Aufteilung dar, wobei jede Zeile mit 1 für Training oder 0 für Validierung markiert ist.
Dieser Parameter gilt für den Parameter training_data
für benutzerdefinierte Kreuzvalidierungszwecke.
cv_split_column_names
wurde in Version 1.6.0 eingeführt.
Verwenden Sie entweder cv_split_column_names
oder cv_splits_indices
.
Weitere Informationen finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
- enable_local_managed
- bool
Deaktivierter Parameter. Lokale verwaltete Ausführungen können derzeit nicht aktiviert werden.
- enable_dnn
- bool
Gibt an, ob DNN-basierte Modelle bei der Modellauswahl eingeschlossen werden sollen. Der Standardwert in Init ist „None“. Für DNN-NLP-Aufgaben ist der Standardwert jedoch „True“ und für alle anderen Aufgaben des automatisierten maschinellen Lernens „False“.
Hinweise
Der folgende Code zeigt ein grundlegendes Beispiel für das Erstellen eines AutoMLConfig-Objekts und das Übermitteln eines Experiments für die Regression:
automl_settings = {
"n_cross_validations": 3,
"primary_metric": 'r2_score',
"enable_early_stopping": True,
"experiment_timeout_hours": 1.0,
"max_concurrent_iterations": 4,
"max_cores_per_iteration": -1,
"verbosity": logging.INFO,
}
automl_config = AutoMLConfig(task = 'regression',
compute_target = compute_target,
training_data = train_data,
label_column_name = label,
**automl_settings
)
ws = Workspace.from_config()
experiment = Experiment(ws, "your-experiment-name")
run = experiment.submit(automl_config, show_output=True)
Ein vollständiges Beispiel finden Sie unter Regression.
Beispiele für die Verwendung von AutoMLConfig für Vorhersagen finden Sie in den folgenden Notebooks:
Orange Juice Sales Forecasting (Umsatzprognose für Orangensaft)
Forecasting using the Energy Demand Dataset (Vorhersage mithilfe des Datasets für den Energiebedarf)
BikeShare Demand Forecasting (BikeShare-Bedarfsvorhersage)
Beispiele für die Verwendung von AutoMLConfig für alle Aufgabentypen finden Sie in diesen Notebooks zum automatisierten maschinellen Lernen.
Hintergrundinformationen zum automatisierten maschinellen Lernen finden Sie in den folgenden Artikeln:
Einrichten von AutoML-Training mit Python. Dieser Artikel enthält Informationen zu den verschiedenen Algorithmen und primären Metriken, die für die einzelnen Aufgabentypen verwendet werden.
Automatisches Trainieren eines Modells für die Zeitreihenprognose. Dieser Artikel enthält Informationen darüber, welche Konstruktorparameter und
**kwargs
bei der Vorhersage verwendet werden.
Weitere Informationen zu den verschiedenen Optionen zum Konfigurieren der Aufteilung von Trainings- und Validierungsdaten und der Kreuzvalidierung für Ihre automatisierten Experimente mit maschinellem Lernen, AutoML, finden Sie unter Konfigurieren von Datenaufteilung und Kreuzvalidierung im automatisierten maschinellen Lernen.
Methoden
as_serializable_dict |
Konvertieren Sie das Objekt in ein Wörterbuch. |
get_supported_dataset_languages |
Ruft unterstützte Sprachen und ihre entsprechenden Sprachcodes in ISO 639-3 ab. |
as_serializable_dict
Konvertieren Sie das Objekt in ein Wörterbuch.
as_serializable_dict() -> Dict[str, Any]
get_supported_dataset_languages
Ruft unterstützte Sprachen und ihre entsprechenden Sprachcodes in ISO 639-3 ab.
get_supported_dataset_languages(use_gpu: bool) -> Dict[Any, Any]
Parameter
- use_gpu
Boolescher Wert, der angibt, ob GPU-Compute verwendet wird oder nicht.
Gibt zurück
Wörterbuch im Format {: }. Der Sprachcode entspricht dem ISO 639-3-Standard. Weitere Informationen finden Sie unter https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes.
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für