AutoMLConfig Klasa

Reprezentuje konfigurację przesyłania zautomatyzowanego eksperymentu uczenia maszynowego w usłudze Azure Machine Learning.

Ten obiekt konfiguracji zawiera i utrwala parametry konfigurowania przebiegu eksperymentu, a także dane treningowe, które mają być używane w czasie wykonywania. Aby uzyskać wskazówki dotyczące wybierania ustawień, zobacz https://aka.ms/AutoMLConfig.

Utwórz aplikację AutoMLConfig.

Dziedziczenie
builtins.object
AutoMLConfig

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)

Parametry

task
str lub Tasks
Wymagane

Typ zadania do uruchomienia. Wartości mogą być "klasyfikacja", "regresja" lub "prognozowanie" w zależności od typu zautomatyzowanego problemu uczenia maszynowego do rozwiązania.

path
str
Wymagane

Pełna ścieżka do folderu projektu usługi Azure Machine Learning. Jeśli nie zostanie określony, wartością domyślną jest użycie bieżącego katalogu lub ".".

iterations
int
Wymagane

Całkowita liczba różnych kombinacji algorytmów i parametrów do testowania podczas eksperymentu zautomatyzowanego uczenia maszynowego. Jeśli nie zostanie określony, wartość domyślna to 1000 iteracji.

primary_metric
str lub Metric
Wymagane

Metryka zoptymalizowana pod kątem wyboru modelu przez zautomatyzowane uczenie maszynowe. Zautomatyzowane uczenie maszynowe zbiera więcej metryk niż może zoptymalizować. Możesz użyć get_primary_metrics polecenia , aby uzyskać listę prawidłowych metryk dla danego zadania. Aby uzyskać więcej informacji na temat sposobu obliczania metryk, zobacz https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.

Jeśli nie zostanie określona, dokładność jest używana do zadań klasyfikacji, znormalizowany średni kwadrat główny służy do prognozowania i regresji zadań, dokładność jest używana do klasyfikacji obrazów i klasyfikacji wielu etykiet obrazu, a średnia precyzja jest używana do wykrywania obiektów obrazu.

positive_label
Any
Wymagane

Etykieta klasy dodatniej używana przez zautomatyzowane uczenie maszynowe do obliczania metryk binarnych. Metryki binarne są obliczane w dwóch warunkach dla zadań klasyfikacji:

  1. kolumna label składa się z dwóch klas wskazujących zadanie klasyfikacji binarnej AutoML użyje określonej klasy dodatniej po przekazaniu positive_label . W przeciwnym razie rozwiązanie AutoML wybierze klasę dodatnią na podstawie zakodowanej wartości etykiety.
  2. zadanie klasyfikacji wieloklasowej z określonym positive_label

Aby uzyskać więcej informacji na temat klasyfikacji, wyewidencjonuj metryki dla scenariuszy klasyfikacji.

compute_target
AbstractComputeTarget
Wymagane

Docelowy obiekt obliczeniowy usługi Azure Machine Learning umożliwiający uruchomienie eksperymentu zautomatyzowanego uczenia maszynowego. Zobacz https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote , aby uzyskać więcej informacji na temat docelowych obiektów obliczeniowych.

spark_context
<xref:SparkContext>
Wymagane

Kontekst platformy Spark. Ma zastosowanie tylko w przypadku użycia w środowisku usługi Azure Databricks/Spark.

X
DataFrame lub ndarray lub Dataset lub TabularDataset
Wymagane

Funkcje trenowania używane podczas dopasowywania potoków podczas eksperymentu. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i label_column_name.

y
DataFrame lub ndarray lub Dataset lub TabularDataset
Wymagane

Etykiety szkoleniowe do użycia podczas dopasowywania potoków podczas eksperymentu. Jest to wartość, która będzie przewidywana przez model. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i label_column_name.

sample_weight
DataFrame lub ndarray lub TabularDataset
Wymagane

Waga do nadania każdemu przykładowi treningowemu podczas uruchamiania pasujących potoków każdy wiersz powinien odpowiadać wierszowi w danych X i y.

Określ ten parametr podczas określania parametru X. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i weight_column_name.

X_valid
DataFrame lub ndarray lub Dataset lub TabularDataset
Wymagane

Funkcje weryfikacji do użycia podczas dopasowywania potoków podczas eksperymentu.

Jeśli zostanie określony, y_valid należy również określić wartość lub sample_weight_valid . To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i label_column_name.

y_valid
DataFrame lub ndarray lub Dataset lub TabularDataset
Wymagane

Etykiety weryfikacji używane podczas dopasowywania potoków podczas eksperymentu.

Oba X_valid elementy i y_valid muszą być określone razem. To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i label_column_name.

sample_weight_valid
DataFrame lub ndarray lub TabularDataset
Wymagane

Waga, która ma zostać nadana każdemu przykładowi walidacji podczas uruchamiania potoków oceniania, każdy wiersz powinien odpowiadać wierszowi w danych X i y.

Określ ten parametr podczas określania parametru X_valid. To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i weight_column_name.

cv_splits_indices
List[List[ndarray]]
Wymagane

Indeksy, w których należy podzielić dane treningowe na potrzeby krzyżowej walidacji. Każdy wiersz jest oddzielnym krzyżowym fałdem i w każdym skrzyżowaniu, udostępnia 2 tablice numpy, pierwszy z indeksami dla przykładów do użycia na potrzeby danych szkoleniowych, a drugi z indeksami do użycia na potrzeby danych walidacji. tj. [[t1, v1], [t2, v2], ...] gdzie t1 to indeksy treningowe dla pierwszego zgięcia krzyżowego, a v1 to indeksy walidacji dla pierwszej krotnie krzyżowej.

Aby określić istniejące dane jako dane weryfikacji, użyj polecenia validation_data. Aby zamiast tego umożliwić funkcji AutoML wyodrębnianie danych walidacji z danych treningowych, określ wartość n_cross_validations lub validation_size. Użyj polecenia cv_split_column_names , jeśli masz kolumny krzyżowej walidacji w pliku training_data.

validation_size
float
Wymagane

Ułamek danych do przechowywania w celu weryfikacji, gdy nie określono danych weryfikacji użytkownika. Powinno to należeć do przedziału od 0,0 do 1,0 włącznie.

Określ validation_data , aby zapewnić dane weryfikacji, w przeciwnym razie ustawić n_cross_validations lub validation_size wyodrębnić dane weryfikacji z określonych danych treningowych. W przypadku niestandardowego składania krzyżowego sprawdzania poprawności użyj polecenia cv_split_column_names.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

n_cross_validations
int
Wymagane

Ile weryfikacji krzyżowych należy wykonać, gdy nie określono danych weryfikacji użytkownika.

Określ validation_data , aby zapewnić dane weryfikacji, w przeciwnym razie ustawić n_cross_validations lub validation_size wyodrębnić dane weryfikacji z określonych danych treningowych. W przypadku niestandardowego składania krzyżowego sprawdzania poprawności użyj polecenia cv_split_column_names.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

y_min
float
Wymagane

Minimalna wartość y dla eksperymentu regresji. Kombinacja elementów y_min i y_max służy do normalizacji metryk zestawu testów na podstawie zakresu danych wejściowych. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

y_max
float
Wymagane

Maksymalna wartość y dla eksperymentu regresji. Kombinacja elementów y_min i y_max służy do normalizacji metryk zestawu testów na podstawie zakresu danych wejściowych. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

num_classes
int
Wymagane

Liczba klas w danych etykiet dla eksperymentu klasyfikacji. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

featurization
str lub FeaturizationConfig
Wymagane

