ForecastingJob Klass
Konfiguration för AutoML-prognostiseringsaktivitet.
Initiera en ny AutoML-prognostiseringsaktivitet.
- Arv
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
Konstruktor
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
Parametrar
- forecasting_settings
- Optional[ForecastingSettings]
Inställningarna för prognostiseringsaktiviteten.
Metoder
dump |
Dumpar jobbinnehållet till en fil i YAML-format. |
set_data |
Definiera datakonfiguration. |
set_featurization |
Definiera funktionsframställningskonfiguration. |
set_forecast_settings |
Hantera parametrar som används av prognostiseringsuppgifter. |
set_limits |
Ange begränsningar för jobbet. |
set_training |
Metoden för att konfigurera träningsrelaterade inställningar för prognoser. |
dump
Dumpar jobbinnehållet till en fil i YAML-format.
dump(dest: str | PathLike | IO, **kwargs) -> None
Parametrar
Den lokala sökvägen eller filströmmen som YAML-innehållet ska skrivas till. Om dest är en filsökväg skapas en ny fil. Om dest är en öppen fil skrivs filen till direkt.
- kwargs
- dict
Ytterligare argument som ska skickas till YAML-serialiseraren.
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
set_data
Definiera datakonfiguration.
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
Parametrar
- training_data
- Input
Träningsdata.
- target_column_name
- str
Kolumnnamn för målkolumnen.
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
set_featurization
Definiera funktionsframställningskonfiguration.
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
Parametrar
- blocked_transformers
- Optional[List[Union[BlockedTransformers, str]]]
En lista över transformatornamn som ska blockeras under funktionalisering, standardvärdet Ingen
En ordlista med kolumnnamn och funktionstyper som används för att uppdatera kolumnsyftet , standardvärdet Ingen
Tre tecken ISO 639-3-kod för de språk som finns i datauppsättningen. Andra språk än engelska stöds bara om du använder GPU-aktiverad beräkning. Language_code "mul" ska användas om datauppsättningen innehåller flera språk. Information om hur du hittar ISO 639-3-koder för olika språk finns i https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes, standardvärden för Ingen
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
En ordlista med transformerare och motsvarande anpassningsparametrar , standardvärdet Ingen
Om du vill inkludera DNN-baserade metoder för funktionsframställning, är standardinställningen Ingen
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
set_forecast_settings
Hantera parametrar som används av prognostiseringsuppgifter.
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
Parametrar
Namnet på tidskolumnen. Den här parametern krävs vid prognostisering för att ange kolumnen datetime i indata som används för att skapa tidsserier och härleda dess frekvens.
- forecast_horizon
Önskad maximal prognoshorisont i tidsseriefrekvensenheter. Standardvärdet är 1.
Enheterna baseras på tidsintervallet för dina träningsdata, t.ex. varje månad, varje vecka som prognosmakaren bör förutsäga. När aktivitetstypen prognostiseras krävs den här parametern. Mer information om hur du ställer in prognosparametrar finns i Auto-train a time-series forecast model (Träna en prognosmodell för tidsserier automatiskt).
Namnen på kolumner som används för att gruppera en tidsserie. Den kan användas för att skapa flera serier. Om kolumnnamnen för tidsserie-ID inte har definierats eller om de angivna identifierarkolumnerna inte identifierar alla serier i datauppsättningen skapas tidsserieidentifierarna automatiskt för datauppsättningen.
- target_lags
Antalet tidigare perioder som ska släpas från målkolumnen. Som standard är fördröjningarna inaktiverade.
Vid prognostisering representerar den här parametern antalet rader som ska fördröja målvärdena baserat på datafrekvensen. Detta representeras som en lista eller ett heltal. Fördröjning bör användas när relationen mellan de oberoende variablerna och den beroende variabeln inte matchar eller korrelerar som standard. När du till exempel försöker prognostisera efterfrågan på en produkt kan efterfrågan under en månad bero på priset på specifika råvaror 3 månader tidigare. I det här exemplet kanske du vill fördröja målet (efterfrågan) negativt med 3 månader så att modellen tränar på rätt relation. Mer information finns i Auto-train a time-series forecast model (Träna en tidsserieprognosmodell automatiskt).
Observera automatisk identifiering av målfördröjningar och rullande fönsterstorlek. Se motsvarande kommentarer i avsnittet rullande fönster. Vi använder nästa algoritm för att identifiera optimal målfördröjning och rullande fönsterstorlek.
Beräkna den maximala fördröjningsordningen för funktionsvalet för tillbakablick. I vårt fall är det antalet perioder fram till nästa datumfrekvenskornighet, dvs. om frekvensen är dagligen blir det en vecka (7), om det är en vecka blir det månad (4). Dessa värden multipliceras med två är de största möjliga värdena för fördröjningar/rullande fönster. I våra exempel kommer vi att överväga den maximala fördröjningsordningen på 14 respektive 8).
Skapa en de-seasonalized serie genom att lägga till trend- och residualkomponenter. Detta kommer att användas i nästa steg.
Beräkna PACF – partiell auto korrelationsfunktion på på data från (2) och sök efter punkter, där den automatiska korrelationen är betydande, dvs. dess absoluta värde är mer än 1,96/square_root(maximal fördröjningsvärde), vilket motsvarar signifikansen på 95 %.
Om alla punkter är viktiga anser vi att det är stark säsongsvariation och skapar inte tillbakablicksfunktioner.
Vi genomsöker PACF-värdena från början och värdet innan den första obetydliga automatiska korrelationen anger fördröjningen. Om det första signifikanta elementet (värdet korrelerar med sig självt) följs av obetydligt blir fördröjningen 0 och vi kommer inte att använda tillbakablicksfunktioner.
Flagga för att generera fördröjningar för de numeriska funktionerna med "auto" eller None.
Antalet tidigare perioder som används 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ättningens storlek. 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. Om värdet är "auto" beräknas rullande fönster som det sista värdet där PACF är mer än signifikanströskeln. Mer information finns i avsnittet target_lags.
Det land/den region som används för att generera semesterfunktioner. Dessa bör vara ISO 3166 tvåbokstavs lands-/regionkoder, till exempel "USA" eller "GB".
- use_stl
Konfigurera STL-nedbrytning av tidsseriemålkolumnen. use_stl kan ta tre värden: Ingen (standard) – ingen stl-nedbrytning, "säsong" – genererar bara säsongskomponent och season_trend – genererar både säsongs- och trendkomponenter.
Ange säsongsvariationer för tidsserier som en heltalsmultipel för seriefrekvensen. Om säsongsvariationen är inställd på "auto" kommer den att härledas. Om värdet är Ingen antas tidsserien vara icke-säsongsbunden, vilket motsvarar säsongsvariation =1.
- short_series_handling_config
Parametern som definierar hur AutoML ska hantera korta tidsserier.
Möjliga värden: "auto" (standard), "pad", "drop" och None.
- automatisk kortserie kommer att vara vadderad om det inte finns några långa serier,
annars kommer korta serier att tas bort.
- pad alla korta serien kommer att vara vadderade.
- släpp alla korta serier kommer att tas bort".
- Ingen av de korta serierna kommer inte att ändras.
Om den är inställd på "pad" kommer tabellen att fyllas med nollorna och tomma värden för regressorerna och slumpmässiga värden för målet med medelvärdet lika med målvärdets median för angivet tidsserie-ID. Om medianvärdet är mer eller lika med noll klipps det minimala vadderade värdet av noll: Indata:
Datum
numeric_value
sträng
Mål
2020-01-01
23
green
55
Utdata förutsatt att det minsta antalet värden är fyra:
Datum
numeric_value
sträng
Mål
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
Observera: Vi har två parametrar short_series_handling_configuration och äldre short_series_handling. När båda parametrarna anges synkroniseras de enligt tabellen nedan (short_series_handling_configuration och short_series_handling för korthet markeras som handling_configuration respektive hantering).
Hantering
hanteringskonfiguration
resulterande hantering
resultinghandlingconfiguration
Sant
auto
Sant
auto
Sant
Pad
Sant
auto
Sant
drop
Sant
auto
Sant
Ingen
Falskt
Ingen
Falskt
auto
Falskt
Ingen
Falskt
Pad
Falskt
Ingen
Falskt
drop
Falskt
Ingen
Falskt
Ingen
Falskt
Ingen
- frequency
Prognosfrekvens.
Vid prognostisering representerar den här parametern den period med vilken prognosen önskas, till exempel dagligen, varje vecka, varje år osv. Prognosfrekvensen är datamängdsfrekvens som standard. Du kan också ställa in den på större (men inte mindre) än datauppsättningsfrekvensen. Vi aggregerar data och genererar resultaten med prognostiseringsfrekvens. För dagliga data kan du till exempel ange att frekvensen ska vara dagligen, varje vecka eller varje månad, men inte varje timme. Frekvensen måste vara ett Pandas-förskjutningsalias. Mer information finns i Pandas-dokumentationen: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
- target_aggregate_function
Funktionen som ska användas för att aggregera målkolumnen för tidsserier så att den överensstämmer med en användardefinieringsfrekvens. Om target_aggregation_function har angetts, men freq-parametern inte har angetts, utlöses felet. Möjliga målaggregeringsfunktioner är: "sum", "max", "min" och "mean".
Målkolumnvärdena aggregeras baserat på den angivna åtgärden. Vanligtvis är summan lämplig för de flesta scenarier.
Numeriska förutsägelsekolumner i dina data aggregeras med summa, medelvärde, minimivärde och högsta värde. Därför genererar automatiserad ML nya kolumner suffix med namnet på sammansättningsfunktionen och tillämpar den valda mängdåtgärden.
För kategoriska förutsägelsekolumner aggregeras data efter läge, den mest framträdande kategorin i fönstret.
Kolumner för datum förutsägare aggregeras efter minsta värde, högsta värde och läge.
Freq
target_aggregation_function
Mekanism för data regularityfixing
Ingen (standard)
Ingen (standard)
Aggregeringen tillämpas inte. Om validfrequency inte kandetermineras kommer felet att utlöses.
Värde
Ingen (standard)
Aggregeringen tillämpas inte. Om antalet datapunkterkompatibelt tillgiven frequencygrid ärlöst kommer 90 %dessa punkter att flyttas,annars utlöses felet.
Ingen (standard)
Sammansättningsfunktion
Felet aboutmissingfrequencyparameter israised.
Värde
Sammansättningsfunktion
Aggregera frekvent användning avprovidedaggregationfunction.
Antal perioder mellan origin_time av en CV-vikning och nästa vikt. Om till exempel n_step = 3 för dagliga data är ursprungstiden för varje vikning tre dagars mellanrum.
De funktionskolumner som är tillgängliga för träning men okända vid tidpunkten för prognos/slutsatsdragning. Om features_unknown_at_forecast_time är inställt på en tom lista antas det att alla funktionskolumner i datauppsättningen är kända vid slutsatsdragningen. Om den här parametern inte har angetts är stödet för framtida funktioner inte aktiverat.
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
set_limits
Ange begränsningar för jobbet.
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
Parametrar
Om du vill aktivera tidig avslutning om poängen inte förbättras på kort sikt, är standardvärdet Ingen.
Tidig stopplogik:
Inget tidigt stopp för de första 20 iterationerna (landmärken).
Tidigt stoppfönster startar den 21:a iterationen och söker efter early_stopping_n_iters iterationer
(anges för närvarande till 10). Det innebär att den första iterationen där stopp kan ske är den 31:a.
AutoML schemalägger fortfarande 2 ensembleiterationer EFTER tidig stoppning, vilket kan resultera i högre poäng.
Tidig stoppning utlöses om det absoluta värdet för bästa poäng som beräknas är detsamma för tidigare
early_stopping_n_iters iterationer, d.v.s. om det inte finns någon förbättring i poäng för early_stopping_n_iters iterationer.
Målpoäng för experiment. Experimentet avslutas när den här poängen har uppnåtts. Om det inte anges (inga kriterier) körs experimentet tills inga ytterligare framsteg görs för det primära måttet. Mer information om avslutsvillkor finns i den här artikeln , standardvärdet är Ingen
Det här är det maximala antalet iterationer som skulle köras parallellt. Standardvärdet är 1.
- AmlCompute-kluster stöder en iteration som körs per nod.
För flera överordnade AutoML-experimentkörningar som körs parallellt på ett enda AmlCompute-kluster ska summan av max_concurrent_trials
värdena för alla experiment vara mindre än eller lika med det maximala antalet noder. Annars placeras körningar i kö tills noder är tillgängliga.
- DSVM stöder flera iterationer per nod.
max_concurrent_trials
Bör
vara mindre än eller lika med antalet kärnor i DSVM. För flera experiment som körs parallellt på en enda DSVM ska summan av max_concurrent_trials
värdena för alla experiment vara mindre än eller lika med det maximala antalet noder.
- Databricks –
max_concurrent_trials
ska vara mindre än eller lika med antalet
arbetsnoder på Databricks.
max_concurrent_trials
gäller inte för lokala körningar. Tidigare hette concurrent_iterations
den här parametern .
Det maximala antalet trådar som ska användas för en viss träningsiteration. Godkända värden:
Större än 1 och mindre än eller lika med det maximala antalet kärnor i beräkningsmålet.
Lika med -1, vilket innebär att använda alla möjliga kärnor per iteration per underordnad körning.
Lika med 1, standardvärdet.
[Experimentellt] Det maximala antalet noder som ska användas för distribuerad träning.
För prognostisering tränas varje modell med max(2, int(max_nodes/max_concurrent_trials)) noder.
För klassificering/regression tränas varje modell med max_nodes noder.
Obs! Den här parametern är i offentlig förhandsversion och kan komma att ändras i framtiden.
Det totala antalet olika kombinationer av algoritmer och parametrar som ska testas under ett automatiserat ML-experiment. Om inget anges är standardvärdet 1 000 iterationer.
Maximal tid i minuter som alla iterationer tillsammans kan ta innan experimentet avslutas. Om inget anges är standardtidsgränsen för experiment 6 dagar. Om du vill ange en tidsgräns som är mindre än eller lika med 1 timme kontrollerar du att datauppsättningens storlek inte är större än 10 000 000 (kolumnen radtider) eller ett felresultat, standardvärdet är Ingen
Maximal tid i minuter som varje iteration kan köras för innan den avslutas. Om det inte anges används ett värde på 1 månad eller 4 3200 minuter, som standard ingen
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
set_training
Metoden för att konfigurera träningsrelaterade inställningar för prognoser.
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
Parametrar
- enable_onnx_compatible_models
Om du vill aktivera eller inaktivera tvingande ONNX-kompatibla modeller. Standardvärdet är False. Mer information om Open Neural Network Exchange (ONNX) och Azure Machine Learning finns i den här artikeln.
Om DNN-baserade modeller ska inkluderas under modellval. Standardvärdet är dock Sant för DNN NLP-uppgifter och är Falskt för alla andra AutoML-uppgifter.
- enable_model_explainability
Om du vill aktivera förklaring av den bästa AutoML-modellen i slutet av alla AutoML-träningsiterationer. Mer information finns i Tolkningsbarhet: modellförklaringar i automatiserad maskininlärning. , standardvärdet är Ingen
- enable_stack_ensemble
Om stackEnsemble-iteration ska aktiveras/inaktiveras. Om enable_onnx_compatible_models flagga anges inaktiveras StackEnsemble-iteration. På samma sätt inaktiveras StackEnsemble-iteration som standard för Timeseries-uppgifter för att undvika risker för överanpassning på grund av små träningsuppsättningar som används för att passa metainläraren. Mer information om ensembler finns i Ensemblekonfiguration , standardvärden till Ingen
- enable_vote_ensemble
Om du vill aktivera/inaktivera VotingEnsemble-iteration. Mer information om ensembler finns i Ensemblekonfiguration , standardvärden till Ingen
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
Inställningar för StackEnsemble-iteration, standardinställningar för None
Under VotingEnsemble- och StackEnsemble-modellgenereringen laddas flera anpassade modeller från tidigare underordnade körningar ned. Konfigurera den här parametern med ett högre värde än 300 sekunder, om mer tid behövs, standardvärdet Ingen
En lista över modellnamn för att söka efter ett experiment. Om inte anges används alla modeller som stöds för uppgiften minus alla angivna i blocked_training_algorithms
eller inaktuella TensorFlow-modeller, standardvärdet Ingen
En lista över algoritmer som ska ignoreras för ett experiment, standardvärdet Ingen
- training_mode
[Experimentellt] Träningsläget som ska användas. Möjliga värden är-
distribuerad – möjliggör distribuerad träning för algoritmer som stöds.
non_distributed inaktiverar distribuerad träning.
auto - För närvarande är det samma som non_distributed. I framtiden kan detta ändras.
Obs! Den här parametern är i offentlig förhandsversion och kan komma att ändras i framtiden.
Undantag
Upphöjt om dest är en filsökväg och filen redan finns.
Upphöjt om dest är en öppen fil och filen inte kan skrivas.
Attribut
base_path
creation_context
featurization
Hämta inställningarna för tabellfunktionalisering för AutoML-jobbet.
Returer
Tabellkonfigurationsinställningar för AutoML-jobbet
Returtyp
forecasting_settings
id
Resurs-ID:t.
Returer
Resursens globala ID, ett ARM-ID (Azure Resource Manager).
Returtyp
inputs
limits
Hämta tabellgränserna för AutoML-jobbet.
Returer
Tabellgränser för AutoML-jobbet
Returtyp
log_files
log_verbosity
Hämta loggverositeten för AutoML-jobbet.
Returer
log verbosity för AutoML-jobbet
Returtyp
outputs
primary_metric
Returnera det primära mått som ska användas för modellval.
Returer
Det primära måttet för modellval.
Returtyp
status
Jobbets status.
Vanliga värden som returneras är "Running", "Completed" och "Failed". Alla möjliga värden är:
NotStarted – det här är ett tillfälligt tillstånd som körningsobjekt på klientsidan befinner sig i innan molnöverföringen.
Start – Körningen har börjat bearbetas i molnet. Anroparen har ett körnings-ID just nu.
Etablering – beräkning på begäran skapas för en viss jobböverföring.
Förbereder – Körningsmiljön förbereds och är i ett av två steg:
Docker-avbildningsversion
konfiguration av conda-miljö
I kö – Jobbet placeras i kö på beräkningsmålet. I BatchAI är jobbet till exempel i ett köat tillstånd
medan du väntar på att alla begärda noder ska vara klara.
Körs – Jobbet har börjat köras på beräkningsmålet.
Slutför – Körningen av användarkod har slutförts och körningen är i efterbearbetningssteg.
CancelRequested – Annullering har begärts för jobbet.
Slutförd – körningen har slutförts. Detta omfattar både körning och körning av användarkod
efterbearbetningssteg.
Misslyckades – körningen misslyckades. Vanligtvis innehåller egenskapen Error på en körning information om varför.
Avbryts – följer en begäran om annullering och anger att körningen nu har avbrutits.
Svarar inte – För körningar som har Pulsslag aktiverat har inga pulsslag nyligen skickats.
Returer
Status för jobbet.
Returtyp
studio_url
task_type
Hämta aktivitetstyp.
Returer
Den typ av uppgift som ska köras. Möjliga värden är: "classification", "regression", "forecasting".
Returtyp
test_data
training
Returnera inställningarna för prognosträning.
Returer
träningsinställningar.
Returtyp
training_data
type
validation_data
Azure SDK for Python