ForecastingJob 類別

AutoML 預測工作的設定。

初始化新的 AutoML 預測工作。

繼承
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabular
ForecastingJob

建構函式

ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)

參數

primary_metric
Optional[str]
必要

用於模型選取的主要計量。

forecasting_settings
Optional[ForecastingSettings]
必要

預測工作的設定。

kwargs
Dict[str, Any]
必要

作業特定引數

方法

dump

以 YAML 格式將作業內容傾印到檔案中。

set_data

定義資料組態。

set_featurization

定義特徵工程組態。

set_forecast_settings

管理預測工作所使用的參數。

set_limits

設定作業的限制。

set_training

設定預測訓練相關設定的方法。

dump

以 YAML 格式將作業內容傾印到檔案中。

dump(dest: str | PathLike | IO, **kwargs) -> None

參數

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
必要

要寫入 YAML 內容的本機路徑或檔案資料流程。 如果 dest 是檔案路徑,則會建立新的檔案。 如果 dest 是開啟的檔案,則會直接寫入檔案。

kwargs
dict

要傳遞至 YAML 序列化程式的其他引數。

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

set_data

定義資料組態。

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

參數

training_data
Input

定型資料。

target_column_name
str

目標資料行的資料行名稱。

weight_column_name
Optional[str]

加權資料行名稱,預設值為 None

validation_data
Optional[Input]

驗證資料,預設值為 None

validation_data_size
Optional[float]

驗證資料大小,預設值為 None

n_cross_validations
Optional[Union[str, int]]

n_cross_validations,預設值為 None

cv_split_column_names
Optional[List[str]]

cv_split_column_names,預設值為 None

test_data
Optional[Input]

測試資料,預設值為 None

test_data_size
Optional[float]

測試資料大小,預設值為 None

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

set_featurization

定義特徵工程組態。

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

參數

blocked_transformers
Optional[List[Union[BlockedTransformers, str]]]

特徵化期間要封鎖的轉換器名稱清單,預設為 None

column_name_and_types
Optional[Dict[str, str]]

用來更新資料行用途的資料行名稱和功能類型的字典,預設值為 None

dataset_language
Optional[str]

資料集中所含語言 () 的三個字元 ISO 639-3 代碼。 只有在您使用已啟用 GPU 的計算時,才支援英文以外的語言。 如果資料集包含多種語言,則應使用language_code 'mul'。 若要尋找不同語言的 ISO 639-3 代碼,請參閱 https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes ,預設值為 None

transformer_params
Optional[Dict[str, List[ColumnTransformer]]]

轉換器和對應自訂參數的字典,預設為 None

mode
Optional[str]

「off」、「auto」 預設為 「auto」、預設值為 None

enable_dnn_featurization
Optional[bool]

是否要包含 DNN 型特徵工程方法,預設值為 None

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

set_forecast_settings

管理預測工作所使用的參數。

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

參數

time_column_name
Optional[str]

時間資料行的名稱。 當預測指定用於建置時間序列和推斷其頻率之輸入資料中的 datetime 資料行時,需要此參數。

forecast_horizon

時間序列頻率單位所需的最大預測層級。 預設值為 1。

單位是以定型資料的時間間隔為基礎,例如,預測器應該預測的每月、每週。當工作類型為預測時,需要此參數。 如需設定預測參數的詳細資訊,請參閱 自動定型時間序列預測模型

time_series_id_column_names
Optional[Union[str, List[str]]]

用來分組時間序列的資料行名稱。 它可以用來建立多個數列。 如果未定義時間序列識別碼資料行名稱,或指定的識別碼資料行不會識別資料集中的所有數列,則會自動為您的資料集建立時間序列識別碼。

target_lags

要從目標資料行延遲的過去期間數。 根據預設,會關閉延遲。