Wskaźnik "auto" / "off" / FeaturizationConfig dla tego, czy krok cechowania powinien być wykonywany automatycznie, czy nie, czy też należy używać dostosowanej cechowania. Uwaga: jeśli dane wejściowe są rozrzedane, nie można włączyć cechowania.

Typ kolumny jest wykrywany automatycznie. Na podstawie wykrytego typu kolumny przetwarzanie wstępne/cechowanie odbywa się w następujący sposób:

  • Kategoria: kodowanie docelowe, jedno kodowanie gorąca, porzucanie kategorii o wysokiej kardynalności, uzupełnianie brakujących wartości.

  • Liczbowe: imputuj brakujące wartości, odległość klastra, wagę dowodów.

  • Data/godzina: kilka funkcji, takich jak dzień, sekundy, minuty, godziny itp.

  • Tekst: torba słów, wstępnie wytrenowana Word osadzanie, kodowanie obiektów docelowych tekstu.

Więcej szczegółów można znaleźć w artykule Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python.

Aby dostosować krok cechowania, podaj obiekt FeaturizationConfig. Dostosowywanie cech obecnie obsługuje blokowanie zestawu transformatorów, aktualizowanie przeznaczenia kolumn, edytowanie parametrów przekształcania i usuwanie kolumn. Aby uzyskać więcej informacji, zobacz Dostosowywanie inżynierii cech.

Uwaga: funkcje timeseries są obsługiwane oddzielnie, gdy typ zadania jest ustawiony na prognozowanie niezależnie od tego parametru.

max_cores_per_iteration
int
Wymagane

Maksymalna liczba wątków do użycia dla danej iteracji treningowej. Dopuszczalne wartości:

  • Większa niż 1 i mniejsza lub równa maksymalnej liczbie rdzeni w docelowym obiekcie obliczeniowym.

  • Równe -1, co oznacza użycie wszystkich możliwych rdzeni na iterację na przebieg podrzędny.

  • Wartość domyślna to 1.

max_concurrent_iterations
int
Wymagane

Reprezentuje maksymalną liczbę iteracji, które będą wykonywane równolegle. Wartość domyślna to 1.

  • Klastry AmlCompute obsługują jedną interację uruchomioną na węzeł. W przypadku wielu przebiegów nadrzędnych eksperymentu zautomatyzowanego uczenia maszynowego wykonywanych równolegle w jednym klastrze AmlCompute suma max_concurrent_iterations wartości dla wszystkich eksperymentów powinna być mniejsza lub równa maksymalnej liczbie węzłów. W przeciwnym razie przebiegi będą kolejkowane do momentu udostępnienia węzłów.

  • Maszyna DSVM obsługuje wiele iteracji na węzeł. max_concurrent_iterations powinna być mniejsza lub równa liczbie rdzeni na maszynie DSVM. W przypadku wielu eksperymentów uruchamianych równolegle na jednej maszynie DSVM suma max_concurrent_iterations wartości wszystkich eksperymentów powinna być mniejsza lub równa maksymalnej liczbie węzłów.

  • Databricks — max_concurrent_iterations powinna być mniejsza lub równa liczbie węzłów roboczych w usłudze Databricks.

max_concurrent_iterations nie ma zastosowania do przebiegów lokalnych. Wcześniej ten parametr nosił nazwę concurrent_iterations.

iteration_timeout_minutes
int
Wymagane

Maksymalny czas w minutach, przez który każda iteracja może zostać uruchomiona przed jego zakończeniem. Jeśli nie zostanie określony, zostanie użyta wartość 1 miesiąca lub 43200 minut.

mem_in_mb
int
Wymagane

Maksymalne użycie pamięci, dla którego można uruchomić każdą iterację przed jej zakończeniem. Jeśli nie zostanie określony, zostanie użyta wartość 1 PB lub 1073741824 MB.

enforce_time_on_windows
bool
Wymagane

Czy wymuszać limit czasu trenowania modelu w każdej iteracji w systemie Windows. Wartość domyślna to True. W przypadku uruchamiania z pliku skryptu języka Python (py) zapoznaj się z dokumentacją umożliwiającą limity zasobów w systemie Windows.

experiment_timeout_hours
float
Wymagane

Maksymalna ilość czasu w godzinach, przez jaką wszystkie połączone iteracji mogą potrwać przed zakończeniem eksperymentu. Może to być wartość dziesiętna, na przykład 0,25 reprezentująca 15 minut. Jeśli nie zostanie określony, domyślny limit czasu eksperymentu wynosi 6 dni. Aby określić limit czasu krótszy lub równy 1 godzinie, upewnij się, że rozmiar zestawu danych nie jest większy niż 10 000 000 (wiersze w kolumnie czasu) lub wyniki błędu.

experiment_exit_score
float
Wymagane

Wynik docelowy dla eksperymentu. Eksperyment kończy się po osiągnięciu tego wyniku. Jeśli nie zostanie określony (brak kryteriów), eksperyment zostanie uruchomiony do momentu, aż nie zostaną wykonane dalsze postępy w podstawowej metryce. Aby uzyskać więcej informacji na temat kryteriów zakończenia, zobacz ten artykuł.

enable_early_stopping
bool
Wymagane

Czy włączyć wczesne zakończenie, jeśli wynik nie poprawia się w krótkim okresie. Wartość domyślna to True.

Logika wczesnego zatrzymywania:

  • Brak wczesnego zatrzymywania dla pierwszych 20 iteracji (punktów orientacyjnych).

  • Wczesne zatrzymywanie okna rozpoczyna się w 21 iteracji i szuka iteracji early_stopping_n_iters

    (obecnie ustawiono wartość 10). Oznacza to, że pierwszą iterację, w której może wystąpić zatrzymanie, jest 31.

  • AutoML nadal planuje 2 iteracji grupowych po wczesnym zatrzymaniu, co może spowodować

    wyższe wyniki.

  • Wczesne zatrzymywanie jest wyzwalane, jeśli bezwzględna wartość obliczona najlepszego wyniku jest taka sama dla przeszłości

    early_stopping_n_iters iteracji, oznacza to, że jeśli nie ma poprawy oceny dla iteracji early_stopping_n_iters.

blocked_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Lista algorytmów do zignorowania dla eksperymentu. Jeśli enable_tf ma wartość False, modele TensorFlow są uwzględniane w elemecie blocked_models.

blacklist_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Przestarzały parametr użyj blocked_models zamiast tego.

exclude_nan_labels
bool
Wymagane

Czy wykluczyć wiersze z wartościami NaN w etykiecie. Wartość domyślna to True.

verbosity
int
Wymagane

Poziom szczegółowości zapisu w pliku dziennika. Wartość domyślna to INFO lub 20. Dopuszczalne wartości są definiowane w bibliotece rejestrowania języka Python.

enable_tf
bool
Wymagane

Przestarzały parametr umożliwiający włączanie/wyłączanie algorytmów Tensorflow. Wartość domyślna to False.

model_explainability
bool
Wymagane

Czy włączyć wyjaśnienie najlepszego modelu automatycznego uczenia maszynowego na końcu wszystkich iteracji trenowania zautomatyzowanego uczenia maszynowego. Wartość domyślna to True. Aby uzyskać więcej informacji, zobacz Interpretowanie: wyjaśnienia modelu w zautomatyzowanym uczeniu maszynowym.

allowed_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Lista nazw modeli do wyszukiwania eksperymentu. Jeśli nie zostanie określony, wszystkie modele obsługiwane dla zadania są używane z wyłączeniem wszystkich określonych w blocked_models lub przestarzałych modelach TensorFlow. Obsługiwane modele dla każdego typu zadania są opisane w SupportedModels klasie .

