Rozhraní příkazového řádku (v2) Schéma úlohy YAML automatizovaného prognózování ML

PLATÍ PRO:Rozšíření Azure CLI ml v2 (aktuální)

Zdrojové schéma JSON najdete na adrese https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

Poznámka

Syntaxe YAML podrobně popsaná v tomto dokumentu je založená na schématu JSON pro nejnovější verzi rozšíření ML CLI v2. Tato syntaxe zaručuje, že bude fungovat jenom s nejnovější verzí rozšíření ML CLI v2. Schémata pro starší verze rozšíření najdete na adrese https://azuremlschemasprod.azureedge.net/.

Syntaxe YAML

Klíč Typ Popis Povolené hodnoty Výchozí hodnota
$schema řetězec Umístění nebo adresa URL pro načtení schématu YAML
Pokud uživatel použije rozšíření Azure Machine Learning VS Code k vytvoření souboru YAML, včetně $schema v horní části souboru, umožní uživateli vyvolat doplňování schématu a prostředků.
compute řetězec Požadované.
Název výpočetní infrastruktury AML, ve které se má úloha spustit.
Výpočetní prostředky mohou být odkazem na existující výpočetní počítač v pracovním prostoru.
Poznámka: Úlohy v kanálu nepodporují místní jako compute. Místní znamená, že výpočetní instance vytvořená v pracovním prostoru studio Azure Machine Learning uživatele.
1. vzor [^azureml:<compute_name>] pro použití stávajících výpočetních prostředků,
2.'local' použití místního spuštění
'local'
limits object Představuje objekt slovníku, který se skládá z konfigurací omezení tabulkové úlohy automatizovaného strojového učení.
Klíč je název limitu v kontextu úlohy a hodnota je hodnota limitu. Projděte si omezení a zjistěte vlastnosti tohoto objektu.
name řetězec Název odeslané úlohy automatizovaného strojového učení.
Musí být jedinečný pro všechny úlohy v pracovním prostoru. Pokud není zadaný, Azure Machine Learning automaticky vygeneruje identifikátor GUID pro název.
description řetězec Popis úlohy automatizovaného strojového učení
display_name řetězec Název úlohy, kterou chce uživatel zobrazit v uživatelském rozhraní studia. V rámci pracovního prostoru může být jedinečný. Pokud je vynechán, Azure Machine Learning automaticky vygeneruje pro zobrazovaný název identifikátor adjektivního jména čitelný pro člověka.
experiment_name řetězec Název experimentu.
Experimenty jsou záznamy trénovacích úloh ML v Azure. Experimenty obsahují výsledky spuštění spolu s protokoly, grafy a grafy. Záznam spuštění každé úlohy je uspořádaný pod odpovídajícím experimentem na kartě Experimenty ve studiu.
Název pracovního adresáře, ve kterém byl vytvořen
environment_variables object Slovníkový objekt proměnných prostředí, který se má nastavit v procesu, ve kterém se příkaz spouští.
outputs object Představuje slovník výstupních konfigurací úlohy. Klíč je název výstupu v kontextu úlohy a hodnota je konfigurace výstupu. Podívejte se na výstup úlohy a zjistěte vlastnosti tohoto objektu.
log_files object Objekt slovníku obsahující protokoly automatizovaného spuštění úlohy ML
log_verbosity řetězec Úroveň podrobností protokolu pro zápis do souboru protokolu.
Přijatelné hodnoty jsou definované v knihovně protokolování Pythonu.
'not_set', 'debug', 'info', 'warning', 'error', 'critical' 'info'
type const Požadované.
Typ úlohy.
automl automl
task const Požadované.
Typ úlohy automatizovaného strojového učení, která se má spustit.
forecasting forecasting
target_column_name řetězec Požadované.
Představuje název sloupce, který má být prognózován. Úloha automatizovaného strojového učení vyvolá chybu, pokud není zadána.
featurization object Objekt slovníku definující konfiguraci vlastního featurizace. V případě, že se nevytvořil, použije konfigurace automatizovaného strojového učení automatickou funkci. Viz featurizace zobrazit vlastnosti tohoto objektu.
forecasting object Objekt slovníku definující nastavení úlohy prognózování. Projděte si prognózy a zjistěte vlastnosti tohoto objektu.
n_cross_validations řetězec nebo celé číslo Počet křížových ověření, která se mají provést při výběru modelu nebo kanálu, pokud validation_data není zadáno.
V případě, že parametr a validation_data není zadaný nebo nastavený na Nonehodnotu , pak ho ve výchozím nastavení nastavte na auto hodnotu Automatizovaná úloha ML. V případě distributed_featurization , že je povolená a validation_data není zadána, je ve výchozím nastavení nastavená na hodnotu 2.
'auto', [int] None
primary_metric řetězec Metrika, kterou automatizované strojové učení optimalizuje pro výběr modelu prognózování časových řad.
Pokud allowed_training_algorithms se používá tcn_forecaster pro trénování, automatizované strojové učení podporuje pouze normalized_root_mean_squared_error a normalized_mean_absolute_error, které se mají používat jako primary_metric.
"spearman_correlation", "normalized_root_mean_squared_error", "r2_score""normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training object Objekt slovníku definující konfiguraci, která se používá při trénování modelu.
Projděte si trénování a zjistěte vlastnosti tohoto objektu.
training_data object Povinné
Objekt slovníku obsahující konfiguraci MLTable definující trénovací data, která se mají použít jako vstup pro trénování modelu. Tato data jsou podmnožinou dat a měla by se skládat jak z nezávislých funkcí nebo sloupců, tak z cílové funkce nebo sloupce. Uživatel může použít zaregistrovanou tabulku MLTable v pracovním prostoru ve formátu :(např. Input(mltable='my_mltable:1')) NEBO může použít místní soubor nebo složku jako mlTable(např. Input(mltable=MLTable(local_path="./data").). Tento objekt musí být zadaný. Pokud cílová funkce ve zdrojovém souboru není, automatizované strojové učení vyvolá chybu. Zkontrolujte trénovací, ověřovací nebo testovací data a zjistěte vlastnosti tohoto objektu.
validation_data object Objekt slovníku obsahující konfiguraci MLTable definující ověřovací data, která se mají použít v experimentu automatizovaného strojového učení pro křížové ověření. Měl by se skládat jak z nezávislých funkcí/sloupců, tak z cílové funkce/sloupce, pokud je tento objekt k dispozici. Ukázky v trénovacích datech a ověřovacích datech se nemůžou překrývat.
Projděte si trénovací nebo ověřovací nebo testovací data a zjistěte vlastnosti tohoto objektu. V případě, že tento objekt není definovaný, automatizované strojové učení použije n_cross_validations k rozdělení ověřovacích dat od trénovacích dat definovaných v training_data objektu.
test_data object Objekt slovníku obsahující konfiguraci MLTable definující testovací data, která se mají použít v testovacím běhu pro předpovědi v rámci nejlepšího modelu, a vyhodnocuje model pomocí definovaných metrik. Měl by se skládat pouze z nezávislých funkcí používaných v trénovacích datech (bez cílové funkce), pokud je tento objekt k dispozici.
Zkontrolujte trénovací, ověřovací nebo testovací data a zjistěte vlastnosti tohoto objektu. Pokud není k dispozici, automatizované strojové učení použije k návrhu nejlepšího modelu pro odvozování další předdefinované metody.

Limity

Klíč Typ Popis Povolené hodnoty Výchozí hodnota
enable_early_termination boolean Představuje, zda povolit ukončení experimentu, pokud se skóre ztráty nezlepší po x počtu iterací.
V úloze automatizovaného strojového učení se u prvních 20 iterací nepoužívá žádné předčasné zastavení. Počáteční zastavující okno se spustí až po prvních 20 iteracích.
true, false true
max_concurrent_trials integer Maximální počet zkušebních pokusů (podřízených úloh), které by se spustily paralelně. Důrazně doporučujeme nastavit počet souběžných spuštění na počet uzlů v clusteru (aml výpočetních prostředků definovaných v compute). 1
max_trials integer Představuje maximální počet zkušebních verzí, které se může úloha automatizovaného strojového učení pokusit spustit trénovací algoritmus s různou kombinací hyperparametrů. Výchozí hodnota je nastavená na 1000. Pokud enable_early_termination je definován, může být počet zkušebních verzí použitých ke spouštění trénovacích algoritmů menší. 1000
max_cores_per_trial integer Představuje maximální počet jader na každou zkušební verzi, která jsou k dispozici pro použití. Jeho výchozí hodnota je nastavená na -1, což znamená, že se v procesu používají všechna jádra. -1
timeout_minutes integer Maximální doba v minutách, kterou může spuštění odeslané úlohy automatizovaného strojového učení trvat. Po uplynutí zadané doby se úloha ukončí. Tento časový limit zahrnuje nastavení, funkciaturizaci, trénovací běhy, ensembling a vysvětlitelnost modelu (pokud je k dispozici) všech zkušebních verzí.
Všimněte si, že nezahrnuje ensembling a vysvětlitelnost modelu spuštění na konci procesu, pokud se úloha nepodaří dokončit v rámci poskytnuté služby timeout_minutes , protože tyto funkce jsou k dispozici po dokončení všech zkušebních verzí (podřízených úloh).
Jeho výchozí hodnota je nastavená na 360 minut (6 hodin). Pokud chce uživatel zadat časový limit kratší nebo roven 1 hodině (60 minut), měl by se ujistit, že velikost datové sady není větší než 10 000 000 (sloupec řádky krát) nebo že dojde k chybě.
360
trial_timeout_minutes integer Maximální doba v minutách, po kterou může proběhnout spuštění každé zkušební verze (podřízené úlohy) v odeslané úloze automatizovaného strojového učení. Po uplynutí zadané doby se podřízená úloha ukončí. 30
exit_score float Skóre, které má experiment dosáhnout. Experiment se ukončí po dosažení zadaného skóre. Pokud není zadáno (bez kritérií), experiment se spustí, dokud na definovaném primary metricobjektu nedojde k žádnému dalšímu postupu.

Prognózování

Klíč Typ Popis Povolené hodnoty Výchozí hodnota
time_column_name řetězec Povinné
Název sloupce v datové sadě, který odpovídá časové ose každé časové řady. Vstupní datová sada pro trénování, ověřování nebo testování musí obsahovat tento sloupec, pokud je forecastingúkol . Pokud není tato možnost poskytnuta nebo nastavena na None, úloha prognózování automatizovaného strojového učení vyvolá chybu a ukončí experiment.
forecast_horizon řetězec nebo celé číslo Maximální horizont prognózy v jednotkách frekvence časových řad. Tyto jednotky vycházejí z odvozeného časového intervalu trénovacích dat (například měsíčních, týdenních), které prognóza používá k předpovídání. Pokud je nastavená na Hodnotu Žádné nebo auto, je jeho výchozí hodnota nastavena na hodnotu 1, což znamená t+1 od posledního časového razítka t ve vstupních datech. auto, [int] 1
frequency řetězec Frekvence, s jakou je generování prognózy žádoucí, například denně, týdně, ročně atd.
Pokud není zadaný nebo nastavený na Hodnotu Žádný, jeho výchozí hodnota se odvodí z indexu času datové sady. Uživatel může nastavit hodnotu větší, než je odvozená frekvence datové sady, ale ne menší. Pokud je například frekvence datové sady denní, může trvat hodnoty jako denní, týdenní, měsíční, ale ne každou hodinu, protože hodinová hodnota je menší než denně (24 hodin).
Další informace najdete v dokumentaci k knihovně pandas .
None
time_series_id_column_names string nebo list(strings) Názvy sloupců v datech, které se mají použít k seskupení dat do více časových řad. Pokud time_series_id_column_names není definována nebo nastavena na hodnotu None ,automatizované strojové učení používá k detekci sloupců logiku automatické detekce. None
feature_lags řetězec Představuje, jestli chce uživatel automaticky generovat prodlevy pro zadané číselné funkce. Výchozí hodnota je nastavená na auto, což znamená, že automatizované strojové učení používá heuristiku založenou na automatických opravách k automatickému výběru pořadí prodlev a generování odpovídajících funkcí prodlevy pro všechny číselné funkce. "Žádné" znamená, že se negenerují žádné prodlevy pro žádné číselné funkce. 'auto', None None
country_or_region_for_holidays řetězec Země nebo oblast, která se má použít k vygenerování prázdninových funkcí. Tyto znaky by měly být reprezentovány v dvoumísmenných kódech země/oblasti ISO 3166, například "US" nebo "GB". Seznam kódů ISO najdete na adrese https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size řetězec nebo celé číslo Počet období mezi origin_time jednoho přeložení cv a dalším záhybem. Pokud je například pro denní data nastavená na hodnotu 3, čas počátku každého záhybů je od sebe tři dny. Pokud je nastavená na Hodnotu Žádné nebo není zadáno, je ve výchozím nastavení nastavená na auto hodnotu . Pokud je typu celé číslo, může být minimální hodnota 1, jinak vyvolá chybu. auto, [int] auto
seasonality řetězec nebo celé číslo Sezónnost časových řad jako celočíselný násobek frekvence řady. Pokud sezónnost není zadána, je její hodnota nastavena na 'auto', což znamená, že se automaticky odvodí pomocí automatizovaného strojového učení. Pokud tento parametr není nastaven na Nonehodnotu , automatizované strojové učení předpokládá časovou řadu jako nezásadní, což odpovídá nastavení jako celočíselné hodnoty 1. 'auto', [int] auto
short_series_handling_config řetězec Představuje způsob, jakým by automatizované strojové učení mělo zpracovávat krátké časové řady, pokud je zadáno. Má následující hodnoty:
  • 'auto' : Krátká řada je vycpaná, pokud neexistují žádné dlouhé řady, jinak jsou krátké řady vyřazeny.
  • 'pad': všechny krátké řady jsou vycpané nulami.
  • 'drop': Všechny krátké řady jsou vyřazeny.
  • None: krátká řada není změněna.
    'auto', 'pad', 'drop', None auto
    target_aggregate_function řetězec Představuje agregační funkci, která se má použít k agregaci cílového sloupce v časových řadách a generování prognóz se zadanou frekvencí (definovanou v freq). Pokud je tento parametr nastavený, ale freq není nastavený, vyvolá se chyba. Je vynechána nebo nastavena na Žádný a pak se nepoužije žádná agregace. 'sum', 'max', 'min', 'mean' auto
    target_lags string, integer nebo list(integer) Počet minulých nebo historických období, která se mají použít ke zpoždění od cílových hodnot na základě četnosti datové sady. Ve výchozím nastavení je tento parametr vypnutý. Nastavení 'auto' umožňuje systému používat automatické heuristické zpoždění založené na heuristickém základě.
    Tato vlastnost lag by se měla použít, pokud vztah mezi nezávislými proměnnými a závislými proměnnými ve výchozím nastavení nekoreluje. Další informace najdete v tématu Opožděné funkce pro prognózování časových řad v automatizovaném strojovém učení.
    'auto', [int] None
    target_rolling_window_size řetězec nebo celé číslo Počet minulých pozorování, která se mají použít pro vytvoření průměru posuvného okna cílového sloupce. Při prognózování tento parametr představuje n historických období, která se mají použít ke generování předpokládaných hodnot, <= velikost trénovací sady. Pokud tento parametr vynecháte, n je úplná velikost trénovací sady. Tento parametr zadejte, pokud chcete při trénování modelu vzít v úvahu jenom určitou část historie. 'auto'Celé číslo None None
    use_stl řetězec Komponenty, které se mají generovat použitím rozkladu STL na časové řady. Pokud není zadaná nebo nastavená žádná, nevygeneruje se žádná komponenta časové řady.
    use_stl může mít dvě hodnoty:
    'season' : k vygenerování komponenty řady.
    'season_trend' : k vygenerování komponent automatizovaného strojového učení i trendu.
    'season', 'seasontrend' None

    trénování, ověřování nebo testování dat

    Klíč Typ Popis Povolené hodnoty Výchozí hodnota
    datastore řetězec Název úložiště dat, do kterého uživatel nahrává data.
    path řetězec Cesta, ze které se mají načíst data. Může to být file cesta, folder cesta nebo pattern cesta.
    pattern určuje způsob hledání, který umožňuje globbing(* a **) souborů a složek obsahujících data. Podporované typy identifikátorů URI jsou azureml, https, wasbs, abfssa adl. Další informace najdete v tématu Základní syntaxe YAML , kde najdete informace o tom, jak používat formát identifikátoru azureml:// URI. Identifikátor URI umístění souboru artefaktu. Pokud tento identifikátor URI nemá schéma (například http:, azureml: atd.), považuje se za místní odkaz a soubor, na který odkazuje, se při vytváření entity nahraje do výchozího úložiště objektů blob pracovního prostoru.
    type const Typ vstupních dat. Aby bylo možné generovat modely počítačového zpracování obrazu, musí uživatel jako vstup pro trénování modelu přinést označená data obrázků ve formě tabulky MLTable. mltable mltable

    Školení

    Klíč Typ Popis Povolené hodnoty Výchozí hodnota
    allowed_training_algorithms list(řetězec) Seznam algoritmů prognózování časových řad, které můžete vyzkoušet jako základní model pro trénování modelu v experimentu. Pokud je vynechána nebo je nastavena na hodnotu Žádný, pak se během experimentu použijí všechny podporované algoritmy s výjimkou algoritmů zadaných v blocked_training_algorithms. 'auto_arima', 'prophet', 'naive','seasonal_naive', 'average', 'seasonal_average', 'exponential_smoothing', 'arimax', 'tcn_forecaster', 'elastic_net', 'gradient_boosting', 'decision_tree', 'knn', 'lasso_lars', 'sgd', 'random_forest', 'extreme_random_trees', 'light_gbm', 'xg_boost_regressor' None
    blocked_training_algorithms list(řetězec) Seznam algoritmů prognózování časových řad, které se při trénování modelu v experimentu nespustí jako základní model. Pokud je vynechána nebo je nastavená na Hodnotu Žádný, pak se při trénování modelu použijí všechny podporované algoritmy. 'auto_arima', 'prophet', 'naive', 'seasonal_naive', 'average', 'seasonal_average', 'exponential_smoothing', 'arimax','tcn_forecaster', 'elastic_net', 'gradient_boosting', 'decision_tree', 'knn', 'lasso_lars', 'sgd', 'random_forest', 'extreme_random_trees', 'light_gbm', 'xg_boost_regressor' None
    enable_dnn_training boolean Příznak pro zapnutí nebo vypnutí zahrnutí modelů založených na DNN, které se mají vyzkoušet během výběru modelu. True, False False
    enable_model_explainability boolean Představuje příznak pro zapnutí vysvětlitelnosti modelu, jako je důležitost funkce, nejlepšího modelu vyhodnoceného systémem automatizovaného strojového učení. True, False True
    enable_vote_ensemble boolean Příznak, který povolí nebo zakáže přemístání některých základních modelů pomocí algoritmu Voting. Další informace o souborech najdete v tématu Nastavení automatického trénování. true, false true
    enable_stack_ensemble boolean Příznak pro povolení nebo zakázání přeskakování některých základních modelů pomocí algoritmu stacking. V úlohách prognózování je tento příznak ve výchozím nastavení vypnutý, aby se zabránilo riziku přeurčení kvůli malé trénovací sadě použité k přizpůsobení metaučáka. Další informace o souborech najdete v tématu Nastavení automatického trénování. true, false false

    featurizace

    Klíč Typ Popis Povolené hodnoty Výchozí hodnota
    mode řetězec Režim extrakce příznaků, který má používat úloha automatizovaného strojového učení.
    Nastavení na:
    'auto' určuje, jestli má být krok extrakce příznaků proveden automaticky.
    'off' indikuje, že žádná extrakce<'custom' příznaků indikuje, zda by se měla použít přizpůsobená featurizace.

    Poznámka: Pokud jsou vstupní data zhuštěná, není možné funkcionalizaci zapnout.
    'auto', 'off', 'custom' None
    blocked_transformers list(řetězec) Seznam názvů transformátorů, které mají být blokovány během kroku extrakce příznaků automatizovaným ml, pokud je funkce extrakce mode nastavena na "vlastní". 'text_target_encoder', 'one_hot_encoder', 'cat_target_encoder', 'tf_idf', 'wo_e_target_encoder', 'label_encoder', 'word_embedding', 'naive_bayes', 'count_vectorizer', 'hash_one_hot_encoder' None
    column_name_and_types object Objekt slovníku skládající se z názvů sloupců jako klíče diktování a typů funkcí používaných k aktualizaci účelu sloupce jako přidružené hodnoty, pokud je funkce extrakce mode příznaků nastavena na "vlastní".
    transformer_params object Vnořený objekt slovníku skládající se z názvu transformátoru jako klíče a odpovídajících parametrů přizpůsobení ve sloupcích datové sady pro extrakci příznaků, pokud je extrakce mode příznaků nastavena na "vlastní".
    Prognózování podporuje imputer pouze transformátor pro přizpůsobení.
    Podívejte se na column_transformers , kde se dozvíte, jak vytvářet parametry přizpůsobení.
    None

    column_transformers

    Klíč Typ Popis Povolené hodnoty Výchozí hodnota
    fields list(řetězec) Seznam názvů sloupců, pro které transformer_params je třeba použít.
    parameters object Objekt slovníku skládající se z "strategie" jako klíče a hodnoty jako strategie imputace.
    Další podrobnosti o tom, jak se dají poskytnout, najdete v příkladech tady.

    Výstupy úloh

    Klíč Typ Popis Povolené hodnoty Výchozí hodnota
    type řetězec Typ výstupu úlohy. Pro výchozí uri_folder typ výstup odpovídá složce. uri_folder , mlflow_model, custom_model uri_folder
    mode řetězec Režim, jakým se výstupní soubory doručují do cílového úložiště. Pro režim připojení pro čtení i zápis (rw_mount) je výstupním adresářem připojený adresář. V režimu nahrávání se zapsané soubory nahrají na konci úlohy. rw_mount, upload rw_mount

    Jak spustit úlohu prognózování prostřednictvím rozhraní příkazového řádku

    az ml job create --file [YOUR_CLI_YAML_FILE] --workspace-name [YOUR_AZURE_WORKSPACE] --resource-group [YOUR_AZURE_RESOURCE_GROUP] --subscription [YOUR_AZURE_SUBSCRIPTION]