預測時,此參數代表根據資料的頻率來延隔目標值的資料列數目。 這會以清單或單一整數表示。 當獨立變數與相依變數之間的關聯性與預設不相符或相互關聯時,應該使用延隔時間。 例如,當嘗試預測產品的需求時,任何月份中需求可能取決於之前 3 個月的特定商品價格。 在此範例中,建議讓目標 (需求) 延隔 3 個月,以供模型以正確的關聯性來定型。 如需詳細資訊,請參閱 自動定型時間序列預測模型

請注意,自動偵測目標延遲和滾動視窗大小。 請參閱滾動視窗一節中的對應批註。 我們會使用下一個演算法來偵測最佳的目標延遲和滾動視窗大小。

  1. 估計回溯功能選取範圍的最大延遲順序。 在我們的案例中,這是直到下一個日期頻率資料細微性為止的期間數,也就是如果 frequency 是每日,則會是一周 (7) ,如果是一周,則會是一個月 (4) 。 該值乘以兩個值是延隔時間/滾動視窗的最大可能值。 在我們的範例中,我們將分別考慮 14 和 8 的最大延遲順序) 。

  2. 藉由新增趨勢和剩餘元件,建立取消季節性數列。 這會在下一個步驟中使用。

  3. 估計 (2) 資料上的 PACF - 部分自動相互關聯函式,並搜尋點,其中自動相互關聯相當重要,亦即其絕對值為 1.96/square_root (最大延隔值) ,其對應至 95% 的顯著性。

  4. 如果所有點都很重要,我們會將其視為強式季節性,而不會建立回溯功能。

  5. 我們會從頭掃描 PAC光圈值,並在第一個不重要的自動相互關聯之前,指定延遲。 如果第一個顯著元素 (值與本身相互關聯) 後面接著不重要,則延隔時間會是 0,我們不會使用回溯功能。

feature_lags
Optional[str]

旗標,用於產生具有 'auto' 或 None 之數值特徵的延遲。

target_rolling_window_size
Optional[Union[str, int]]

過去期間數,用來建立目標資料行的滾動視窗平均值。

預測時,此參數代表用來產生預測值的 n 個歷程記錄週期, < = 定型集大小。 如果省略,則 n 就是完整的定型集大小。 若在將模型定型時只想考慮特定數量的歷程記錄,則請指定此參數。 如果設定為 'auto',則滾動視窗會估計為 PACF 愈多的最後一個值,然後是重要性臨界值。 如需詳細資訊,請參閱target_lags一節。

country_or_region_for_holidays
Optional[str]

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 兩個字母的國家/地區代碼,例如 'US' 或 'GB'。

use_stl

設定時間序列目標資料行的 STL 分解。 use_stl可以接受三個值:無 (預設) - 沒有 stl 分解,'season' - 只會產生季元件和season_trend - 同時產生季和趨勢元件。