whitelist_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Zamiast tego przestarzały parametr użyj allowed_models.

enable_onnx_compatible_models
bool
Wymagane

Czy włączyć lub wyłączyć wymuszanie modeli zgodnych z protokołem ONNX. Wartość domyślna to False. Aby uzyskać więcej informacji na temat programu Open Neural Network Exchange (ONNX) i usługi Azure Machine Learning, zobacz ten artykuł.

forecasting_parameters
ForecastingParameters
Wymagane

Obiekt ForecastingParameters do przechowywania wszystkich parametrów specyficznych dla prognozowania.

time_column_name
str
Wymagane

Nazwa kolumny czasu. Ten parametr jest wymagany podczas prognozowania w celu określenia kolumny datetime w danych wejściowych używanych do tworzenia szeregów czasowych i wnioskowania jego częstotliwości. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

max_horizon
int
Wymagane

Żądany maksymalny horyzont prognozy w jednostkach częstotliwości szeregów czasowych. Wartość domyślna to 1.

Jednostki są oparte na interwale czasu danych treningowych, np. miesięcznych, cotygodniowych, które prognostyk powinien przewidzieć. Gdy typ zadania jest prognozowany, ten parametr jest wymagany. Aby uzyskać więcej informacji na temat ustawiania parametrów prognozowania, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych). To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

grain_column_names
str lub list(str)
Wymagane

Nazwy kolumn używanych do grupowania przedziałów czasu. Może służyć do tworzenia wielu serii. Jeśli ziarno nie jest zdefiniowane, zakłada się, że zestaw danych jest jednym szeregem czasowym. Ten parametr jest używany z prognozowaniem typu zadania. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

target_lags
int lub list(int)
Wymagane

Liczba poprzednich okresów do opóźnienia z kolumny docelowej. Wartość domyślna to 1. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

Podczas prognozowania ten parametr reprezentuje liczbę wierszy do opóźnienia wartości docelowych na podstawie częstotliwości danych. Jest to reprezentowane jako lista lub pojedyncza liczba całkowita. Opóźnienie powinno być używane, gdy relacja między zmiennymi niezależnymi a zmienną zależną nie jest domyślnie zgodna ani skorelowana. Na przykład podczas próby prognozowania popytu na produkt popyt w dowolnym miesiącu może zależeć od ceny określonych towarów 3 miesiące wcześniej. W tym przykładzie możesz chcieć negatywnie opóźnić wartość docelową (zapotrzebowanie) o 3 miesiące, aby model trenował w odpowiedniej relacji. Aby uzyskać więcej informacji, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych).

feature_lags
str
Wymagane

Flaga generowania opóźnień dla funkcji liczbowych. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

target_rolling_window_size
int
Wymagane

Liczba poprzednich okresów użytych do utworzenia średniej okna kroczącego kolumny docelowej. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

Podczas prognozowania ten parametr reprezentuje n okresów historycznych do użycia do generowania wartości prognozowanych, <= rozmiar zestawu treningowego. Jeśli pominięto, n jest pełnym rozmiarem zestawu treningowego. Określ ten parametr, jeśli chcesz wziąć pod uwagę tylko określoną ilość historii podczas trenowania modelu.

country_or_region
str
Wymagane

Kraj/region używany do generowania funkcji wakacji. Powinny to być dwuliterowe kody kraju/regionu ISO 3166, na przykład "USA" lub "GB". To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

use_stl
str
Wymagane

Skonfiguruj dekompozycję STL kolumny docelowej szeregów czasowych. use_stl może przyjmować trzy wartości: Brak (wartość domyślna) — brak dekompozycji stl, "season" — tylko generuj składnik sezonu i season_trend — generuje zarówno składniki sezonu, jak i trendu. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

seasonality
int lub str
Wymagane

Ustaw sezonowość szeregów czasowych. Jeśli sezonowość jest ustawiona na wartość "auto", zostanie ona wywnioskowana. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

short_series_handling_configuration
str
Wymagane

Parametr definiujący sposób obsługi krótkich szeregów czasowych przez rozwiązanie AutoML.

Możliwe wartości: "auto" (wartość domyślna), "pad", "drop" i None.

  • automatyczna seria krótka zostanie wypełniona, jeśli nie ma długiej serii, w przeciwnym razie seria krótka zostanie porzucona.
  • pad wszystkie krótkie serie zostaną wypełnione.
  • upuść wszystkie krótkie serie zostaną porzucone".
  • Żadna z krótkich serii nie zostanie zmodyfikowana. Jeśli zostanie ustawiona wartość "pad", tabela zostanie wypełniona zerami i pustymi wartościami dla regresorów i wartości losowych dla wartości docelowej o średniej równej wartości docelowej mediany dla danego identyfikatora szeregów czasowych. Jeśli mediana jest większa lub równa zero, minimalna wartość wypełniona zostanie obcięty przez zero: Dane wejściowe:

Data

numeric_value

ciąg

Docelowego

2020-01-01

23

green

55

Dane wyjściowe przy założeniu, że minimalna liczba wartości to cztery:

Data

numeric_value

ciąg

Docelowego

2019-12-29

0

NA

55.1

2019-12-30

0

NA

55.6

2019-12-31

0

NA

54.5

2020-01-01

23

green

55

Uwaga: Mamy dwa parametry short_series_handling_configuration i starsze short_series_handling. Po ustawieniu obu parametrów są one synchronizowane, jak pokazano w poniższej tabeli (odpowiednio short_series_handling_configuration i short_series_handling dla zwięzłości są oznaczone jako handling_configuration i obsługa).

Obsługi

handling_configuration

obsługa wynikowa

wynikowe handling_configuration

Prawda

auto

Prawda

auto

Prawda

Pad

Prawda

auto

Prawda

drop

Prawda

auto

Prawda

Brak

Fałsz

Brak

Fałsz

auto

Fałsz

Brak

Fałsz

Pad

Fałsz

Brak

Fałsz

drop

Fałsz

Brak

Fałsz

Brak

Fałsz

Brak

freq
str lub None
Wymagane

Częstotliwość prognozowania.

Podczas prognozowania ten parametr reprezentuje okres, z którym jest wymagana prognoza, na przykład codziennie, co tydzień, co rok itp. Częstotliwość prognozy jest domyślnie częstotliwością zestawu danych. Opcjonalnie można ustawić ją na większą (ale nie mniejszą) niż częstotliwość zestawu danych. Zagregujemy dane i wygenerujemy wyniki z częstotliwością prognozy. Na przykład w przypadku danych dziennych można ustawić częstotliwość na dzienną, tygodniową lub miesięczną, ale nie godzinowo. Częstotliwość musi być aliasem przesunięcia biblioteki pandas. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją biblioteki pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str lub None
Wymagane

Funkcja używana do agregowania kolumny docelowej szeregów czasowych w celu zachowania zgodności z określoną częstotliwością użytkownika. Jeśli target_aggregation_function jest ustawiona, ale parametr freq nie jest ustawiony, zostanie zgłoszony błąd. Możliwe funkcje agregacji docelowej to: "sum", "max", "min" i "mean".

Freq

target_aggregation_function

Mechanizm naprawiania regularności danych

Brak (wartość domyślna)

Brak (wartość domyślna)

Agregacja nie jest stosowana. Jeśli prawidłowa częstotliwość nie może zostać określona, zostanie zgłoszony błąd.

Niektóre wartości

Brak (wartość domyślna)

Agregacja nie jest stosowana. Jeśli liczba punktów danych zgodnych z daną siatką częstotliwości jest mniejsza, zostanie usunięta 90%, w przeciwnym razie zostanie zgłoszony błąd.

Brak (wartość domyślna)

Funkcja agregacji

