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.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)
Parametry
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
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
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.
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
Etykieta klasy dodatniej używana przez zautomatyzowane uczenie maszynowe do obliczania metryk binarnych. Metryki binarne są obliczane w dwóch warunkach dla zadań klasyfikacji:
- 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.
- zadanie klasyfikacji wieloklasowej z określonym positive_label
Aby uzyskać więcej informacji na temat klasyfikacji, wyewidencjonuj metryki dla scenariuszy klasyfikacji.
- compute_target
- AbstractComputeTarget
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>
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
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
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
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
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
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
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.
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
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
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
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
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
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
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
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
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 sumamax_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
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
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
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
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
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
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>
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>
Przestarzały parametr użyj blocked_models zamiast tego.
- exclude_nan_labels
- bool
Czy wykluczyć wiersze z wartościami NaN w etykiecie. Wartość domyślna to True.
- verbosity
- int
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
Przestarzały parametr umożliwiający włączanie/wyłączanie algorytmów Tensorflow. Wartość domyślna to False.
- model_explainability
- bool
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>
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>
Zamiast tego przestarzały parametr użyj allowed_models.
- enable_onnx_compatible_models
- bool
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
Obiekt ForecastingParameters do przechowywania wszystkich parametrów specyficznych dla prognozowania.
- time_column_name
- str
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
Żą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.
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.
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
Flaga generowania opóźnień dla funkcji liczbowych. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.
- target_rolling_window_size
- int
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
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
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.
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
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
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
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
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
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
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
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
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
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
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_size
parametr , dane testowe zostaną podzielone przed training_data
podzieleniem danych walidacji.
Jeśli na przykład validation_size=0.1
test_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.
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_data
parametrów i . validation_data
test_data
label_column_name
wprowadzono w wersji 1.0.81.
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.
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
Wyłączony parametr. Obecnie nie można włączyć lokalnych przebiegów zarządzanych.
- enable_dnn
- bool
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.
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
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
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.
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
Etykieta klasy dodatniej używana przez zautomatyzowane uczenie maszynowe do obliczania metryk binarnych. Metryki binarne są obliczane w dwóch warunkach dla zadań klasyfikacji:
- 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.
- zadanie klasyfikacji wieloklasowej z określonym positive_label
Aby uzyskać więcej informacji na temat klasyfikacji, wyewidencjonuj metryki dla scenariuszy klasyfikacji.
- compute_target
- AbstractComputeTarget
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>
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
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
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
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
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
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
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.
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
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.
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
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
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
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
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
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
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 sumamax_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
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
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
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
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
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
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>
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>
Przestarzały parametr użyj blocked_models zamiast tego.
- exclude_nan_labels
- bool
Czy wykluczyć wiersze z wartościami NaN w etykiecie. Wartość domyślna to True.
- verbosity
- int
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.
- model_explainability
- bool
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>
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
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
Zamiast tego przestarzały parametr użyj allowed_models.
- enable_onnx_compatible_models
- bool
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
Obiekt do przechowywania wszystkich parametrów specyficznych dla prognozowania.
- time_column_name
- str
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
Żą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).
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.
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
Flaga generowania opóźnień dla funkcji liczbowych. To ustawienie jest przestarzałe. Zamiast tego użyj forecasting_parameters.
- target_rolling_window_size
- int
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
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
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
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
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
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
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
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
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
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
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
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
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
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_size
parametr , dane testowe zostaną podzielone przed training_data
podzieleniem danych walidacji.
Jeśli na przykład validation_size=0.1
test_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.
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_data
parametrów i . validation_data
test_data
label_column_name
wprowadzono w wersji 1.0.81.
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.
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
Wyłączony parametr. Obecnie nie można włączyć lokalnych przebiegów zarządzanych.
- enable_dnn
- bool
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:
Konfigurowanie eksperymentów zautomatyzowanego uczenia maszynowego w języku Python. W tym artykule znajdują się informacje o różnych algorytmach i podstawowych metrykach używanych dla każdego typu zadania.
Automatyczne trenowanie modelu prognozy szeregów czasowych. W tym artykule znajdują się informacje o tym, które parametry konstruktora i
**kwargs
są używane w prognozowaniu.
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
- use_gpu
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
Opinia
https://aka.ms/ContentUserFeedback.
Dostępne już wkrótce: W 2024 r. będziemy stopniowo wycofywać zgłoszenia z serwisu GitHub jako mechanizm przesyłania opinii na temat zawartości i zastępować go nowym systemem opinii. Aby uzyskać więcej informacji, sprawdź:Prześlij i wyświetl opinię dla