共用方式為


CLI (v2) 自動化 ML 預測命令作業 YAML 架構

適用於:Azure CLI ml 擴充功能 v2(目前)

您可以在 找到來源 JSON 架構 https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json

注意

本文件中詳述的 YAML 語法是以最新版 ML CLI v2 延伸模組的 JSON 結構描述為基礎。 此語法僅保證能與最新版的 ML CLI v2 延伸模組搭配運作。 您可以在 https://azuremlschemasprod.azureedge.net/ 找到舊版延伸模組的結構描述。

YAML 語法

機碼 類型 描述 允許的值 預設值
$schema 字串 要載入 YAML 架構的位置/URL。
如果使用者使用 Azure 機器學習 VS Code 擴充功能來撰寫 YAML 檔案,包括$schema檔案頂端可讓使用者叫用架構和資源完成。
compute 字串 必要
要對其執行作業的 AML 計算基礎結構名稱。
計算可以是工作區中現有計算計算機的參考
注意: 管線中的作業不支援 'local' 作為 compute。 這裡的 「本機」表示在使用者 Azure Machine Learning 工作室 工作區中建立的計算實例。
1. 使用現有計算的模式 [^azureml:<compute_name>]
2.'local' 使用本機執行
'local'
limits object 表示包含自動化 ML 表格式作業之限制組態的字典物件。
索引鍵是作業內容中限制的名稱,而值為限制值。 請參閱 瞭解 此物件屬性的限制。
name 字串 送出之自動化 ML 作業的名稱。
在工作區中的所有作業中,它必須是唯一的。 如果未指定,Azure 機器學習 會自動產生名稱的 GUID。
description 字串 自動化 ML 作業的描述。
display_name 字串 使用者想要在 Studio UI 中顯示的作業名稱。 它可以在工作區內不是唯一的。 如果省略,Azure 機器學習 會自動產生顯示名稱的人類可讀形容詞-名詞標識符。
experiment_name 字串 實驗的名稱。
實驗是 Azure 上 ML 訓練作業的記錄。 實驗包含執行的結果,以及記錄、圖表和圖表。 每個作業的執行記錄都會組織在 Studio 的 [實驗] 索引標籤中對應的實驗之下。
在其中建立工作目錄的名稱
environment_variables object 要在執行命令的進程上設定之環境變數的字典物件。
outputs object 表示作業輸出組態的字典。 索引鍵是作業內容中的輸出名稱,值則是輸出設定。 請參閱 作業輸出 以找出此物件的屬性。
log_files object 包含自動化 ML 作業執行記錄的字典物件
log_verbosity 字串 寫入至記錄檔的記錄詳細資訊層級。
可接受的值定義在 Python 記錄連結庫中
'not_set'、、'debug''info''warning'、、'error''critical' 'info'
type const 必要
作業類型。
automl automl
task const 必要
要執行的自動化 ML 工作類型。
forecasting forecasting
target_column_name 字串 必要
表示要預測的數據行名稱。 如果未指定,自動化 ML 作業就會引發錯誤。
featurization object 定義自定義特徵化組態的字典物件。 如果未建立,自動化 ML 組態會套用自動特徵化。 請參閱 特徵化 以查看這個物件的屬性。
forecasting object 定義預測作業設定的字典物件。 請參閱 預測 以找出此物件的屬性。
n_cross_validations 字串或整數 如果未 validation_data 指定,在模型/管線選取期間要執行的交叉驗證數目。
如果未 validation_data 提供與這個參數,或設定為 None,則自動化 ML 作業預設會設定為 auto 。 如果 distributed_featurization 啟用且 validation_data 未指定,則預設會設定為 2。
'auto'、 [int] None
primary_metric 字串 自動化 ML 優化時間序列預測模型選取的計量。
如果 allowed_training_algorithms 『tcn_forecaster』 可用於定型,則自動化 ML 僅支援 『normalized_root_mean_squared_error』 和 'normalized_mean_absolute_error' 中做為primary_metric。
"spearman_correlation"、 、 "normalized_root_mean_squared_error""r2_score" "normalized_mean_absolute_error" "normalized_root_mean_squared_error"
training object 字典對象,定義模型定型中使用的組態。
檢查 型以找出這個物件的屬性。
training_data object 必要
包含 MLTable 組態的字典物件,定義要用來作為模型定型輸入的定型數據。 此數據是數據的子集,應該由獨立的功能/數據行和目標功能/數據行所組成。 使用者可以使用 『:』 格式在工作區中使用已註冊的 MLTable(例如 Input(例如 Input(mltable='my_mltable:1'))或使用本機檔案或資料夾作為 MLTable(例如 Input(mltable=MLTable(local_path=“./data”))。 必須提供這個物件。 如果來源檔案中沒有目標功能,則自動化 ML 會擲回錯誤。 檢查 定型或驗證或測試數據 ,以找出此對象的屬性。
validation_data object 包含 MLTable 組態的字典物件,定義自動化 ML 實驗中要用於交叉驗證的驗證數據。 如果提供這個物件,它應該由獨立的功能/數據行和目標功能/數據行所組成。 定型數據和驗證數據的範例無法在折疊中重疊。
請參閱 定型或驗證或測試數據 ,以瞭解此對象的屬性。 如果未定義此物件,則自動化 ML 會使用 n_cross_validations 從 物件中 training_data 定義的定型數據分割驗證數據。
test_data object 包含 MLTable 組態的字典物件,定義測試回合中要使用的測試數據,以便使用最佳模型進行預測,並使用已定義的計量來評估模型。 如果提供此物件,它應該只由定型數據中使用的獨立功能所組成(不含目標特徵)。
檢查 定型或驗證或測試數據 ,以找出此對象的屬性。 如果未提供,則自動化 ML 會使用其他內建方法來建議要用於推斷的最佳模型。

limits

機碼 類型 描述 允許的值 預設值
enable_early_termination boolean 表示如果遺失分數在 『x』 反復項目數目之後未改善,是否要啟用實驗終止。
在自動化 ML 作業中,前 20 個反覆專案不會套用任何早期停止。 早期停止視窗只會在前 20 個反覆項目之後啟動。
true, false true
max_concurrent_trials 整數 平行執行的試用次數上限(子作業)。 強烈建議您將並行執行數目設定為叢集中的節點數目(定義於 中的 computeaml 計算)。 1
max_trials 整數 代表自動化 ML 作業可以嘗試使用不同的超參數組合來執行定型演算法的試驗數目上限。 其預設值設定為 1000。 如果 enable_early_termination 已定義,則用來執行定型演算法的試用版數目可能會較小。 1000
max_cores_per_trial 整數 代表每個試用版可使用的核心數目上限。 其預設值設定為 -1,這表示所有核心都會用於進程中。 -1
timeout_minutes 整數 提交自動化 ML 作業可能需要幾分鐘的時間上限,才能執行。 在指定的時間量之後,作業會終止。 此逾時包括所有試用版的設定、特徵化、定型回合、合奏和模型解釋性(如果提供)。
請注意,如果工作無法在提供 timeout_minutes 內完成,則不包含合奏和模型可解釋性執行,因為只要完成所有試用版(子工作)即可使用這些功能。
其預設值設定為360分鐘(6小時)。 若要指定小於或等於1小時(60分鐘)的逾時,用戶應該確定數據集的大小不大於10,000,000(資料列時間數據行)或錯誤結果。
360
trial_timeout_minutes 整數 提交之自動化 ML 作業中每個試用版(子作業)可以執行的分鐘數上限。 在指定的時間量之後,子作業將會終止。 30
exit_score float 實驗要達成的分數。 實驗會在達到指定的分數之後終止。 如果未指定 (沒有準則),則實驗會執行,直到未在定義的 primary metric上取得進一步進度為止。

預測

機碼 類型 描述 允許的值 預設值
time_column_name 字串 必要
數據集中對應至每個時間序列之時間軸的數據行名稱。 如果工作為 forecasting,則定型、驗證或測試的輸入數據集必須包含此數據行。 如果未提供或設定為 None,則自動化 ML 預測作業會擲回錯誤並終止實驗。
forecast_horizon 字串或整數 時間序列頻率單位的最大預測地平線。 這些單位是根據預測工具用來預測的定型數據的推斷時間間隔(例如:每月、每周)。 如果設定為 None 或 auto,則其預設值會設定為 1,表示輸入數據中最後一個時間戳 t 的 't+1'。 auto、 [int] 1
frequency 字串 預期預測產生的頻率,例如每日、每周、每年等。
如果未指定或設定為 None,則會從數據集時間索引推斷其預設值。 用戶可以設定其大於數據集推斷頻率的值,但不小於它。 例如,如果數據集的頻率是每日,則可能需要每日、每周、每月,但不是每小時的值,因為每小時小於每日(24 小時)。
如需詳細資訊,請參閱 pandas 檔
None
time_series_id_column_names 字串或清單(字串) 要用來將數據分組為多個時間序列的數據行名稱。 如果未定義time_series_id_column_names或設定為 None,自動化 ML 會使用自動偵測邏輯來偵測數據行。 None
feature_lags 字串 表示使用者是否想要為提供的數值特徵自動產生延遲。 默認值設定為 auto,這表示自動化 ML 會使用自動更正型啟發學習法來自動選取延隔順序,併為所有數值特徵產生對應的延隔功能。 “None” 表示不會針對任何數值特徵產生延遲。 'auto', None None
country_or_region_for_holidays 字串 要用來產生假日功能的國家或地區。 這些字元應該以 ISO 3166 雙字母國家/地區代碼表示,例如 'US' 或 'GB'。 您可以在 找到 https://wikipedia.org/wiki/List_of_ISO_3166_country_codesISO 代碼的清單。 None
cv_step_size 字串或整數 一個 CV 折疊的origin_time與下一個折疊之間的期間數。 例如,如果每日數據設為 3,則每個折疊的原點時間相隔三天。 如果設定為 [無] 或 [未指定],則預設會設定為 auto 。 如果它是整數類型,則可能需要的最小值為 1,否則會產生錯誤。 auto、 [int] auto
seasonality 字串或整數 時間序列季節性是數列頻率的整數倍數。 如果未指定季節性,其值會設定為 'auto',這表示它是由自動化ML自動推斷。 如果未將此參數設定為 None,則自動化 ML 會假設時間序列為非季節性,這相當於將時間序列設定為整數值 1。 'auto'、 [int] auto
short_series_handling_config 字串 表示自動化 ML 在指定時應該如何處理短時間序列。 它採用下列值:
  • 'auto' :如果沒有長數列,則會填補短數列,否則會卸除短數列。
  • 'pad':所有簡短數列都以零填補。
  • 'drop':所有簡短的數列都會卸除。
  • None:短數列未修改。
    'auto'、 、 'pad''drop'None auto
    target_aggregate_function 字串 表示要用來匯總時間序列中目標數據行的聚合函數,並以指定的頻率產生預測(定義於 freq中)。 如果已設定此參數,但 freq 未設定 參數,則會引發錯誤。 它會省略或設定為 [無],然後不會套用任何匯總。 'sum'、 、 'max''min''mean' auto
    target_lags 字串或整數或清單(整數) 要用來根據數據集頻率從目標值延遲的過去/歷程記錄期間數目。 根據預設,此參數會關閉。 此 'auto' 設定可讓系統使用自動啟發學習法延遲。
    當獨立變數與相依變數之間的關聯性預設不會相互關聯時,應該使用這個延隔屬性。 如需詳細資訊,請參閱 自動化 ML 中時間序列預測的延遲功能。
    'auto'、 [int] None
    target_rolling_window_size 字串或整數 用來建立目標數據行滾動視窗平均值的過去觀察數目。 預測時,此參數代表要用來產生預測值的 n 個歷程記錄期間, <= 定型集大小。 如果省略,n 是完整的定型集大小。 當您只想要在定型模型時考慮特定數量的歷程記錄時,請指定此參數。 'auto'整數 None None
    use_stl 字串 在時間序列上套用 STL 分解所產生的元件。如果未提供或設定為 None,則不會產生時間序列元件。
    use_stl可以接受兩個值:
    'season' :產生季節元件。
    'season_trend' :產生季節自動化ML和趨勢元件。
    'season', 'seasontrend' None

    訓練或驗證或測試數據

    機碼 類型 描述 允許的值 預設值
    datastore 字串 用戶上傳數據的數據存放區名稱。
    path 字串 應該從何處載入資料的路徑。 它可以是 file 路徑、 folder 路徑或 pattern 路徑。
    pattern 指定搜尋模式,以允許包含資料的檔案和資料夾的擷取(***) 。 支援的 URI 型態為 azureml、、httpswasbsabfssadl。 如需詳細資訊,請參閱 核心 yaml 語法 ,以瞭解如何使用 azureml:// URI 格式。 成品檔案位置的 URI。 如果此 URI 沒有配置(例如 HTTP:、azureml: etc.),則會將其視為本機參考,且指向的檔案會在建立實體時上傳至預設工作區 Blob 記憶體。
    type const 輸入數據類型。 為了產生計算機視覺模型,用戶必須以MLTable的形式,將標示的影像數據作為模型定型的輸入。 mltable mltable

    訓練

    機碼 類型 描述 允許的值 預設值
    allowed_training_algorithms list(string) 要嘗試作為實驗中模型定型的基礎模型的時間序列預測演算法清單。 如果省略或設定為 None,則實驗期間會使用所有支持的演算法,但中指定的 blocked_training_algorithms演算法除外。 'auto_arima''prophet'、、'seasonal_naive''naive''average''tcn_forecaster''arimax''seasonal_average''exponential_smoothing''lasso_lars''knn''sgd''gradient_boosting''decision_tree''elastic_net'、、 'random_forest''extreme_random_trees''light_gbm''xg_boost_regressor' None
    blocked_training_algorithms list(string) 在實驗中模型定型時,不以基底模型執行的時間序列預測演算法清單。 如果省略或設定為 None,則會在模型定型期間使用所有支持的演算法。 'auto_arima''prophet''naive''seasonal_naive'、、'seasonal_average''exponential_smoothing''arimax''tcn_forecaster''average''lasso_lars''knn''elastic_net''decision_tree''gradient_boosting'、、 'random_forest''extreme_random_trees''light_gbm''sgd''xg_boost_regressor' None
    enable_dnn_training boolean 開啟或關閉包含 DNN 型模型的旗標,以在模型選取期間試用。 True, False False
    enable_model_explainability boolean 表示開啟模型可解釋性的旗標,例如特徵重要性,由自動化 ML 系統評估的最佳模型。 True, False True
    enable_vote_ensemble boolean 旗標,可使用投票演算法來啟用或停用某些基底模型的合奏。 如需合奏的詳細資訊,請參閱 設定自動定型 true, false true
    enable_stack_ensemble boolean 旗標,可使用 Stacking 演算法來啟用或停用某些基底模型的整合。 在預測工作中,預設會關閉此旗標,以避免因用於調整中繼學習工具的小型定型集而導致過度學習的風險。 如需合奏的詳細資訊,請參閱 設定自動定型 true, false false

    特徵化

    機碼 類型 描述 允許的值 預設值
    mode 字串 自動化 ML 作業要使用的特徵化模式。
    將它設定為:
    'auto' 指出是否應該自動完成特徵化步驟
    'off' 表示沒有特徵化<'custom' ,表示是否應該使用自定義特徵化。

    注意:如果輸入數據很疏鬆,則無法開啟特徵化。
    'auto'、 、 'off''custom' None
    blocked_transformers list(string) 如果特徵化 mode 設定為 「自定義」,則會依自動化 ML 在特徵化步驟期間封鎖的轉換程式名稱清單。 '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 字典物件,包含數據行名稱做為聽寫索引鍵,以及用來將數據行目的更新為相關聯值的功能類型,如果特徵化 mode 設定為 『custom』。
    transformer_params object 巢狀字典物件,如果特徵化 mode 設定為 『custom』,則由轉換器名稱組成的巢狀字典物件,做為索引鍵和數據集數據行上的對應自定義參數。
    預測僅支援 imputer 用於自定義的轉換器。
    請參閱 column_transformers ,以瞭解如何建立自定義參數。
    None

    column_transformers

    機碼 類型 描述 允許的值 預設值
    fields list(string) 應該套用所提供 transformer_params 之數據行名稱的清單。
    parameters object 字典物件,包含「策略」做為索引鍵和值做為插補策略。
    如需如何提供的詳細資訊,請參閱這裡的範例

    工作輸出

    機碼 類型 描述 允許的值 預設值
    type 字串 作業輸出的類型。 針對預設 uri_folder 類型,輸出會對應至資料夾。 uri_folder、 、 mlflow_modelcustom_model uri_folder
    mode 字串 輸出檔案如何傳遞至目的地記憶體的模式。 針對讀寫掛接模式 (rw_mount) ,輸出目錄是掛接的目錄。 針對上傳模式,寫入的檔案會在作業結尾上傳。 rw_mount, upload rw_mount

    如何透過 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]