Zgłoszony błąd dotyczący brakujących parametrów częstotliwości.

Niektóre wartości

Funkcja agregacji

Agregacja do częstotliwości przy użyciu funkcji providedaggregation.

enable_voting_ensemble
bool
Wymagane

Czy włączyć/wyłączyć iterację VotingEnsemble. Wartość domyślna to True. Aby uzyskać więcej informacji na temat zespołów, zobacz Konfiguracja zespołu.

enable_stack_ensemble
bool
Wymagane

Czy włączyć/wyłączyć iterację StackEnsemble. Wartość domyślna to Brak. Jeśli flaga enable_onnx_compatible_models jest ustawiona, iteracja StackEnsemble zostanie wyłączona. Podobnie w przypadku zadań Timeseries iteracja StackEnsemble zostanie domyślnie wyłączona, aby uniknąć ryzyka nadmiernego dopasowania z powodu małego zestawu treningowego używanego w dopasowywaniu meta ucznia. Aby uzyskać więcej informacji na temat zespołów, zobacz Konfiguracja zespołu.

debug_log
str
Wymagane

Plik dziennika do zapisywania informacji debugowania. Jeśli nie zostanie określony, zostanie użyty plik "automl.log".

training_data
DataFrame lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Dane szkoleniowe, które mają być używane w eksperymencie. Powinna ona zawierać zarówno funkcje trenowania, jak i kolumnę etykiety (opcjonalnie kolumnę przykładowych wag). Jeśli training_data parametr jest określony, label_column_name należy również określić parametr .

training_data wprowadzono w wersji 1.0.81.

validation_data
DataFrame lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Dane weryfikacji, które mają być używane w eksperymencie. Powinna ona zawierać zarówno funkcje trenowania, jak i kolumnę etykiet (opcjonalnie kolumnę przykładowych wag). Jeśli validation_data parametr jest określony, training_data należy określić parametry i label_column_name .

validation_data wprowadzono w wersji 1.0.81. Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

test_data
Dataset lub TabularDataset
Wymagane

Funkcja testu modelu przy użyciu zestawów danych testowych lub podziałów danych testowych jest funkcją w stanie wersji zapoznawczej i może ulec zmianie w dowolnym momencie. Dane testowe, które mają być używane na potrzeby przebiegu testu, który zostanie automatycznie uruchomiony po zakończeniu trenowania modelu. Przebieg testu uzyska przewidywania przy użyciu najlepszego modelu i obliczy metryki, biorąc pod uwagę te przewidywania.

Jeśli ten parametr lub test_size parametr nie zostaną określone, uruchomienie testu nie zostanie wykonane automatycznie po zakończeniu trenowania modelu. Dane testowe powinny zawierać zarówno funkcje, jak i kolumnę etykiety. Jeśli test_data określono parametr , label_column_name należy określić parametr .

test_size
float
Wymagane

Funkcja testu modelu przy użyciu zestawów danych testowych lub podziałów danych testowych jest funkcją w stanie wersji zapoznawczej i może ulec zmianie w dowolnym momencie. Ułamek danych treningowych do przechowywania danych testowych dla przebiegu testu, który zostanie automatycznie uruchomiony po zakończeniu trenowania modelu. Przebieg testu uzyska przewidywania przy użyciu najlepszego modelu i obliczy metryki, biorąc pod uwagę te przewidywania.

Powinno to należeć do przedziału od 0,0 do 1,0 włącznie. Jeśli test_size zostanie określony w tym samym czasie co validation_sizeparametr , dane testowe zostaną podzielone przed training_data podzieleniem danych walidacji. Jeśli na przykład validation_size=0.1test_size=0.1 , a oryginalne dane szkoleniowe zawierają 1000 wierszy, dane testowe będą zawierać 100 wierszy, dane walidacji będą zawierać 90 wierszy, a dane szkoleniowe będą zawierać 810 wierszy.

W przypadku zadań opartych na regresji jest używane losowe próbkowanie. W przypadku zadań klasyfikacji używane jest próbkowanie warstwowe. Prognozowanie nie obsługuje obecnie określania zestawu danych testowych przy użyciu podziału trenowania/testu.

Jeśli ten parametr lub test_data parametr nie zostaną określone, uruchomienie testu nie zostanie wykonane automatycznie po zakończeniu trenowania modelu.

label_column_name
Union[str, int]
Wymagane

Nazwa kolumny etykiety. Jeśli dane wejściowe pochodzą z biblioteki pandas. Obiekt DataFrame, który nie ma nazw kolumn, można zamiast tego użyć indeksów kolumn wyrażonych jako liczby całkowite.

Ten parametr ma zastosowanie do training_dataparametrów i . validation_datatest_data label_column_name wprowadzono w wersji 1.0.81.

weight_column_name
Union[str, int]
Wymagane

Nazwa przykładowej kolumny wagi. Zautomatyzowane uczenie maszynowe obsługuje kolumnę ważoną jako dane wejściowe, co powoduje, że wiersze w danych mają być ważone w górę lub w dół. Jeśli dane wejściowe pochodzą z biblioteki pandas. Obiekt DataFrame, który nie ma nazw kolumn, można zamiast tego użyć indeksów kolumn wyrażonych jako liczby całkowite.

Ten parametr ma zastosowanie do training_data parametrów i .validation_data weight_column_names wprowadzono w wersji 1.0.81.

cv_split_column_names
list(str)
Wymagane

Lista nazw kolumn zawierających podział niestandardowej weryfikacji krzyżowej. Każda z kolumn podzielonych CV reprezentuje jeden podział CV, w którym każdy wiersz jest oznaczony jako 1 do trenowania lub 0 w celu weryfikacji.

Ten parametr ma zastosowanie do parametru training_data na potrzeby niestandardowej weryfikacji krzyżowej. cv_split_column_names wprowadzono w wersji 1.6.0

Użyj polecenia cv_split_column_names lub cv_splits_indices.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

enable_local_managed
bool
Wymagane

Wyłączony parametr. Obecnie nie można włączyć lokalnych przebiegów zarządzanych.

enable_dnn
bool
Wymagane

Określa, czy podczas wybierania modelu mają być uwzględniane modele oparte na sieci rozproszonej. Wartość domyślna w init to Brak. Jednak wartość domyślna to True dla zadań równoważenia obciążenia sieciowego sieci rozproszonej sieci rozproszonej i jest to wartość False dla wszystkich innych zadań automatycznego uczenia maszynowego.

task
str lub Tasks
Wymagane

Typ zadania do uruchomienia. Wartości mogą być "klasyfikacja", "regresja" lub "prognozowanie" w zależności od typu zautomatyzowanego problemu uczenia maszynowego do rozwiązania.

path
str
Wymagane

Pełna ścieżka do folderu projektu usługi Azure Machine Learning. Jeśli nie zostanie określony, wartością domyślną jest użycie bieżącego katalogu lub ".".

iterations
int
Wymagane

Całkowita liczba różnych kombinacji algorytmów i parametrów do testowania podczas eksperymentu zautomatyzowanego uczenia maszynowego. Jeśli nie zostanie określony, wartość domyślna to 1000 iteracji.

primary_metric
str lub Metric
Wymagane

Metryka zoptymalizowana pod kątem wyboru modelu przez zautomatyzowane uczenie maszynowe. Zautomatyzowane uczenie maszynowe zbiera więcej metryk niż może zoptymalizować. Możesz użyć get_primary_metrics polecenia , aby uzyskać listę prawidłowych metryk dla danego zadania. Aby uzyskać więcej informacji na temat sposobu obliczania metryk, zobacz https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric.

