Dela via


CLI (v2) Yaml-schema för automatiserat ML-prognostiseringskommando

GÄLLER FÖR: Azure CLI ml-tillägget v2 (aktuellt)

JSON-källschemat finns på https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

Kommentar

YAML-syntaxen som beskrivs i det här dokumentet baseras på JSON-schemat för den senaste versionen av ML CLI v2-tillägget. Den här syntaxen är garanterad att endast fungera med den senaste versionen av ML CLI v2-tillägget. Du hittar scheman för äldre tilläggsversioner på https://azuremlschemasprod.azureedge.net/.

YAML-syntax

Nyckel Typ Beskrivning Tillåtna värden Standardvärde
$schema sträng Platsen/url:en för att läsa in YAML-schemat.
Om användaren använder Tillägget Azure Mašinsko učenje VS Code för att skapa YAML-filen, inklusive $schema längst upp i filen, kan användaren anropa schema- och resursavslutningar.
compute sträng Obligatoriska.
Namnet på den AML-beräkningsinfrastruktur som jobbet ska köras på.
Beräkningen kan antingen vara en referens till en befintlig beräkningsdator på arbetsytan
Obs! Jobb i pipeline stöder inte "lokal" som compute. Den "lokala" här innebär att beräkningsinstansen som skapats på användarens Arbetsyta i Azure Mašinsko učenje studio.
1. mönster [^azureml:<compute_name>] för att använda befintlig beräkning,
2.'local' för att använda lokal körning
'local'
limits objekt Representerar ett ordlisteobjekt som består av gränskonfigurationer för det automatiserade ML-tabelljobbet.
Nyckeln är namnet på gränsen i jobbets kontext och värdet är gränsvärdet. Se begränsningar för att ta reda på egenskaperna för det här objektet.
name sträng Namnet på det skickade automatiserade ML-jobbet.
Den måste vara unik för alla jobb på arbetsytan. Om det inte anges skapar Azure Mašinsko učenje automatiskt ett GUID för namnet.
description sträng Beskrivningen av det automatiserade ML-jobbet.
display_name sträng Namnet på det jobb som användaren vill visa i studiogränssnittet. Den kan vara icke-unik på arbetsytan. Om det utelämnas skapar Azure Mašinsko učenje automatiskt en adjektiv-substantividentifierare som kan läsas av människor för visningsnamnet.
experiment_name sträng Namnet på experimentet.
Experiment är poster för dina ML-träningsjobb i Azure. Experiment innehåller resultatet av dina körningar, tillsammans med loggar, diagram och grafer. Varje jobbs körningspost ordnas under motsvarande experiment på studiofliken "Experiment".
Namnet på arbetskatalogen där den skapades
environment_variables objekt Ett ordlisteobjekt för miljövariabler som ska anges i processen där kommandot körs.
outputs objekt Representerar en ordlista med utdatakonfigurationer för jobbet. Nyckeln är ett namn på utdata i jobbets kontext och värdet är utdatakonfigurationen. Se jobbutdata för att ta reda på egenskaperna för det här objektet.
log_files objekt Ett ordlisteobjekt som innehåller loggar för en automatiserad ML-jobbkörning
log_verbosity sträng Loggverositetens nivå för att skriva till loggfilen.
Acceptabla värden definieras i Python-loggningsbiblioteket.
'not_set', 'debug', 'info', 'warning', , , 'error''critical' 'info'
type Const Obligatoriska.
Typen av jobb.
automl automl
task Const Obligatoriska.
Typen av automatiserad ML-uppgift som ska köras.
forecasting forecasting
target_column_name sträng Obligatoriska.
Representerar namnet på kolumnen som ska prognostiseras. Det automatiserade ML-jobbet genererar ett fel om det inte anges.
featurization objekt Ett ordlisteobjekt som definierar konfigurationen av anpassad funktionalisering. Om den inte skapas tillämpar den automatiserade ML-konfigurationen automatisk funktionalisering. Se funktionalisering för att se egenskaperna för det här objektet.
forecasting objekt Ett ordlisteobjekt som definierar inställningarna för prognostiseringsjobbet. Se prognostisering för att ta reda på egenskaperna för det här objektet.
n_cross_validations sträng eller heltal Antalet korsvalideringar som ska utföras under valet av modell/pipeline om validation_data det inte har angetts.
Om både validation_data och den här parametern inte anges eller anges till None, anger automatiserat ML-jobb det som auto standard. Om är distributed_featurization aktiverat och validation_data inte har angetts är det inställt på 2 som standard.
'auto', [int] None
primary_metric sträng Ett mått som Automatiserad ML optimerar för val av modellval för Time Series Forecasting.
Om allowed_training_algorithms har "tcn_forecaster" att använda för träning stöder automatiserad ML endast i "normalized_root_mean_squared_error" och "normalized_mean_absolute_error" som ska användas som primary_metric.
"spearman_correlation", , "normalized_root_mean_squared_error""r2_score" "normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training objekt Ett ordlisteobjekt som definierar konfigurationen som används i modellträningen.
Kontrollera träningen för att ta reda på egenskaperna för det här objektet.
training_data objekt Krävs
Ett ordlisteobjekt som innehåller MLTable-konfigurationen som definierar träningsdata som ska användas som indata för modellträning. Dessa data är en delmängd av data och bör bestå av både oberoende funktioner/kolumner och målfunktion/kolumn. Användaren kan använda en registrerad MLTable på arbetsytan med formatet ":" (t.ex. Input(mltable='my_mltable:1')) ELLER använda en lokal fil eller mapp som en MLTable(t.ex. Input(mltable=MLTable(local_path="./data")). Det här objektet måste anges. Om målfunktionen inte finns i källfilen genererar automatiserad ML ett fel. Kontrollera tränings- eller validerings- eller testdata för att ta reda på egenskaperna för det här objektet.
validation_data objekt Ett ordlisteobjekt som innehåller MLTable-konfigurationen som definierar valideringsdata som ska användas i automatiserat ML-experiment för korsvalidering. Den bör bestå av både oberoende funktioner/kolumner och målfunktion/kolumn om det här objektet tillhandahålls. Exempel i träningsdata och valideringsdata kan inte överlappa varandra.
Se tränings- eller validerings- eller testdata för att ta reda på egenskaperna för det här objektet. Om det här objektet inte har definierats används n_cross_validations automatiserad ML för att dela upp valideringsdata från träningsdata som definierats i training_data objektet.
test_data objekt Ett ordlisteobjekt som innehåller MLTable-konfigurationen som definierar testdata som ska användas i testkörning för förutsägelser i att använda bästa modell och utvärderar modellen med hjälp av definierade mått. Den bör endast bestå av oberoende funktioner som används i träningsdata (utan målfunktion) om det här objektet tillhandahålls.
Kontrollera tränings- eller validerings- eller testdata för att ta reda på egenskaperna för det här objektet. Om den inte tillhandahålls använder Automatiserad ML andra inbyggda metoder för att föreslå bästa modell att använda för slutsatsdragning.

Gränser

Nyckel Typ Beskrivning Tillåtna värden Standardvärde
enable_early_termination boolean Representerar om du vill aktivera experimentavslut om förlustpoängen inte förbättras efter "x" antal iterationer.
I ett automatiserat ML-jobb tillämpas inget tidigt stopp på de första 20 iterationerna. Det tidiga stoppfönstret startar först efter de första 20 iterationerna.
true, false true
max_concurrent_trials integer Det maximala antalet utvärderingsversioner (underordnade jobb) som skulle köras parallellt. Vi rekommenderar starkt att du anger antalet samtidiga körningar till antalet noder i klustret (aml-beräkning definierad i compute). 1
max_trials integer Representerar det maximala antalet utvärderingsversioner som ett automatiserat ML-jobb kan försöka köra en träningsalgoritm med olika kombination av hyperparametrar. Standardvärdet är inställt på 1 000. Om enable_early_termination definieras kan antalet försök som används för att köra träningsalgoritmer vara mindre. 1000
max_cores_per_trial integer Representerar det maximala antalet kärnor per som är tillgängliga för användning av varje utvärderingsversion. Standardvärdet är -1, vilket innebär att alla kärnor används i processen. -1
timeout_minutes integer Den maximala tiden i minuter som det skickade automatiserade ML-jobbet kan ta att köra. Efter den angivna tiden avslutas jobbet. Den här tidsgränsen omfattar installation, funktionalisering, träningskörningar, montering och modellförklarbarhet (om det tillhandahålls) av alla utvärderingsversioner.
Observera att den inte innehåller monterings- och modellförklarbarhetskörningar i slutet av processen om jobbet inte kan slutföras inom angivet timeout_minutes eftersom dessa funktioner är tillgängliga när alla utvärderingsversioner (underordnade jobb) har slutförts.
Standardvärdet är 360 minuter (6 timmar). Om du vill ange en tidsgräns som är mindre än eller lika med 1 timme (60 minuter) bör användaren se till att datauppsättningens storlek inte är större än 10 000 000 (rader gånger kolumn) eller ett felresultat.
360
trial_timeout_minutes integer Den maximala tiden i minuter som varje utvärderingsversion (underordnat jobb) i det skickade automatiserade ML-jobbet kan ta körning. Efter den angivna tiden avslutas det underordnade jobbet. 30
exit_score flyttal Poängen som ska uppnås av ett experiment. Experimentet avslutas när den angivna poängen har nåtts. Om det inte anges (inga kriterier) körs experimentet förrän inga ytterligare framsteg har gjorts på den definierade primary metric.

prognostisering

Nyckel Typ Beskrivning Tillåtna värden Standardvärde
time_column_name sträng Krävs
Namnet på kolumnen i datauppsättningen som motsvarar tidsaxeln för varje tidsserie. Indatauppsättningen för träning, validering eller test måste innehålla den här kolumnen om uppgiften är forecasting. Om det inte anges eller anges till Noneutlöser automatiserat ML-prognosjobb ett fel och avslutar experimentet.
forecast_horizon sträng eller heltal Den maximala prognoshorisonten i tidsseriefrekvensenheter. Dessa enheter baseras på det antagna tidsintervallet för dina träningsdata (till exempel varje månad, varje vecka) som prognosmakaren använder för att förutsäga. Om det är inställt på Ingen eller auto, är standardvärdet inställt på 1, vilket betyder "t+1" från den senaste tidsstämpeln t i indata. auto, [int] 1
frequency sträng Den frekvens med vilken prognosgenereringen önskas, till exempel dagligen, varje vecka, varje år osv.
Om den inte har angetts eller angetts till Ingen härleds standardvärdet från datamängdens tidsindex. Användaren kan ange ett värde som är större än datauppsättningens härledda frekvens, men inte mindre än den. Om datauppsättningens frekvens till exempel är daglig kan det ta värden som varje dag, varje vecka, varje månad, men inte varje timme eftersom varje timme är mindre än varje dag (24 timmar).
Mer information finns i Pandas-dokumentationen.
None
time_series_id_column_names sträng eller lista(strängar) Namnen på kolumner i de data som ska användas för att gruppera data i flera tidsserier. Om time_series_id_column_names inte har definierats eller angetts till Ingen använder automatiserad ML logik för automatisk identifiering för att identifiera kolumnerna. None
feature_lags sträng Representerar om användaren vill generera fördröjningar automatiskt för de angivna numeriska funktionerna. Standardvärdet är inställt på auto, vilket innebär att automatiserad ML använder autokorrelationsbaserad heuristik för att automatiskt välja fördröjningsbeställningar och generera motsvarande fördröjningsfunktioner för alla numeriska funktioner. "Ingen" innebär att inga fördröjningar genereras för numeriska funktioner. 'auto', None None
country_or_region_for_holidays sträng Det land eller den region som ska användas för att generera semesterfunktioner. Dessa tecken ska representeras i ISO 3166-lands-/regionkoder med två bokstäver, till exempel "US" eller "GB". Listan över ISO-koderna finns på https://wikipedia.org/wiki/List_of_ISO_3166_country_codes. None
cv_step_size sträng eller heltal Antalet perioder mellan origin_time av en CV-vikning och nästa vik. Om den till exempel är inställd på 3 för dagliga data är ursprungstiden för varje vik tre dagars mellanrum. Om den har angetts till Ingen eller inte har angetts anges den som auto standard. Om det är av heltalstyp är det minsta värde det kan ta 1, annars uppstår ett fel. auto, [int] auto
seasonality sträng eller heltal Säsongsvariationen för tidsserier som en heltalsmultipel för seriefrekvensen. Om säsongsvariation inte anges anges dess värde till , vilket innebär att 'auto'det härleds automatiskt av automatiserad ML. Om den här parametern inte är inställd Nonepå förutsätter automatiserad ML tidsserier som icke-säsongsbaserade, vilket motsvarar att ange den som heltalsvärde 1. 'auto', [int] auto
short_series_handling_config sträng Representerar hur automatiserad ML ska hantera korta tidsserier om det anges. Det tar följande värden:
  • 'auto' : kort serie är vadderad om det inte finns några långa serier, annars korta serier släpps.
  • 'pad': alla korta serier är vadderade med nollor.
  • 'drop': alla korta serier släpps.
  • None: Den korta serien ändras inte.
    'auto', 'pad', , 'drop'None auto
    target_aggregate_function sträng Representerar den mängdfunktion som ska användas för att aggregera målkolumnen i tidsserier och generera prognoserna med angiven frekvens (definieras i freq). Om den här parametern har angetts, men parametern freq inte har angetts, utlöses ett fel. Den utelämnas eller anges till Ingen. Sedan tillämpas ingen aggregering. 'sum', 'max', , 'min''mean' auto
    target_lags sträng eller heltal eller lista(heltal) Antalet tidigare/historiska perioder som ska användas för att släpa efter målvärdena baserat på datamängdsfrekvensen. Som standard är den här parametern inaktiverad. Med 'auto' inställningen kan systemet använda automatisk heuristisk fördröjning.
    Den här fördröjningsegenskapen bör användas när relationen mellan de oberoende variablerna och den beroende variabeln inte korrelerar som standard. Mer information finns i Fördröjda funktioner för prognostisering av tidsserier i automatiserad ML.
    'auto', [int] None
    target_rolling_window_size sträng eller heltal Antalet tidigare observationer som ska användas för att skapa ett rullande fönstergenomsnitt för målkolumnen. Vid prognostisering representerar den här parametern n historiska perioder som ska användas för att generera prognostiserade värden, <= träningsuppsättningsstorlek. Om det utelämnas är n den fullständiga träningsuppsättningens storlek. Ange den här parametern när du bara vill överväga en viss mängd historik när du tränar modellen. 'auto'heltal None None
    use_stl sträng De komponenter som ska genereras genom att tillämpa STL-nedbrytning i tidsserier. Om den inte anges eller anges till Ingen genereras ingen tidsseriekomponent.
    use_stl kan ta två värden:
    'season' : för att generera säsongskomponenten.
    'season_trend' : för att generera både säsongens automatiserade ML- och trendkomponenter.
    'season', 'seasontrend' None

    tränings- eller validerings- eller testdata

    Nyckel Typ Beskrivning Tillåtna värden Standardvärde
    datastore sträng Namnet på det datalager där data laddas upp av användaren.
    path sträng Sökvägen där data ska läsas in. Det kan vara en file sökväg, folder sökväg eller pattern för sökvägar.
    pattern anger ett sökmönster för att tillåta globbning(* och **) av filer och mappar som innehåller data. URI-typer som stöds är azureml, https, wasbs, abfssoch adl. Mer information finns i Core yaml-syntax för att förstå hur du använder azureml:// URI-formatet. URI för platsen för artefaktfilen. Om den här URI:n inte har något schema (till exempel http:, azureml: etc.) anses den vara en lokal referens och filen som den pekar på laddas upp till standardlagringen för arbetsytans blob när entiteten skapas.
    type Const Typ av indata. För att generera modeller för visuellt innehåll måste användaren ta med märkta bilddata som indata för modellträning i form av en MLTable. mltable mltable

    träning

    Nyckel Typ Beskrivning Tillåtna värden Standardvärde
    allowed_training_algorithms list(string) En lista över algoritmer för tidsserieprognoser som ska testas som basmodell för modellträning i ett experiment. Om den utelämnas eller anges till Ingen används alla algoritmer som stöds under experimentet, förutom algoritmer som anges i 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(string) En lista över algoritmer för tidsserieprognoser som inte ska köras som basmodell under modellträning i ett experiment. Om den utelämnas eller anges till Ingen används alla algoritmer som stöds under modellträningen. '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 En flagga för att aktivera eller inaktivera inkludering av DNN-baserade modeller som ska provas under modellval. True, False False
    enable_model_explainability boolean Representerar en flagga för att aktivera modellförklaring som funktionsvikt, av bästa modell som utvärderas av automatiserat ML-system. True, False True
    enable_vote_ensemble boolean En flagga för att aktivera eller inaktivera montering av vissa basmodeller med hjälp av röstningsalgoritmen. Mer information om ensembler finns i Konfigurera automatisk träning. true, false true
    enable_stack_ensemble boolean En flagga för att aktivera eller inaktivera montering av vissa basmodeller med hjälp av stackningsalgoritm. I prognosuppgifter är den här flaggan inaktiverad som standard för att undvika risker för överanpassning på grund av en liten träningsuppsättning som används för att passa metainläraren. Mer information om ensembler finns i Konfigurera automatisk träning. true, false false

    funktionalisering

    Nyckel Typ Beskrivning Tillåtna värden Standardvärde
    mode sträng Funktionaliseringsläget som ska användas av automatiserat ML-jobb.
    Ställ in den på:
    'auto' anger om funktionaliseringssteget ska utföras automatiskt
    'off' anger att ingen funktionalisering<'custom' anger om anpassad funktionalisering ska användas.

    Obs! Om indata är glesa går det inte att aktivera funktionalisering.
    'auto', , 'off''custom' None
    blocked_transformers list(string) En lista över transformatornamn som ska blockeras under funktionaliseringssteget av automatiserad ML, om funktionalisering mode är inställd på "anpassad". '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 objekt Ett ordlisteobjekt som består av kolumnnamn som dikteringsnyckel och funktionstyper som används för att uppdatera kolumnsyftet som associerat värde, om funktionalisering mode är inställt på "anpassad".
    transformer_params objekt Ett kapslat ordlisteobjekt som består av transformeringsnamn som nyckel och motsvarande anpassningsparametrar för datauppsättningskolumner för funktionalisering, om funktionalisering mode är inställt på "anpassad".
    Prognostiseringen stöder imputer endast transformering för anpassning.
    Kolla in column_transformers för att ta reda på hur du skapar anpassningsparametrar.
    None

    column_transformers

    Nyckel Typ Beskrivning Tillåtna värden Standardvärde
    fields list(string) En lista med kolumnnamn som tillhandahålls transformer_params ska tillämpas.
    parameters objekt Ett ordlisteobjekt som består av "strategi" som nyckel och värde som imputationsstrategi.
    Mer information om hur det kan tillhandahållas finns i exempel här.

    Jobbutdata

    Nyckel Typ Beskrivning Tillåtna värden Standardvärde
    type sträng Typ av jobbutdata. För standardtypen uri_folder motsvarar utdata en mapp. uri_folder, , mlflow_modelcustom_model uri_folder
    mode sträng Läget för hur utdatafiler levereras till mållagringen. För skrivskyddat monteringsläge (rw_mount) är utdatakatalogen en monterad katalog. För uppladdningsläge laddas de filer som skrivs upp i slutet av jobbet. rw_mount, upload rw_mount

    Så här kör du prognostiseringsjobb via CLI

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