seasonality
Optional[Union[int, str]

將時間序列季節性設定為數列頻率的整數倍數。 如果季節性設定為 'auto',則會推斷它。 如果設定為 None,則會假設時間序列不是季節性,相當於季節性=1。

short_series_handling_config

參數,定義 AutoML 是否應該處理簡短的時間序列。

可能的值:'auto' (預設) 、'pad'、'drop' 和 None。

  • 如果沒有長數列,自動簡短數列將會填補。

否則將會卸載簡短數列。

  • 填補所有簡短數列。
  • 除所有簡短數列。」
  • 不會 修改簡短數列。

如果設定為 'pad',資料表將會以零和空值填補回歸輸入項,而目標隨機值平均等於指定時間序列識別碼的目標值中位數。如果中位數大於或等於零,則最小填補值會以零裁剪:輸入:

日期

numeric_value

string

目標

2020-01-01

23

綠色

55

假設值數目最少的輸出為四個:

日期

numeric_value

string

目標

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

綠色

55

注意: 我們有兩個參數short_series_handling_configuration和舊版short_series_handling。 設定這兩個參數時,我們會將其同步處理,如下表所示 (short_series_handling_configuration 和short_series_handling的簡潔性會分別標示為handling_configuration和處理) 。

處理

handlingconfiguration

resultinghandling

resultinghandlingconfiguration

True

自動

True

自動

True

自動

drop

True

自動

False

False

自動

False

False

False

False

drop

False

False

False

frequency

預測頻率。

預測時,此參數代表需要預測的期間,例如每日、每週、每年等等。預測頻率預設為資料集頻率。 您可以選擇性地將它設定為大於 (,但不能比資料集頻率少) 。 我們將匯總資料,並以預測頻率產生結果。 例如,針對每日資料,您可以將頻率設定為每日、每週或每月,而不是每小時。 頻率必須是 pandas 位移別名。 如需詳細資訊,請參閱 pandas 檔: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects

target_aggregate_function

用來匯總時間序列目標資料行以符合使用者指定頻率的函式。 如果已設定target_aggregation_function,但未設定 freq 參數,則會引發錯誤。 可能的目標彙總函式包括:「sum」、「max」、「min」 和 「mean」。

  • 目標資料行值會根據指定的作業進行匯總。 一般而言,總和適用于大部分案例。

  • 資料中的數值預測值資料行會依總和、平均值、最小值和最大值來匯總。 因此,自動化 ML 會產生以彙總函式名稱尾碼的新資料行,並套用選取的匯總作業。

  • 對於類別預測子資料行,資料會依模式匯總,這是視窗中最明顯的類別。

  • 日期預測值資料行會以最小值、最大值和模式匯總。

頻率

target_aggregation_function

資料正規化機制

無 (預設值)

無 (預設值)

未套用匯總。如果 validfrequency 無法讓錯誤引發。

某些值

無 (預設值)

未套用匯總。如果 numberof 資料點與given frequencygrid 不相等,則會移除 90%這些點,否則會引發錯誤。

無 (預設值)

彙總函數

關於missingfrequencyparameter israised 的錯誤。

某些值

彙總函數

使用providedaggregationfunction 匯總 tofrequency。

cv_step_size
Optional[int]

一個 CV 折迭的origin_time與下一個折迭之間的期間數。 例如,如果 每日資料n_step = 3,則每個折迭的原點時間會相隔三天。

features_unknown_at_forecast_time
Optional[Union[str, List[str]]]

可在預測/推斷時用於定型但未知的功能資料行。 如果features_unknown_at_forecast_time設定為空清單,則會假設資料集中的所有特徵資料行在推斷時間都是已知的。 如果未設定此參數,則不會啟用未來功能的支援。

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

set_limits

設定作業的限制。

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

參數

enable_early_termination
Optional[bool]

如果分數未在短期內改善,是否要啟用提早終止,預設值為 None。

早期停止邏輯:

  • 前 20 個反復專案 (地標) 沒有提早停止。

  • 早期停止視窗會在第 21 個反復專案上啟動,並尋找early_stopping_n_iters反復專案

    (目前設定為 10) 。 這表示可以執行停止的第一個反復專案是第 31 個。

  • AutoML 仍會排程 2 個反復專案 AFTER 早期停止,這可能會導致較高的分數。

  • 如果計算的最佳分數絕對值在過去相同,就會觸發提早停止

    early_stopping_n_iters反復專案,也就是說,如果early_stopping_n_iters反復專案的分數沒有改善。

exit_score
Optional[float]

實驗的目標分數。 達到此分數之後,實驗就會終止。 如果未指定 (沒有準則) ,則實驗會執行,直到主要計量沒有進一步的進度為止。 如需結束準則的詳細資訊,請參閱 這篇文章 ,預設值為 None

max_concurrent_trials
Optional[int]

這是平行執行的反復專案數目上限。 預設值為 1。

  • AmlCompute 叢集支援每個節點執行一次反復專案。

對於在單一 AmlCompute 叢集上平行執行的多個 AutoML 實驗父系執行,所有實驗的值總 max_concurrent_trials 和應該小於或等於節點數目上限。 否則,執行會排入佇列,直到節點可供使用為止。

  • DSVM 支援每個節點的多次反復專案。 max_concurrent_trials 應該

小於或等於 DSVM 上的核心數目。 對於在單一 DSVM 上平行執行的多個實驗,所有實驗的值總和 max_concurrent_trials 應該小於或等於節點數目上限。

  • Databricks - max_concurrent_trials 應小於或等於數目

Databricks 上的背景工作節點。

max_concurrent_trials 不適用於本機執行。 先前,此參數的名稱為 concurrent_iterations

max_cores_per_trial
Optional[int]

要用於指定定型反覆運算的執行緒數目上限。 可接受的值:

  • 大於 1 且小於或等於計算目標上的核心數目上限。

  • 等於 -1,這表示在每個子執行每次反覆運算時使用所有可能的核心。

  • 等於 1,預設值。

max_nodes
Optional[int]

[實驗性]用於分散式定型的節點數目上限。

  • 針對預測,每個模型都會使用 max (2 來定型,int (max_nodes / max_concurrent_trials) ) 節點。

  • 針對分類/回歸,每個模型都會使用max_nodes節點來定型。

注意- 此參數處於公開預覽狀態,未來可能會變更。

max_trials
Optional[int]

自動化 ML 實驗期間要測試的不同演算法和參數組合總數。 如果未指定,預設值為 1000 次反覆運算。

timeout_minutes
Optional[int]

在實驗終止之前,所有反覆運算合在一起所花費的時間量上限 (以分鐘為單位)。 如果未指定,則預設實驗逾時為 6 天。 若要指定小於或等於 1 小時的逾時,請確定資料集的大小不大於 10,000,000 個 (資料列時間資料行) 或錯誤結果,預設值為 None

trial_timeout_minutes
Optional[int]

每個反復專案可以在終止之前執行的最大時間。 如果未指定,則會使用 1 個月或 43200 分鐘的值,預設值為 None

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

set_training

設定預測訓練相關設定的方法。

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

參數

enable_onnx_compatible_models

是否要啟用或停用強制使用 ONNX 相容模型。 預設值是 False。 如需 Open Neural Network Exchange (ONNX) 和 Azure Machine Learning 的詳細資訊,請參閱 這篇文章

enable_dnn_training
Optional[bool]

是否要在模型選取期間包含 DNN 型模型。 不過,DNN NLP 工作的預設值為 True,所有其他 AutoML 工作則為 False。

enable_model_explainability

是否要在所有 AutoML 定型反復專案結束時啟用說明最佳 AutoML 模型。 如需詳細資訊,請參閱 可解譯性:自動化機器學習中的模型說明。 ,預設為 None

enable_stack_ensemble

是否要啟用/停用 StackEnsemble 反復專案。 如果 已設定enable_onnx_compatible_models 旗標,則會停用 StackEnsemble 反復專案。 同樣地,對於 Timeseries 工作,StackEnsemble 反復專案預設會停用,以避免因為用於調整中繼學習工具的小型定型集而造成過度學習的風險。 如需 ensembles 的詳細資訊,請參閱 Ensemble 組態 ,預設值為 None

enable_vote_ensemble

是否要啟用/停用 VotingEnsemble 反復專案。 如需 ensembles 的詳細資訊,請參閱 Ensemble 組態 ,預設值為 None

stack_ensemble_settings
Optional[StackEnsembleSettings]

StackEnsemble 反復專案的設定,預設為 None

ensemble_model_download_timeout
Optional[int]

在 VotingEnsemble 和 StackEnsemble 模型產生期間,會下載來自先前子回合的多個適合模型。 若需要更多時間,請以高於 300 秒的值設定此參數,預設值為 None

allowed_training_algorithms
Optional[List[str]]

要搜尋實驗的模型名稱清單。 如果未指定,則會使用工作支援的所有模型減去或已被取代的 TensorFlow 模型中的任何指定 blocked_training_algorithms ,預設值為 None

blocked_training_algorithms
Optional[List[str]]

實驗要忽略的演算法清單,預設為 [無]

training_mode

[實驗性]要使用的定型模式。 可能的值如下:

  • distributed- 可針對支援的演算法啟用分散式定型。

  • non_distributed- 會停用分散式定型。

  • auto- 目前與non_distributed相同。 未來可能會變更。

注意:此參數處於公開預覽狀態,未來可能會變更。

例外狀況

如果 dest 是檔案路徑且檔案已經存在,則引發。

如果 dest 是開啟的檔案,而且無法寫入檔案,則引發。

屬性

base_path

資源的基底路徑。

傳回

資源的基底路徑。

傳回類型

str

creation_context

資源的建立內容。

傳回

資源的建立中繼資料。

傳回類型

featurization

取得 AutoML 作業的表格式特徵化設定。

傳回

AutoML 作業的表格式特徵化設定

傳回類型

forecasting_settings

傳回預測設定。

傳回

預測設定。

傳回類型

id

資源識別碼。

傳回

資源的全域識別碼,Azure Resource Manager (ARM) 識別碼。

傳回類型

inputs

limits

取得 AutoML 作業的表格式限制。

傳回

AutoML 作業的表格式限制

傳回類型

log_files

作業輸出檔案。

傳回

記錄名稱和 URL 的字典。

傳回類型

log_verbosity

取得 AutoML 作業的記錄詳細資訊。

傳回

AutoML 作業的記錄詳細資訊

傳回類型

<xref:LogVerbosity>

outputs

primary_metric

傳回用於模型選取的主要計量。

傳回

模型選取的主要計量。

傳回類型

status

工作的狀態。

傳回的常見值包括 「Running」、「Completed」 和 「Failed」。 所有可能的值為:

  • NotStarted - 這是用戶端 Run 物件在雲端提交之前所在的暫時狀態。

  • 啟動 - 執行已在雲端中開始處理。 呼叫端此時有執行識別碼。

  • 布建 - 針對指定的作業提交建立隨選計算。

  • 準備 - 正在準備執行環境,且處於兩個階段之一:

    • Docker 映射組建

    • conda 環境設定

  • 已排入佇列 - 作業會排入計算目標上的佇列。 例如,在 BatchAI 中,作業處於佇列狀態

    等候所有要求的節點準備就緒時。

  • 執行 - 作業已開始在計算目標上執行。

  • 完成 - 使用者程式碼執行已完成,且執行處於後續處理階段。

  • CancelRequested - 已要求取消作業。

  • 已完成 - 執行已順利完成。 這包括使用者程式碼執行和執行

    後續處理階段。

  • 失敗 - 執行失敗。 執行上的 Error 屬性通常會提供原因的詳細資料。

  • 已取消 - 遵循取消要求,並指出現在已成功取消執行。

  • NotResponding - 針對已啟用活動訊號的執行,最近不會傳送活動訊號。

傳回

作業的狀態。

傳回類型

studio_url

Azure ML Studio 端點。

傳回

作業詳細資料頁面的 URL。

傳回類型

task_type

取得工作類型。

傳回

要執行的工作類型。 可能的值包括:「classification」、「regression」、「forecasting」。

傳回類型

str

test_data

取得測試資料。

傳回

測試資料輸入

傳回類型

training

傳回預測訓練設定。

傳回

訓練設定。

傳回類型

<xref:azure.ai.ml.automl.ForecastingTrainingSettings>

training_data

取得定型資料。

傳回

定型資料輸入

傳回類型

type

作業的類型。

傳回

作業的類型。

傳回類型

validation_data

取得驗證資料。

傳回

驗證資料輸入

傳回類型