Jeśli nie zostanie określona, dokładność jest używana do zadań klasyfikacji, znormalizowany średni kwadrat główny służy do prognozowania i regresji zadań, dokładność jest używana do klasyfikacji obrazów i klasyfikacji wielu etykiet obrazu, a średnia precyzja jest używana do wykrywania obiektów obrazu.

positive_label
Any
Wymagane

Etykieta klasy dodatniej używana przez zautomatyzowane uczenie maszynowe do obliczania metryk binarnych. Metryki binarne są obliczane w dwóch warunkach dla zadań klasyfikacji:

  1. kolumna label składa się z dwóch klas wskazujących zadanie klasyfikacji binarnej AutoML użyje określonej klasy dodatniej po przekazaniu positive_label . W przeciwnym razie rozwiązanie AutoML wybierze klasę dodatnią na podstawie zakodowanej wartości etykiety.
  2. zadanie klasyfikacji wieloklasowej z określonym positive_label

Aby uzyskać więcej informacji na temat klasyfikacji, wyewidencjonuj metryki dla scenariuszy klasyfikacji.

compute_target
AbstractComputeTarget
Wymagane

Docelowy obiekt obliczeniowy usługi Azure Machine Learning umożliwiający uruchomienie eksperymentu zautomatyzowanego uczenia maszynowego. Zobacz https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote , aby uzyskać więcej informacji na temat docelowych obiektów obliczeniowych.

spark_context
<xref:SparkContext>
Wymagane

Kontekst platformy Spark. Ma zastosowanie tylko w przypadku użycia w środowisku usługi Azure Databricks/Spark.

X
DataFrame lub ndarray lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Funkcje trenowania używane podczas dopasowywania potoków podczas eksperymentu. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i label_column_name.

y
DataFrame lub ndarray lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Etykiety szkoleniowe do użycia podczas dopasowywania potoków podczas eksperymentu. Jest to wartość, która będzie przewidywana przez model. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i label_column_name.

sample_weight
DataFrame lub ndarray lub TabularDataset
Wymagane

Waga do nadania każdemu przykładowi treningowemu podczas uruchamiania pasujących potoków każdy wiersz powinien odpowiadać wierszowi w danych X i y.

Określ ten parametr podczas określania parametru X. To ustawienie jest przestarzałe. Zamiast tego użyj training_data i weight_column_name.

X_valid
DataFrame lub ndarray lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Funkcje weryfikacji do użycia podczas dopasowywania potoków podczas eksperymentu.

Jeśli zostanie określony, y_valid należy również określić wartość lub sample_weight_valid . To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i label_column_name.

y_valid
DataFrame lub ndarray lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Etykiety weryfikacji używane podczas dopasowywania potoków podczas eksperymentu.

Oba X_valid elementy i y_valid muszą być określone razem. To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i label_column_name.

sample_weight_valid
DataFrame lub ndarray lub TabularDataset
Wymagane

Waga, która ma zostać nadana każdemu przykładowi walidacji podczas uruchamiania potoków oceniania, każdy wiersz powinien odpowiadać wierszowi w danych X i y.

Określ ten parametr podczas określania parametru X_valid. To ustawienie jest przestarzałe. Zamiast tego użyj validation_data i weight_column_name.

cv_splits_indices
List[List[ndarray]]
Wymagane

Indeksy, w których należy podzielić dane treningowe na potrzeby krzyżowej walidacji. Każdy wiersz jest oddzielnym krzyżowym fałdem i w każdym skrzyżowaniu, udostępnia 2 tablice numpy, pierwszy z indeksami dla przykładów do użycia na potrzeby danych szkoleniowych, a drugi z indeksami do użycia na potrzeby danych walidacji. tj. [[t1, v1], [t2, v2], ...] gdzie t1 to indeksy treningowe dla pierwszego zgięcia krzyżowego, a v1 to indeksy walidacji dla pierwszej krotnie krzyżowej. Ta opcja jest obsługiwana, gdy dane są przekazywane jako oddzielny zestaw danych funkcji i kolumna Etykieta.

Aby określić istniejące dane jako dane weryfikacji, użyj polecenia validation_data. Aby zamiast tego umożliwić funkcji AutoML wyodrębnianie danych walidacji z danych treningowych, określ wartość n_cross_validations lub validation_size. Użyj polecenia cv_split_column_names , jeśli masz kolumny krzyżowej walidacji w pliku training_data.

validation_size
float
Wymagane

Ułamek danych do przechowywania w celu weryfikacji, gdy nie określono danych weryfikacji użytkownika. Powinno to należeć do przedziału od 0,0 do 1,0 włącznie.

Określ validation_data , aby zapewnić dane weryfikacji, w przeciwnym razie ustawić n_cross_validations lub validation_size wyodrębnić dane weryfikacji z określonych danych treningowych. W przypadku niestandardowego składania krzyżowego sprawdzania poprawności użyj polecenia cv_split_column_names.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

n_cross_validations
int lub str
Wymagane

Ile weryfikacji krzyżowych należy wykonać, gdy nie określono danych weryfikacji użytkownika.

Określ validation_data , aby zapewnić dane weryfikacji, w przeciwnym razie ustawić n_cross_validations lub validation_size wyodrębnić dane weryfikacji z określonych danych treningowych. W przypadku niestandardowego składania krzyżowego sprawdzania poprawności użyj polecenia cv_split_column_names.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

y_min
float
Wymagane

Minimalna wartość y dla eksperymentu regresji. Kombinacja elementów y_min i y_max służy do normalizacji metryk zestawu testów na podstawie zakresu danych wejściowych. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

y_max
float
Wymagane

Maksymalna wartość y dla eksperymentu regresji. Kombinacja elementów y_min i y_max służy do normalizacji metryk zestawu testów na podstawie zakresu danych wejściowych. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

num_classes
int
Wymagane

Liczba klas w danych etykiet dla eksperymentu klasyfikacji. To ustawienie jest przestarzałe. Zamiast tego ta wartość zostanie obliczona na podstawie danych.

featurization
str lub FeaturizationConfig
Wymagane

Wskaźnik "auto" / "off" / FeaturizationConfig dla tego, czy krok cechowania powinien być wykonywany automatycznie, czy nie, czy też należy używać dostosowanej cechowania. Uwaga: jeśli dane wejściowe są rozrzedane, nie można włączyć cechowania.

Typ kolumny jest wykrywany automatycznie. Na podstawie wykrytego typu kolumny przetwarzanie wstępne/cechowanie odbywa się w następujący sposób:

  • Kategoria: kodowanie docelowe, jedno kodowanie gorąca, porzucanie kategorii o wysokiej kardynalności, uzupełnianie brakujących wartości.

  • Liczbowe: imputuj brakujące wartości, odległość klastra, wagę dowodów.

  • Data/godzina: kilka funkcji, takich jak dzień, sekundy, minuty, godziny itp.

  • Tekst: torba słów, wstępnie wytrenowana Word osadzanie, kodowanie obiektów docelowych tekstu.

Więcej szczegółów można znaleźć w artykule Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python.

Aby dostosować krok cechowania, podaj obiekt FeaturizationConfig. Dostosowywanie cech obecnie obsługuje blokowanie zestawu transformatorów, aktualizowanie przeznaczenia kolumn, edytowanie parametrów przekształcania i usuwanie kolumn. Aby uzyskać więcej informacji, zobacz Dostosowywanie inżynierii cech.

Uwaga: funkcje timeseries są obsługiwane oddzielnie, gdy typ zadania jest ustawiony na prognozowanie niezależnie od tego parametru.

max_cores_per_iteration
int
Wymagane

