ForecastingJob Třída
Konfigurace pro úlohu prognózování automatizovaného strojového učení
Inicializujte novou úlohu prognózování automatizovaného strojového učení.
- Dědičnost
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
Konstruktor
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
Parametry
Metody
dump |
Vytvoří výpis obsahu úlohy do souboru ve formátu YAML. |
set_data |
Definujte konfiguraci dat. |
set_featurization |
Definujte konfiguraci přípravy atributů. |
set_forecast_settings |
Umožňuje spravovat parametry používané úlohami prognózování. |
set_limits |
Nastavte limity pro úlohu. |
set_training |
Metoda konfigurace nastavení souvisejícího s trénováním prognózy. |
dump
Vytvoří výpis obsahu úlohy do souboru ve formátu YAML.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parametry
Místní cesta nebo datový proud souboru, do které se má obsah YAML zapisovat. Pokud je dest cesta k souboru, vytvoří se nový soubor. Pokud je dest otevřený soubor, zapíše se přímo do souboru.
- kwargs
- dict
Další argumenty, které se mají předat serializátoru YAML.
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
set_data
Definujte konfiguraci dat.
set_data(*, training_data: Input, target_column_name: str, weight_column_name: str | None = None, validation_data: Input | None = None, validation_data_size: float | None = None, n_cross_validations: str | int | None = None, cv_split_column_names: List[str] | None = None, test_data: Input | None = None, test_data_size: float | None = None) -> None
Parametry
- training_data
- Input
Trénovací data.
- target_column_name
- str
Název cílového sloupce.
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
set_featurization
Definujte konfiguraci přípravy atributů.
set_featurization(*, blocked_transformers: List[BlockedTransformers | str] | None = None, column_name_and_types: Dict[str, str] | None = None, dataset_language: str | None = None, transformer_params: Dict[str, List[ColumnTransformer]] | None = None, mode: str | None = None, enable_dnn_featurization: bool | None = None) -> None
Parametry
- blocked_transformers
- Optional[List[Union[BlockedTransformers, str]]]
Seznam názvů transformátorů, které se mají blokovat během extrakce příznaků, výchozí hodnota je None (Žádný).
Slovník názvů sloupců a typů funkcí používaných k aktualizaci účelu sloupce má výchozí hodnotu Žádný.
Tříznakový kód ISO 639-3 pro jazyky obsažené v datové sadě. Jiné jazyky než angličtina jsou podporované jenom v případě, že používáte výpočetní prostředky s podporou GPU. Language_code "mul" by se měl použít, pokud datová sada obsahuje více jazyků. Pokud chcete najít kódy ISO 639-3 pro různé jazyky, podívejte se na https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes, výchozí hodnota je Žádná.
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
Slovník transformátoru a odpovídajících parametrů vlastního nastavení má výchozí hodnotu None (Žádný).
Jestli se mají zahrnout metody přípravy atributů založené na názvu DNN, výchozí hodnota je None (Žádné)
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
set_forecast_settings
Umožňuje spravovat parametry používané úlohami prognózování.
set_forecast_settings(*, time_column_name: str | None = None, forecast_horizon: str | int | None = None, time_series_id_column_names: str | List[str] | None = None, target_lags: str | int | List[int] | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, country_or_region_for_holidays: str | None = None, use_stl: str | None = None, seasonality: str | int | None = None, short_series_handling_config: str | None = None, frequency: str | None = None, target_aggregate_function: str | None = None, cv_step_size: int | None = None, features_unknown_at_forecast_time: str | List[str] | None = None) -> None
Parametry
Název sloupce času. Tento parametr se vyžaduje při prognózování k určení sloupce datetime ve vstupních datech použitých pro sestavení časové řady a odvozování její frekvence.
- forecast_horizon
Požadovaný maximální horizont prognózy v jednotkách frekvence časových řad. Výchozí hodnota je 1.
Jednotky jsou založené na časovém intervalu trénovacích dat, například měsíčně nebo týdně, které by měl prognózovat prognóza. Při prognózování typu úlohy je tento parametr povinný. Další informace o nastavení parametrů prognózy najdete v tématu Automatické trénování modelu prognózy časových řad.
Názvy sloupců použitých k seskupení časové řady. Dá se použít k vytvoření více řad. Pokud nejsou definovány názvy sloupců id časové řady nebo zadané sloupce identifikátorů neidentifikují všechny řady v datové sadě, vytvoří se identifikátory časových řad pro vaši datovou sadu automaticky.
- target_lags
Počet minulých období, která se mají zpožďovat od cílového sloupce Ve výchozím nastavení jsou prodlevy vypnuté.
Při prognózování tento parametr představuje počet řádků, které mají zpozdit cílové hodnoty na základě frekvence dat. Toto je reprezentováno jako seznam nebo jedno celé číslo. Prodleva by se měla použít, pokud se vztah mezi nezávislými proměnnými a závislými proměnnými ve výchozím nastavení neshoduje nebo koreluje. Pokud se například pokoušíte předpovědět poptávku po produktu, může poptávka v libovolném měsíci záviset na ceně konkrétních komodit před 3 měsíci. V tomto příkladu můžete chtít zpožďovat cíl (poptávku) o 3 měsíce, aby model trénoval na správné relaci. Další informace najdete v tématu Automatické trénování modelu prognózy časových řad.
Všimněte si automatické detekce cílových prodlev a velikosti posuvného okna. Podívejte se na odpovídající komentáře v oddílu posuvné okno. Další algoritmus používáme ke zjištění optimální cílové prodlevy a velikosti posuvných oken.
Odhadnout pořadí maximální prodlevy pro výběr funkce zpětného pohledu. V našem případě je to počet období do následující intervalu frekvence data, tj. pokud je frekvence denní, bude to týden (7), pokud je to týden, bude to měsíc (4). Hodnoty vynásobené dvěma jsou největšími možnými hodnotami prodlev/posuvných oken. V našich příkladech se budeme zabývat pořadím maximální prodlevy 14 a 8).
Vytvořte řadu bez sezóny přidáním komponent trendu a reziduí. Použije se v dalším kroku.
Odhad funkce PACF – Částečná automatická korelace na data z (2) a vyhledejte body, kde je automatická korelace významná, tj. její absolutní hodnota je více než 1,96/square_root (hodnota maximální prodlevy), které odpovídají významnosti 95 %.
Pokud jsou všechny body významné, považujeme to za silnou sezónnost a nevytváříme funkce zpětného pohledu.
Hodnoty PACF prohledáme od začátku a hodnotu před první nevýznamnou automatickou korelací určíme prodlevu. Pokud první významný prvek (hodnota koreluje se sebou samým) následuje nevýznamný, bude prodleva 0 a funkce zpětného vyhledávání nebudeme používat.
Příznak pro generování prodlev pro číselné funkce s automatickým nebo žádným.
Počet minulých období použitých k 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 pouze určitou část historie. Pokud je nastavená hodnota auto, bude posuvné okno odhadnuto jako poslední hodnota, kde PACF je více než prahová hodnota významnosti. Podrobnosti najdete v části target_lags.
Země nebo oblast, která se používá ke generování funkcí svátků. Měly by to být dvoumísmenné kódy země/oblasti iso 3166, například "US" nebo "GB".
- use_stl
Nakonfigurujte STL rozklad cílového sloupce časové řady. use_stl můžou mít tři hodnoty: None (výchozí) – žádný dekompozice stl, 'season' – generovat pouze komponentu season a season_trend – generovat komponenty řady i trendu.
Nastavte sezónnost časových řad jako celočíselný násobek frekvence řady. Pokud je sezónnost nastavená na hodnotu "auto", bude odvozena. Pokud je nastavená hodnota Žádná, předpokládá se, že časová řada není sezónní, což odpovídá sezónnosti=1.
- short_series_handling_config
Parametr definující, jak má AutoML zpracovávat krátké časové řady.
Možné hodnoty: "auto" (výchozí), 'pad', 'drop' a None.
- automatické krátké řady budou polstrovány, pokud neexistují žádné dlouhé řady,
v opačném případě budou krátké řady vyřazeny.
- všechny krátké řady budou polstrovány.
- všechny krátké řady budou vyřazeny".
- Žádné krátké řady nebudou změněny.
Pokud je nastavená hodnota pad, tabulka bude vyplněna nulami a prázdnými hodnotami regresorů a náhodnými hodnotami pro cíl se střední hodnotou cílovou hodnotou pro dané ID časové řady. Pokud je medián větší nebo roven nule, minimální polstrovaná hodnota bude oříznuta nulou: Vstup:
Date (Datum)
numeric_value
řetězec
Cíl
01. 01. 2020
23
green
55
Výstup za předpokladu, že minimální počet hodnot jsou čtyři:
Date (Datum)
numeric_value
řetězec
Cíl
2019-12-29
0
NA
55.1
2019-12-30
0
NA
55.6
2019-12-31
0
NA
54.5
01. 01. 2020
23
green
55
Poznámka: Máme dva parametry short_series_handling_configuration a starší short_series_handling. Když jsou oba parametry nastavené, synchronizujeme je, jak je znázorněno v následující tabulce (short_series_handling_configuration a short_series_handling pro zkrácení jsou označeny jako handling_configuration a zpracování).
Zpracování
handlingconfiguration
výsledné odbavování
výsledná konfigurace odbavování
Ano
auto
Ano
auto
Ano
Pad
Ano
auto
Ano
drop
Ano
auto
Ano
Žádné
Ne
Žádné
Ne
auto
Ne
Žádné
Ne
Pad
Ne
Žádné
Ne
drop
Ne
Žádné
Ne
Žádné
Ne
Žádné
- frequency
Četnost prognóz.
Při prognózování tento parametr představuje období, se kterým je prognóza požadovaná, například denně, týdně, ročně atd. Frekvence prognózy je ve výchozím nastavení frekvence datové sady. Volitelně můžete nastavit větší (ale ne menší) frekvenci datové sady. Data agregujeme a vygenerujeme výsledky s frekvencí prognózy. Například u denních dat můžete nastavit denní, týdenní nebo měsíční frekvenci, ale ne hodinovou. Četností musí být alias posunu pandas. Další informace najdete v dokumentaci k knihovně pandas: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
- target_aggregate_function
Funkce, která se má použít k agregaci cílového sloupce časové řady tak, aby odpovídala frekvenci zadané uživatelem. Pokud je target_aggregation_function nastaven, ale není nastavený parametr freq, dojde k chybě. Možné cílové agregační funkce jsou: "sum", "max", "min" a "mean".
Hodnoty cílového sloupce se agregují na základě zadané operace. Součet je obvykle vhodný pro většinu scénářů.
Sloupce s číselnou vysvětlující hodnotou ve vašich datech se agregují podle součtu, průměru, minimální hodnoty a maximální hodnoty. V důsledku toho automatizované strojové učení vygeneruje nové sloupce s příponou s názvem agregační funkce a použije vybranou agregační operaci.
U sloupců s předpověďmi kategorií se data agregují podle režimu, nejvýraznější kategorie v okně.
Sloupce vysvětlující datum se agregují podle minimální hodnoty, maximální hodnoty a režimu.
Frekvence
target_aggregation_function
Mechanismus oprav pravidelnosti dat
Žádné (výchozí)
Žádné (výchozí)
Agregace se nepoužije. Pokud platnou četnost nelze neurčit, dojde k chybě.
Nějaká hodnota
Žádné (výchozí)
Agregace se nepoužije. Pokud počet datových bodů, které jsou v souladu sgivencí četnosti, nebude 90 %těchto bodů zrušen, jinak dojde k chybě.
Žádné (výchozí)
Agregační funkce
Chyba omissingfrequencyparameter israised.
Nějaká hodnota
Agregační funkce
Agregace na četnost pomocí funkceprovidedaggregation.
Počet období mezi origin_time jednoho záhybu CV a dalším přehybem. Pokud například n_step = 3 pro denní data, čas počátku každého záhybů bude tři dny od sebe.
Sloupce funkcí, které jsou k dispozici pro trénování, ale nejsou v době prognózy nebo odvozování neznámé. Pokud je features_unknown_at_forecast_time nastavený na prázdný seznam, předpokládá se, že jsou v době odvozování známé všechny sloupce funkcí v datové sadě. Pokud tento parametr není nastavený, podpora budoucích funkcí se nepovolí.
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
set_limits
Nastavte limity pro úlohu.
set_limits(*, enable_early_termination: bool | None = None, exit_score: float | None = None, max_concurrent_trials: int | None = None, max_cores_per_trial: int | None = None, max_nodes: int | None = None, max_trials: int | None = None, timeout_minutes: int | None = None, trial_timeout_minutes: int | None = None) -> None
Parametry
Jestli chcete povolit předčasné ukončení, pokud se skóre nezlepšuje v krátkodobém horizontu, výchozí hodnota je None (Žádné).
Logika předčasného zastavení:
Prvních 20 iterací (orientačních bodů) se nezastavuje včas.
Při 21. iteraci se spustí okno předčasného zastavení a vyhledá early_stopping_n_iters iterací.
(aktuálně nastaveno na hodnotu 10). To znamená, že první iterace, kde může dojít k zastavení, je 31.
AutoML stále plánuje 2 iterace souboru po brzkém zastavení, což může mít za následek vyšší skóre.
Brzké zastavení se aktivuje, pokud je absolutní hodnota vypočítaného nejlepšího skóre stejná jako v minulosti.
early_stopping_n_iters iterací, tj. pokud nedojde k žádnému zlepšení skóre pro early_stopping_n_iters iterací.
Cílové skóre pro experiment. Experiment se ukončí po dosažení tohoto skóre. Pokud není zadaný (bez kritérií), experiment se spustí, dokud se u primární metriky neuskuteční žádný další postup. Další informace o kritériích ukončení najdete v tomto článku . Výchozí hodnota je Žádná.
Jedná se o maximální počet paralelně spuštěných iterací. Výchozí hodnota je 1.
- Clustery AmlCompute podporují jednu spuštěnou iteraci na uzel.
V případě několika nadřazených spuštění experimentů Automatizovaného strojového učení spuštěných paralelně v jednom clusteru AmlCompute by součet max_concurrent_trials
hodnot pro všechny experimenty měl být menší nebo roven maximálnímu počtu uzlů. V opačném případě budou spuštění zařazena do fronty, dokud nebudou k dispozici uzly.
- DSVM podporuje více iterací na uzel.
max_concurrent_trials
By měla
musí být menší než nebo roven počtu jader na DSVM. V případě několika experimentů spuštěných paralelně na jednom počítači DSVM by součet max_concurrent_trials
hodnot všech experimentů měl být menší nebo roven maximálnímu počtu uzlů.
- Databricks –
max_concurrent_trials
hodnota by měla být menší než nebo rovna počtu
pracovní uzly v Databricks.
max_concurrent_trials
se nevztahuje na místní spuštění. Dříve se tento parametr jmenoval concurrent_iterations
.
Maximální počet vláken, které se mají použít pro danou iteraci trénování. Přijatelné hodnoty:
Větší než 1 a menší nebo roven maximálnímu počtu jader na cílovém výpočetním objektu
Rovná se hodnotě -1, což znamená použít všechna možná jádra na iteraci na podřízený běh.
Výchozí hodnota se rovná 1.
[Experimentální] Maximální počet uzlů, které se mají použít pro distribuované trénování.
Pro prognózování se každý model trénuje pomocí uzlů max(2, int(max_nodes / max_concurrent_trials)).
Pro účely klasifikace/regrese se každý model trénuje pomocí uzlů max_nodes.
Poznámka: Tento parametr je ve verzi Public Preview a v budoucnu se může změnit.
Celkový počet různých kombinací algoritmů a parametrů, které se mají otestovat během experimentu automatizovaného strojového učení. Pokud není zadaný, výchozí hodnota je 1 000 iterací.
Maximální doba v minutách, kterou mohou všechny kombinované iterace trvat, než se experiment ukončí. Pokud není zadaný, výchozí časový limit experimentu je 6 dnů. Pokud chcete zadat časový limit kratší nebo roven 1 hodině, ujistěte se, že velikost datové sady není větší než 10 000 000 (počet řádků ve sloupci) nebo zajistěte, aby výsledek chyby nebyl ve výchozím nastavení Žádný.
Maximální doba v minutách, po kterou může každá iterace běžet, než se ukončí. Pokud není zadaný, použije se hodnota 1 měsíc nebo 43200 minut, výchozí hodnota je Žádná.
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
set_training
Metoda konfigurace nastavení souvisejícího s trénováním prognózy.
set_training(*, enable_onnx_compatible_models: bool | None = None, enable_dnn_training: bool | None = None, enable_model_explainability: bool | None = None, enable_stack_ensemble: bool | None = None, enable_vote_ensemble: bool | None = None, stack_ensemble_settings: StackEnsembleSettings | None = None, ensemble_model_download_timeout: int | None = None, allowed_training_algorithms: List[str] | None = None, blocked_training_algorithms: List[str] | None = None, training_mode: str | TrainingMode | None = None) -> None
Parametry
- enable_onnx_compatible_models
Jestli chcete povolit nebo zakázat vynucování modelů kompatibilních s ONNX. Výchozí hodnota je Nepravda. Další informace o službě Open Neural Network Exchange (ONNX) a službě Azure Machine Learning najdete v tomto článku.
Jestli se mají při výběru modelu zahrnout modely založené na DNN. Výchozí hodnota je však true pro úlohy NLP DNN a pro všechny ostatní úlohy Automatizovaného strojového učení je false.
- enable_model_explainability
Jestli chcete povolit vysvětlení nejlepšího modelu Automatizovaného strojového učení na konci všech iterací trénování automatizovaného strojového učení. Další informace najdete v tématu Interpretovatelnost: vysvětlení modelů v automatizovaném strojovém učení. , výchozí hodnota je Žádná
- enable_stack_ensemble
Jestli chcete povolit nebo zakázat iteraci StackEnsemble. Pokud se nastavuje příznak enable_onnx_compatible_models , iterace StackEnsemble se zakáže. Podobně u úkolů Timeseries bude iterace StackEnsemble ve výchozím nastavení zakázaná, aby se zabránilo riziku přeurčení kvůli malé trénovací sadě používané k přizpůsobení metaučávače. Další informace o souborech najdete v tématu Konfigurace souboru , výchozí hodnota je Žádná.
- enable_vote_ensemble
Jestli chcete povolit nebo zakázat iteraci VotingEnsemble. Další informace o souborech najdete v tématu Konfigurace souboru , výchozí hodnota je Žádná.
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
Nastavení pro iteraci StackEnsemble, výchozí hodnota je None
Během generování modelu VotingEnsemble a StackEnsemble se stáhne více fitovaných modelů z předchozích podřízených spuštění. Nakonfigurujte tento parametr s vyšší hodnotou než 300 sekund. Pokud je potřeba více času, výchozí hodnota není žádná.
Seznam názvů modelů pro vyhledání experimentu Pokud není zadaný, použijí se všechny modely podporované pro danou úlohu a použijí se všechny zadané v blocked_training_algorithms
modelech TensorFlow nebo zastaralé modely TensorFlow, výchozí hodnota je None (Žádný).
Seznam algoritmů, které se při experimentu mají ignorovat, výchozí hodnota je None (Žádný)
- training_mode
[Experimentální] Režim trénování, který se má použít. Možné hodnoty jsou-
distributed – umožňuje distribuované trénování pro podporované algoritmy.
non_distributed – zakáže distribuované trénování.
auto – v současné době je stejná jako non_distributed. V budoucnu se to může změnit.
Poznámka: Tento parametr je ve verzi Public Preview a v budoucnu se může změnit.
Výjimky
Vyvolána, pokud je dest cesta k souboru a soubor již existuje.
Vyvolá se, pokud je soubor dest otevřený a soubor nelze zapisovat.
Atributy
base_path
creation_context
Kontext vytvoření prostředku.
Návraty
Metadata vytvoření prostředku.
Návratový typ
featurization
Získejte nastavení tabulkové extrakce příznaků pro úlohu AutoML.
Návraty
Nastavení funkce tabulkové funkce pro úlohu AutoML
Návratový typ
forecasting_settings
id
ID prostředku.
Návraty
Globální ID prostředku, ID Azure Resource Manager (ARM).
Návratový typ
inputs
limits
Získejte tabulkové limity pro úlohu AutoML.
Návraty
Tabulkové limity pro úlohu AutoML
Návratový typ
log_files
Výstupní soubory úlohy.
Návraty
Slovník názvů protokolů a adres URL.
Návratový typ
log_verbosity
Získejte úroveň podrobností protokolu pro úlohu Automatizovaného strojového učení.
Návraty
úroveň podrobností protokolu pro úlohu Automatizovaného strojového učení
Návratový typ
outputs
primary_metric
Vrátí primární metriku, která se má použít pro výběr modelu.
Návraty
Primární metrika pro výběr modelu.
Návratový typ
status
Stav úlohy.
Mezi běžné vrácené hodnoty patří Spuštěno, Dokončeno a Neúspěšné. Všechny možné hodnoty jsou:
NotStarted – jedná se o dočasný stav, ve který se objekty Run na straně klienta nacházejí před odesláním do cloudu.
Spuštění – Spuštění se začalo zpracovávat v cloudu. Volající má v tuto chvíli ID spuštění.
Zřizování – pro odeslání úlohy se vytváří výpočetní prostředky na vyžádání.
Příprava – Prostředí spuštění se připravuje a je v jedné ze dvou fází:
Sestavení image Dockeru
Nastavení prostředí conda
Zařazeno do fronty – Úloha je zařazená do fronty v cílovém výpočetním objektu. Například ve službě BatchAI je úloha ve frontě.
při čekání na připravenost všech požadovaných uzlů.
Spuštěno – Úloha se začala spouštět na cílovém výpočetním objektu.
Finalizace – Spuštění uživatelského kódu bylo dokončeno a spuštění je ve fázích následného zpracování.
CancelRequested – pro úlohu bylo požádáno o zrušení.
Dokončeno – Spuštění bylo úspěšně dokončeno. To zahrnuje spuštění uživatelského kódu i spuštění.
fáze následného zpracování.
Neúspěšné – spuštění se nezdařilo. Vlastnost Error při spuštění obvykle obsahuje podrobné informace o tom, proč tomu tak je.
Zrušeno – následuje žádost o zrušení a indikuje, že spuštění se teď úspěšně zrušilo.
Nereaguje – U spuštění s povolenými prezenčními signály se v nedávné době neodeslal žádný prezenční signál.
Návraty
Stav úlohy.
Návratový typ
studio_url
Koncový bod studia Azure ML.
Návraty
Adresa URL stránky s podrobnostmi úlohy
Návratový typ
task_type
Získejte typ úkolu.
Návraty
Typ úlohy, která se má spustit. Mezi možné hodnoty patří: "classification", "regression", "forecasting" (prognózování).
Návratový typ
test_data
training
Vrátí nastavení trénování prognózy.
Návraty
nastavení školení.
Návratový typ
training_data
type
validation_data
Azure SDK for Python