Maksymalna liczba wątków do użycia dla danej iteracji treningowej. Dopuszczalne wartości:

  • Większa niż 1 i mniejsza lub równa maksymalnej liczbie rdzeni w docelowym obiekcie obliczeniowym.

  • Równe -1, co oznacza użycie wszystkich możliwych rdzeni na iterację na przebieg podrzędny.

  • Wartość domyślna jest równa 1.

max_concurrent_iterations
int
Wymagane

Reprezentuje maksymalną liczbę iteracji, które będą wykonywane równolegle. Wartość domyślna to 1.

  • Klastry AmlCompute obsługują jedną interację uruchomioną na węzeł. W przypadku wielu eksperymentów uruchamianych równolegle w jednym klastrze AmlCompute suma max_concurrent_iterations wartości wszystkich eksperymentów powinna być mniejsza lub równa maksymalnej liczbie węzłów.

  • Maszyna DSVM obsługuje wiele iteracji na węzeł. max_concurrent_iterations powinna być mniejsza lub równa liczbie rdzeni na maszynie DSVM. W przypadku wielu eksperymentów uruchamianych równolegle na jednej maszynie DSVM suma max_concurrent_iterations wartości wszystkich eksperymentów powinna być mniejsza lub równa maksymalnej liczbie węzłów.

  • Databricks — max_concurrent_iterations powinna być mniejsza lub równa liczbie węzłów roboczych w usłudze Databricks.

max_concurrent_iterations nie ma zastosowania do przebiegów lokalnych. Wcześniej ten parametr nosił nazwę concurrent_iterations.

iteration_timeout_minutes
int
Wymagane

Maksymalny czas w minutach, przez który każda iteracja może zostać uruchomiona przed jego zakończeniem. Jeśli nie zostanie określony, zostanie użyta wartość 1 miesiąca lub 43200 minut.

mem_in_mb
int
Wymagane

Maksymalne użycie pamięci, dla którego można uruchomić każdą iterację przed jej zakończeniem. Jeśli nie zostanie określony, zostanie użyta wartość 1 PB lub 1073741824 MB.

enforce_time_on_windows
bool
Wymagane

Czy wymuszać limit czasu trenowania modelu w każdej iteracji w systemie Windows. Wartość domyślna to True. W przypadku uruchamiania z pliku skryptu języka Python (py) zapoznaj się z dokumentacją umożliwiającą limity zasobów w systemie Windows.

experiment_timeout_hours
float
Wymagane

Maksymalna ilość czasu w godzinach, przez jaką wszystkie połączone iteracji mogą potrwać przed zakończeniem eksperymentu. Może to być wartość dziesiętna, na przykład 0,25 reprezentująca 15 minut. Jeśli nie zostanie określony, domyślny limit czasu eksperymentu wynosi 6 dni. Aby określić limit czasu krótszy lub równy 1 godzinie, upewnij się, że rozmiar zestawu danych nie jest większy niż 10 000 000 (wiersze w kolumnie czasu) lub wyniki błędu.

experiment_exit_score
float
Wymagane

Wynik docelowy dla eksperymentu. Eksperyment kończy się po osiągnięciu tego wyniku. Jeśli nie zostanie określony (brak kryteriów), eksperyment zostanie uruchomiony do momentu, aż nie zostaną wykonane dalsze postępy w podstawowej metryce. Aby uzyskać więcej informacji na temat kryteriów zakończenia, zobacz ten '>>article https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#exit-criteria_.<<

enable_early_stopping
bool
Wymagane

Czy włączyć wczesne zakończenie, jeśli wynik nie poprawia się w krótkim okresie. Wartość domyślna to True.

Logika wczesnego zatrzymywania:

  • Brak wczesnego zatrzymywania dla pierwszych 20 iteracji (punktów orientacyjnych).

  • Okno wczesnego zatrzymywania rozpoczyna się w 21 iteracji i szuka iteracji early_stopping_n_iters (obecnie jest ustawiona na 10). Oznacza to, że pierwszą iterację, w której może wystąpić zatrzymanie, jest 31.

  • AutoML nadal planuje 2 iteracji grupowych PO wczesnym zatrzymaniu, co może spowodować wyższe wyniki.

  • Wczesne zatrzymywanie jest wyzwalane, jeśli wartość bezwzględna najlepszego wyniku obliczonego jest taka sama w przypadku wcześniejszych iteracji early_stopping_n_iters, oznacza to, że jeśli nie ma poprawy oceny dla early_stopping_n_iters iteracji.

blocked_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Lista algorytmów do zignorowania dla eksperymentu. Jeśli enable_tf ma wartość False, modele TensorFlow są uwzględniane w elemecie blocked_models.

blacklist_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Przestarzały parametr użyj blocked_models zamiast tego.

exclude_nan_labels
bool
Wymagane

Czy wykluczyć wiersze z wartościami NaN w etykiecie. Wartość domyślna to True.

verbosity
int
Wymagane

Poziom szczegółowości zapisu w pliku dziennika. Wartość domyślna to INFO lub 20. Dopuszczalne wartości są definiowane w bibliotece rejestrowania języka Python.

enable_tf
bool
Wymagane

Czy włączyć/wyłączyć algorytmy TensorFlow. Wartość domyślna to False.

model_explainability
bool
Wymagane

Czy włączyć wyjaśnienie najlepszego modelu automatycznego uczenia maszynowego na końcu wszystkich iteracji trenowania zautomatyzowanego uczenia maszynowego. Wartość domyślna to True. Aby uzyskać więcej informacji, zobacz Interpretowanie: wyjaśnienia modelu w zautomatyzowanym uczeniu maszynowym.

allowed_models
list(str) lub list(Classification) <xref:for classification task> lub list(Regression) <xref:for regression task> lub list(Forecasting) <xref:for forecasting task>
Wymagane

Lista nazw modeli do wyszukiwania eksperymentu. Jeśli nie zostanie określony, wszystkie modele obsługiwane dla zadania są używane z wyłączeniem wszystkich określonych w blocked_models lub przestarzałych modelach TensorFlow. Obsługiwane modele dla każdego typu zadania są opisane w SupportedModels klasie .

allowed_models
Wymagane

Lista nazw modeli do wyszukiwania eksperymentu. Jeśli nie zostanie określony, wszystkie modele obsługiwane dla zadania są używane z wyłączeniem wszystkich określonych w blocked_models lub przestarzałych modelach TensorFlow. Obsługiwane modele dla każdego typu zadania są opisane w SupportedModels klasie .

whitelist_models
Wymagane

Zamiast tego przestarzały parametr użyj allowed_models.

enable_onnx_compatible_models
bool
Wymagane

Czy włączyć lub wyłączyć wymuszanie modeli zgodnych z protokołem ONNX. Wartość domyślna to False. Aby uzyskać więcej informacji na temat programu Open Neural Network Exchange (ONNX) i usługi Azure Machine Learning, zobacz ten artykuł.

forecasting_parameters
ForecastingParameters
Wymagane

Obiekt do przechowywania wszystkich parametrów specyficznych dla prognozowania.

time_column_name
str
Wymagane

Nazwa kolumny czasowej. Ten parametr jest wymagany podczas prognozowania, aby określić kolumnę datetime w danych wejściowych używanych do kompilowania szeregów czasowych i wnioskowania o jego częstotliwości. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

max_horizon
int
Wymagane

Żądany maksymalny horyzont prognozy w jednostkach częstotliwości szeregów czasowych. Wartość domyślna to 1. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

Jednostki są oparte na interwale czasu danych treningowych, np. co miesiąc, co tydzień, które prognoza powinna przewidywać. Gdy typ zadania jest prognozowany, ten parametr jest wymagany. Aby uzyskać więcej informacji na temat ustawiania parametrów prognozowania, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych).

grain_column_names
str lub list(str)
Wymagane

Nazwy kolumn używanych do grupowania czasów. Może służyć do tworzenia wielu serii. Jeśli ziarno nie jest zdefiniowane, zakłada się, że zestaw danych jest jednym szeregem czasowym. Ten parametr jest używany z prognozowaniem typu zadania. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

target_lags
int lub list(int)
Wymagane

Liczba poprzednich okresów do opóźnienia z kolumny docelowej. Wartość domyślna to 1. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

Podczas prognozowania ten parametr reprezentuje liczbę wierszy do opóźnienia wartości docelowych na podstawie częstotliwości danych. Jest to reprezentowane jako lista lub pojedyncza liczba całkowita. Opóźnienie powinno być używane, gdy relacja między zmiennymi niezależnymi i zmienną zależną nie jest domyślnie zgodna ani skorelowana. Na przykład podczas próby prognozowania popytu na produkt popyt w dowolnym miesiącu może zależeć od ceny określonych towarów 3 miesiące wcześniej. W tym przykładzie możesz chcieć opóźnić docelową (zapotrzebowanie) negatywnie o 3 miesiące, aby model trenował w odpowiedniej relacji. Aby uzyskać więcej informacji, zobacz Auto-train a time-series forecast model (Automatyczne trenowanie modelu prognozy szeregów czasowych).

feature_lags
str
Wymagane

Flaga generowania opóźnień dla funkcji liczbowych. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

target_rolling_window_size
int
Wymagane

Liczba poprzednich okresów użytych do utworzenia średniej okna kroczącego kolumny docelowej. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

Podczas prognozowania ten parametr reprezentuje n okresów historycznych, które mają być używane do generowania prognozowanych wartości, <= rozmiar zestawu treningowego. Jeśli pominięto, n jest pełnym rozmiarem zestawu treningowego. Określ ten parametr, gdy chcesz wziąć pod uwagę tylko pewną ilość historii podczas trenowania modelu.

country_or_region
str
Wymagane

Kraj/region używany do generowania funkcji wakacji. Powinny to być dwuliterowe kody kraju/regionu ISO 3166, na przykład "USA" lub "GB". To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

use_stl
str
Wymagane

Skonfiguruj dekompozycję STL kolumny docelowej szeregów czasowych. use_stl może przyjmować trzy wartości: Brak (wartość domyślna) — brak dekompozycji stl, "season" — tylko generuj składnik sezonu i season_trend — generuj zarówno składniki sezonu, jak i trendu. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

seasonality
int
Wymagane

Ustaw sezonowość szeregów czasowych. Jeśli sezonowość jest ustawiona na -1, zostanie ona wywnioskowana. Jeśli nie ustawiono use_stl, ten parametr nie zostanie użyty. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.

short_series_handling_configuration
str
Wymagane

Parametr definiujący sposób obsługi krótkich szeregów czasowych przez rozwiązanie AutoML.

Możliwe wartości: "auto" (wartość domyślna), "pad", "drop" i None.

  • automatyczna seria krótka zostanie wypełniona, jeśli nie ma długiej serii, w przeciwnym razie seria krótka zostanie porzucona.
  • pad wszystkie krótkie serie zostaną wypełnione.
  • upuść wszystkie krótkie serie zostaną porzucone".
  • Żadna z krótkich serii nie zostanie zmodyfikowana. Jeśli zostanie ustawiona wartość "pad", tabela zostanie wypełniona zerami i pustymi wartościami dla regresorów i wartości losowych dla wartości docelowej o średniej równej wartości docelowej mediany dla danego identyfikatora szeregów czasowych. Jeśli mediana jest większa lub równa zero, minimalna wartość wypełniona zostanie obcięty przez zero: Dane wejściowe:

Data

numeric_value

ciąg

Docelowego

2020-01-01

23

green

55

Dane wyjściowe przy założeniu, że minimalna liczba wartości to cztery: +————+—————+———-+— —–+ | Data | numeric_value | ciąg | target | +============+===============+==========+========+ | 2019-12-29 | 0 | NA | 55.1 | +————+—————+———-+——–+ | 2019-12-30 | 0 | NA | 55,6 | +————+—————+———-+——–+ | 2019-12-31 | 0 | NA | 54,5 | +————+—————+———-+——–+ | 2020-01-01 | 23 | zielony | 55 | +————+—————+———-+——–+

Uwaga: Mamy dwa parametry short_series_handling_configuration i starsze short_series_handling. Po ustawieniu obu parametrów są one synchronizowane, jak pokazano w poniższej tabeli (odpowiednio short_series_handling_configuration i short_series_handling dla zwięzłości są oznaczone jako handling_configuration i obsługa).

Obsługi

handling_configuration

obsługa wynikowa

wynikowe handling_configuration

Prawda

auto

Prawda

auto

Prawda

Pad

Prawda

auto

Prawda

drop

Prawda

auto

Prawda

Brak

Fałsz

Brak

Fałsz

auto

Fałsz

Brak

Fałsz

Pad

Fałsz

Brak

Fałsz

drop

Fałsz

Brak

Fałsz

Brak

Fałsz

Brak

freq
str lub None
Wymagane

Częstotliwość prognozowania.

Podczas prognozowania ten parametr reprezentuje okres, z którym jest wymagana prognoza, na przykład codziennie, co tydzień, co rok itp. Częstotliwość prognozowania jest domyślnie częstotliwością zestawów danych. Opcjonalnie można ustawić ją na większą (ale nie mniejszą) niż częstotliwość zestawów danych. Zagregujemy dane i wygenerujemy wyniki z częstotliwością prognozowania. Na przykład dla danych dziennych można ustawić częstotliwość na codziennie, co tydzień lub co miesiąc, ale nie co godzinę. Częstotliwość musi być aliasem przesunięcia biblioteki pandas. Aby uzyskać więcej informacji, zapoznaj się z dokumentacją biblioteki pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregation_function
str lub None
Wymagane

Funkcja, która ma być używana do agregowania kolumny docelowej szeregów czasowych w celu zachowania zgodności z określoną częstotliwością użytkownika. Jeśli target_aggregation_function jest ustawiona, ale parametr freq nie jest ustawiony, zostanie zgłoszony błąd. Możliwe funkcje agregacji docelowej to: "sum", "max", "min" i "mean".

Freq

target_aggregation_function

Mechanizm naprawiania regularności danych

Brak (ustawienie domyślne)

Brak (ustawienie domyślne)

Agregacja nie jest stosowana. Jeśli prawidłowa częstotliwość nie może zostać określona, zostanie zgłoszony błąd.

Niektóre wartości

Brak (ustawienie domyślne)

Agregacja nie jest stosowana. Jeśli liczba punktów danych zgodnych z daną siatką częstotliwości jest mniejsza, zostanie usunięta 90%, w przeciwnym razie zostanie zgłoszony błąd.

Brak (ustawienie domyślne)

Funkcja agregacji

Zgłoszony błąd dotyczący brakujących parametrów częstotliwości.

Niektóre wartości

Funkcja agregacji

Agregacja do częstotliwości przy użyciu funkcji providedaggregation.

enable_voting_ensemble
bool
Wymagane

Czy włączyć/wyłączyć iterację VotingEnsemble. Wartość domyślna to True. Aby uzyskać więcej informacji na temat zespołów, zobacz Konfiguracja zespołu.

enable_stack_ensemble
bool
Wymagane

Czy włączyć/wyłączyć iterację StackEnsemble. Wartość domyślna to Brak. Jeśli flaga enable_onnx_compatible_models jest ustawiona, iteracja StackEnsemble zostanie wyłączona. Podobnie w przypadku zadań Timeseries iteracja StackEnsemble zostanie domyślnie wyłączona, aby uniknąć ryzyka nadmiernego dopasowania z powodu małego zestawu treningowego używanego w dopasowywaniu meta ucznia. Aby uzyskać więcej informacji na temat zespołów, zobacz Konfiguracja zespołu.

debug_log
str
Wymagane

Plik dziennika do zapisywania informacji debugowania. Jeśli nie zostanie określony, zostanie użyty plik "automl.log".

training_data
DataFrame lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Dane szkoleniowe, które mają być używane w eksperymencie. Powinna ona zawierać zarówno funkcje trenowania, jak i kolumnę etykiety (opcjonalnie kolumnę przykładowych wag). Jeśli training_data parametr jest określony, label_column_name należy również określić parametr .

training_data wprowadzono w wersji 1.0.81.

validation_data
DataFrame lub Dataset lub DatasetDefinition lub TabularDataset
Wymagane

Dane weryfikacji, które mają być używane w eksperymencie. Powinna ona zawierać zarówno funkcje trenowania, jak i kolumnę etykiet (opcjonalnie kolumnę przykładowych wag). Jeśli validation_data parametr jest określony, training_data należy określić parametry i label_column_name .

validation_data wprowadzono w wersji 1.0.81. Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

test_data
Dataset lub TabularDataset
Wymagane

Funkcja testu modelu przy użyciu zestawów danych testowych lub podziałów danych testowych jest funkcją w stanie wersji zapoznawczej i może ulec zmianie w dowolnym momencie. Dane testowe, które mają być używane na potrzeby przebiegu testu, który zostanie automatycznie uruchomiony po zakończeniu trenowania modelu. Przebieg testu uzyska przewidywania przy użyciu najlepszego modelu i obliczy metryki, biorąc pod uwagę te przewidywania.

Jeśli ten parametr lub test_size parametr nie zostaną określone, uruchomienie testu nie zostanie wykonane automatycznie po zakończeniu trenowania modelu. Dane testowe powinny zawierać zarówno funkcje, jak i kolumnę etykiety. Jeśli test_data określono parametr , label_column_name należy określić parametr .

test_size
float
Wymagane

Funkcja testu modelu przy użyciu zestawów danych testowych lub podziałów danych testowych jest funkcją w stanie wersji zapoznawczej i może ulec zmianie w dowolnym momencie. Ułamek danych treningowych do przechowywania danych testowych dla przebiegu testu, który zostanie automatycznie uruchomiony po zakończeniu trenowania modelu. Przebieg testu uzyska przewidywania przy użyciu najlepszego modelu i obliczy metryki, biorąc pod uwagę te przewidywania.

Powinno to należeć do przedziału od 0,0 do 1,0 włącznie. Jeśli test_size zostanie określony w tym samym czasie co validation_sizeparametr , dane testowe zostaną podzielone przed training_data podzieleniem danych walidacji. Jeśli na przykład validation_size=0.1test_size=0.1 , a oryginalne dane szkoleniowe zawierają 1000 wierszy, dane testowe będą zawierać 100 wierszy, dane walidacji będą zawierać 90 wierszy, a dane szkoleniowe będą zawierać 810 wierszy.

W przypadku zadań opartych na regresji jest używane losowe próbkowanie. W przypadku zadań klasyfikacji używane jest próbkowanie warstwowe. Prognozowanie nie obsługuje obecnie określania zestawu danych testowych przy użyciu podziału trenowania/testu.

Jeśli ten parametr lub test_data parametr nie zostaną określone, uruchomienie testu nie zostanie wykonane automatycznie po zakończeniu trenowania modelu.

label_column_name
Union[str, int]
Wymagane

Nazwa kolumny etykiety. Jeśli dane wejściowe pochodzą z biblioteki pandas. Obiekt DataFrame, który nie ma nazw kolumn, można zamiast tego użyć indeksów kolumn wyrażonych jako liczby całkowite.

Ten parametr ma zastosowanie do training_dataparametrów i . validation_datatest_data label_column_name wprowadzono w wersji 1.0.81.

weight_column_name
Union[str, int]
Wymagane

Nazwa przykładowej kolumny wagi. Zautomatyzowane uczenie maszynowe obsługuje kolumnę ważoną jako dane wejściowe, co powoduje, że wiersze w danych mają być ważone w górę lub w dół. Jeśli dane wejściowe pochodzą z biblioteki pandas. Obiekt DataFrame, który nie ma nazw kolumn, można zamiast tego użyć indeksów kolumn wyrażonych jako liczby całkowite.

Ten parametr ma zastosowanie do training_data parametrów i .validation_data weight_column_names wprowadzono w wersji 1.0.81.

cv_split_column_names
list(str)
Wymagane

Lista nazw kolumn zawierających podział niestandardowej weryfikacji krzyżowej. Każda z kolumn podzielonych CV reprezentuje jeden podział CV, w którym każdy wiersz jest oznaczony jako 1 do trenowania lub 0 w celu weryfikacji.

Ten parametr ma zastosowanie do parametru training_data na potrzeby niestandardowej weryfikacji krzyżowej. cv_split_column_names wprowadzono w wersji 1.6.0

Użyj polecenia cv_split_column_names lub cv_splits_indices.

Aby uzyskać więcej informacji, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

enable_local_managed
bool
Wymagane

Wyłączony parametr. Obecnie nie można włączyć lokalnych przebiegów zarządzanych.

enable_dnn
bool
Wymagane

Określa, czy podczas wybierania modelu mają być uwzględniane modele oparte na sieci rozproszonej. Wartość domyślna w init to Brak. Jednak wartość domyślna to True dla zadań równoważenia obciążenia sieciowego sieci rozproszonej sieci rozproszonej i jest to wartość False dla wszystkich innych zadań automatycznego uczenia maszynowego.

Uwagi

Poniższy kod przedstawia podstawowy przykład tworzenia obiektu AutoMLConfig i przesyłania eksperymentu w celu regresji:


   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)

Pełna próbka jest dostępna w temacie Regression (Regresja)

Przykłady użycia funkcji AutoMLConfig do prognozowania znajdują się w następujących notesach:

Przykłady użycia funkcji AutoMLConfig dla wszystkich typów zadań można znaleźć w tych zautomatyzowanych notesach uczenia maszynowego.

Aby uzyskać podstawowe informacje na temat zautomatyzowanego uczenia maszynowego, zobacz artykuły:

Aby uzyskać więcej informacji na temat różnych opcji konfigurowania podziałów danych trenowania/walidacji i krzyżowego sprawdzania poprawności dla zautomatyzowanego uczenia maszynowego, automatycznego uczenia maszynowego, eksperymentów, zobacz Konfigurowanie podziałów danych i krzyżowe sprawdzanie poprawności w zautomatyzowanym uczeniu maszynowym.

Metody

as_serializable_dict

Przekonwertuj obiekt na słownik.

get_supported_dataset_languages

Uzyskaj obsługiwane języki i odpowiadające im kody języków w standardze ISO 639-3.

as_serializable_dict

Przekonwertuj obiekt na słownik.

as_serializable_dict() -> Dict[str, Any]

get_supported_dataset_languages

Uzyskaj obsługiwane języki i odpowiadające im kody języków w standardze ISO 639-3.

get_supported_dataset_languages(use_gpu: bool) -> Dict[Any, Any]

Parametry

cls
Wymagane

Obiekt klasy .AutoMLConfig

use_gpu
Wymagane

wartość logiczna wskazująca, czy są używane obliczenia gpu, czy nie.

Zwraca

słownik formatu {: }. Kod języka jest zgodny ze standardem ISO 639-3. Zapoznaj się z artykułem https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes