共用方式為


AutoMLConfig 類別

代表在 Azure Machine Learning 中提交自動化 ML 實驗的設定。

此組態物件包含並保存用來設定實驗回合的參數,以及運行時間要使用的定型數據。 如需選取設定的指引,請參閱 https://aka.ms/AutoMLConfig

建立 AutoMLConfig。

建構函式

AutoMLConfig(task: str, path: str | None = None, iterations: int | None = None, primary_metric: str | None = None, positive_label: Any | None = None, compute_target: Any | None = None, spark_context: Any | None = None, X: Any | None = None, y: Any | None = None, sample_weight: Any | None = None, X_valid: Any | None = None, y_valid: Any | None = None, sample_weight_valid: Any | None = None, cv_splits_indices: List[List[Any]] | None = None, validation_size: float | None = None, n_cross_validations: int | str | None = None, y_min: float | None = None, y_max: float | None = None, num_classes: int | None = None, featurization: str | FeaturizationConfig = 'auto', max_cores_per_iteration: int = 1, max_concurrent_iterations: int = 1, iteration_timeout_minutes: int | None = None, mem_in_mb: int | None = None, enforce_time_on_windows: bool = True, experiment_timeout_hours: float | None = None, experiment_exit_score: float | None = None, enable_early_stopping: bool = True, blocked_models: List[str] | None = None, blacklist_models: List[str] | None = None, exclude_nan_labels: bool = True, verbosity: int = 20, enable_tf: bool = False, model_explainability: bool = True, allowed_models: List[str] | None = None, whitelist_models: List[str] | None = None, enable_onnx_compatible_models: bool = False, enable_voting_ensemble: bool = True, enable_stack_ensemble: bool | None = None, debug_log: str = 'automl.log', training_data: Any | None = None, validation_data: Any | None = None, test_data: Any | None = None, test_size: float | None = None, label_column_name: str | None = None, weight_column_name: str | None = None, cv_split_column_names: List[str] | None = None, enable_local_managed: bool = False, enable_dnn: bool | None = None, forecasting_parameters: ForecastingParameters | None = None, **kwargs: Any)

參數

名稱 Description
task
必要
strTasks

要執行的工作類型。 值可以是「分類」、「回歸」或「預測」,視要解決的自動化 ML 問題類型而定。

path
必要
str

Azure Machine Learning 項目資料夾的完整路徑。 如果未指定,則預設值為使用目前目錄或 “.”。

iterations
必要
int

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

primary_metric
必要
strMetric

自動化機器學習服務將針對模型選取進行優化計量。 自動化Machine Learning會收集比優化更多的計量。 您可以使用 get_primary_metrics 來取得指定工作的有效計量清單。 如需如何計算計量的詳細資訊,請參閱 https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric

如果未指定,則會針對分類工作使用精確度、正規化根均平方用於預測和回歸工作、精確度用於影像分類和影像多重標籤分類,以及平均平均精確度用於影像物件偵測。

positive_label
必要
Any

自動化機器學習會用來計算二進位計量的正類別標籤。 二進位計量會以分類工作的兩個條件計算:

  1. label 數據行是由兩個類別所組成,指出二進位分類工作 AutoML 會在傳入 positive_label 時使用指定的正類別,否則 AutoML 會根據卷標編碼值挑選正類別。
  2. 指定 positive_label 的多重類別分類工作

如需分類的詳細資訊,請參閱 分類案例的結帳計量

compute_target
必要

要執行自動化機器學習實驗的 Azure Machine Learning 計算目標。 如需計算目標的詳細資訊,請參閱 https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote

spark_context
必要
<xref:SparkContext>

Spark 內容。 只有在 Azure Databricks/Spark 環境內使用時才適用。

X
必要

在實驗期間調整管線時要使用的定型功能。 此設定已被取代。 請改用 training_data和 label_column_name。

y
必要

在實驗期間調整管線時要使用的定型標籤。 這是模型將預測的值。 此設定已被取代。 請改用 training_data和 label_column_name。

sample_weight
必要

執行配接管線時要提供給每個定型範例的權數,每個數據列都應該對應至 X 和 y 數據中的數據列。

指定 X時指定此參數。 此設定已被取代。 請改用 training_data和 weight_column_name。

X_valid
必要

在實驗期間調整管線時要使用的驗證功能。

如果指定,則 y_valid 也必須指定 或 sample_weight_valid 。 此設定已被取代。 請改用 validation_data和 label_column_name。

y_valid
必要

在實驗期間調整管線時要使用的驗證標籤。

X_validy_valid 必須同時指定。 此設定已被取代。 請改用 validation_data和 label_column_name。

sample_weight_valid
必要

執行評分管線時要提供給每個驗證範例的權數,每個數據列都應該對應至 X 和 y 數據中的數據列。

指定 X_valid時指定此參數。 此設定已被取代。 請改用 validation_data和 weight_column_name。

cv_splits_indices
必要

用來分割訓練數據以進行交叉驗證的索引。 每個數據列都是個別的交叉折疊,而且在每個交叉折迭內,提供 2 個 numpy 陣列,第一個包含用於定型數據的範例索引,第二個包含用於驗證數據的索引。 亦即 [[t1, v1], [t2, v2], ...] 其中 t1 是第一個交叉折迭的訓練索引,而 v1 是第一個交叉折迭的驗證索引。

若要將現有的資料指定為驗證資料, 請使用 validation_data。 若要改為讓 AutoML 從定型資料擷取驗證資料,請指定 n_cross_validationsvalidation_size。 如果您在 中cv_split_column_names具有交叉驗證資料列,請使用 training_data

validation_size
必要

未指定使用者驗證數據時,要保留哪些數據進行驗證。 這應該介於 0.0 和 1.0 之間。

指定 validation_data 以提供驗證數據,否則請設定 n_cross_validationsvalidation_size 從指定的定型數據擷取驗證數據。 針對自訂交叉驗證折疊,請使用 cv_split_column_names

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

n_cross_validations
必要
int

未指定使用者驗證資料時要執行的交叉驗證數目。

指定 validation_data 以提供驗證數據,否則請設定 n_cross_validationsvalidation_size 從指定的定型數據擷取驗證數據。 針對自訂交叉驗證折疊,請使用 cv_split_column_names

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

y_min
必要

回歸實驗的最小值為 y。 和 y_min 的組合y_max可用來根據輸入數據範圍正規化測試集計量。 此設定已被取代。 相反地,此值會從數據計算。

y_max
必要

回歸實驗的最大值為 y。 和 y_min 的組合y_max可用來根據輸入數據範圍正規化測試集計量。 此設定已被取代。 相反地,此值會從數據計算。

num_classes
必要
int

分類實驗標籤數據中的類別數目。 此設定已被取代。 相反地,此值會從數據計算。

featurization
必要

'auto' / 'off' / FeaturizationConfig 指標,指出是否應該自動完成特徵化步驟,還是應該使用自定義特徵化。 注意:如果輸入數據很疏鬆,則無法開啟特徵化。

系統會自動偵測數據行類型。 根據偵測到的數據行類型前置處理/特徵化,如下所示:

  • 類別:目標編碼,一個經常性編碼,卸除高基數類別,插補遺漏值。

  • 數值:插補遺漏值、叢集距離、辨識項權數。

  • DateTime:數個功能,例如日、秒、分鐘、小時等。

  • 文字:單字包、預先定型的 Word 內嵌、文字目標編碼。

如需詳細資訊,請參閱在 Python 中設定自動化 ML 實驗一文。

若要自定義特徵化步驟,請提供FeaturizationConfig物件。 自定義特徵化目前支持封鎖一組轉換器、更新數據行用途、編輯轉換器參數,以及卸除數據行。 如需詳細資訊,請參閱 自定義功能工程

注意:當工作類型設定為與此參數無關的預測時,會個別處理時程功能。

max_cores_per_iteration
必要
int

用於指定定型反覆項目的線程數目上限。 可接受的值:

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

  • 等於 -1,這表示每個子回合的每個反覆專案都使用所有可能的核心。

  • 等於 1,預設值。

max_concurrent_iterations
必要
int

表示平行執行的反覆項目數目上限。 預設值為 1。

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

  • DSVM 支援每個節點的多個反覆專案。 max_concurrent_iterations 應該小於或等於 DSVM 上的核心數目。 對於在單一 DSVM 上平行執行的多個實驗,所有實驗的值總和 max_concurrent_iterations 應小於或等於節點數目上限。

  • Databricks - max_concurrent_iterations 應該小於或等於 Databricks 上的背景工作節點數目。

max_concurrent_iterations 不適用於本機執行。 先前,此參數已命名為 concurrent_iterations

iteration_timeout_minutes
必要
int

每個反覆項目在終止之前可以執行的時間上限。 如果未指定,則會使用1個月或43200分鐘的值。

mem_in_mb
必要
int

每個反覆項目在終止之前可以執行的最大記憶體使用量。 如果未指定,則會使用 1 PB 或 1073741824 MB 的值。

enforce_time_on_windows
必要

是否要在 Windows 上的每次反覆項目上強制執行模型定型的時間限制。 預設值為 True。 如果從 Python 腳本檔案執行 (.py),請參閱在 Windows 上允許資源限制的檔。

experiment_timeout_hours
必要

實驗終止之前,所有反覆專案可以花費的時間上限,以小時為單位。 可以是十進位值,例如0.25代表15分鐘。 如果未指定,默認實驗逾時為 6 天。 若要指定小於或等於 1 小時的逾時,請確定數據集的大小不大於 10,000,000(數據列時間數據行)或錯誤結果。

experiment_exit_score
必要

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

enable_early_stopping
必要

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

早期停止邏輯:

  • 前 20 個反覆項目沒有提前停止 (地標)。

  • 第 21 個反覆項目開始早期停止視窗,並尋找early_stopping_n_iters反覆專案

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

  • AutoML 仍排程 2 個合奏反覆專案 AFTER 早期停止,這可能會導致

    較高的分數。

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

    early_stopping_n_iters反覆運算,也就是說,如果early_stopping_n_iters反覆運算的分數沒有改善。

blocked_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

實驗要忽略的演算法清單。 如果 enable_tf 為 False,則 TensorFlow 模型會包含在 中 blocked_models

blacklist_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

已淘汰的參數,請改用 blocked_models。

exclude_nan_labels
必要

是否要排除標籤中具有 NaN 值的數據列。 預設值為 True。

verbosity
必要
int

寫入記錄檔的詳細資訊層級。 預設值為 INFO 或 20。 Python 記錄連結庫中定義了可接受的值。

enable_tf
必要

已淘汰的參數,以啟用/停用 Tensorflow 演算法。 預設值為 False。

model_explainability
必要

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

allowed_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

要搜尋實驗的模型名稱清單。 如果未指定,則會使用工作支援的所有模型減去或已被取代的 TensorFlow 模型中所指定 blocked_models 的任何模型。 類別會 SupportedModels 說明每個工作類型的支援模型。

whitelist_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

已取代的參數,請改用 allowed_models。

enable_onnx_compatible_models
必要

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

forecasting_parameters
必要

ForecastingParameters 對象,用來保存所有預測特定參數。

time_column_name
必要
str

時間數據行的名稱。 當預測以指定用於建置時間序列並推斷其頻率的輸入數據中的 datetime 數據行時,需要此參數。 此設定已被取代。 請改用forecasting_parameters。

max_horizon
必要
int

所需的最大預測範圍,以時間序列頻率單位為單位。 預設值為 1。

單位是以定型數據的時間間隔為基礎,例如,預測器應該預測的每月、每周。在預測工作類型時,需要此參數。 如需設定預測參數的詳細資訊,請參閱 自動定型時間序列預測模型。 此設定已被取代。 請改用forecasting_parameters。

grain_column_names
必要
strlist(str)

用來分組時間範圍的數據行名稱。 它可以用來建立多個數列。 如果未定義粒紋,則會假設數據集為一個時間序列。 此參數與工作類型預測搭配使用。 此設定已被取代。 請改用forecasting_parameters。

target_lags
必要
intlist(int)

要從目標數據行延遲的過去期間數。 預設值為 1。 此設定已被取代。 請改用forecasting_parameters。

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

feature_lags
必要
str

產生數值特徵延遲的旗標。 此設定已被取代。 請改用forecasting_parameters。

target_rolling_window_size
必要
int

用來建立目標數據行滾動視窗平均值的過去期間數目。 此設定已被取代。 請改用forecasting_parameters。

預測時,此參數代表要用來產生預測值的 n 個歷程記錄期間, <= 定型集大小。 如果省略, n 是完整的定型集大小。 當您只想要在定型模型時考慮特定數量的歷程記錄時,請指定此參數。

country_or_region
必要
str

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 雙字母國家/地區代碼,例如 'US' 或 'GB'。 此設定已被取代。 請改用forecasting_parameters。

use_stl
必要
str

設定時間序列目標數據行的 STL 分解。 use_stl可以接受三個值:None (default) - 沒有 stl 分解, 'season' - 只產生季節元件和season_trend - 產生季節和趨勢元件。 此設定已被取代。 請改用forecasting_parameters。

seasonality
必要
intstr

設定時間序列季節性。 如果季節性設定為 『auto』,則會推斷它。 此設定已被取代。 請改用forecasting_parameters。

short_series_handling_configuration
必要
str

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

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

  • 如果沒有長數列,則會自動填補短數列,否則將會卸除短數列。
  • 填補 所有簡短的數列將會填補。
  • 除所有簡短數列將會卸除」 。
  • 不會 修改簡短數列。 如果設定為 『pad』,數據表會以回歸輸入器的零和空白值填補,而目標的隨機值,平均值等於指定時間序列標識元的目標值中位數。如果中位數大於或等於零,則會將最小填補值裁剪為零:輸入:

日期

numeric_value

字串

目標

2020-01-01

23

55

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

日期

numeric_value

字串

目標

2019-12-29

0

55.1

2019-12-30

0

55.6

2019-12-31

0

54.5

2020-01-01

23

55

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

處理

handling_configuration

產生的處理

產生的handling_configuration

自動

自動

自動

卸除

自動

沒有

沒有

自動

沒有

沒有

卸除

沒有

沒有

沒有

freq
必要
strNone

預測頻率。

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

target_aggregation_function
必要
strNone

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

頻率

target_aggregation_function

數據正規性修正機制

沒有 (預設值)

沒有 (預設值)

不會套用匯總。如果有效頻率無法確定,就會引發錯誤。

某些值

沒有 (預設值)

不會套用匯總。如果符合指定頻率方格的數據點數目較少,則會移除 90 個%these 點,否則將會引發錯誤。

沒有 (預設值)

彙總函數

引發遺漏頻率參數的錯誤。

某些值

彙總函數

使用提供的aggregation 函式匯總至頻率。

enable_voting_ensemble
必要

是否要啟用/停用 VotingEnsemble 反覆專案。 預設值為 True。 如需合奏的詳細資訊,請參閱 合奏組態

enable_stack_ensemble
必要

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

debug_log
必要
str

要寫入偵錯資訊的記錄檔。 如果未指定,則會使用 『automl.log』。

training_data
必要

實驗內要使用的定型數據。 它應該同時包含定型特徵和標籤資料列(選擇性地包含範例權數數據行)。 如果 training_data 已指定,則 label_column_name 也必須指定 參數。

training_data 已在 1.0.81 版中引進。

validation_data
必要

實驗中使用的驗證數據。 它應該同時包含定型特徵和標籤資料列(選擇性地包含範例權數數據行)。 如果 validation_data 指定 ,則必須 training_data 指定 和 label_column_name 參數。

validation_data 已在 1.0.81 版中引進。 如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

test_data
必要

使用測試數據集或測試數據分割的模型測試功能是處於預覽狀態的功能,隨時可能會變更。 要用於測試回合的測試數據,將在模型定型完成之後自動啟動。 測試回合會使用最佳模型來取得預測,而且會根據這些預測來計算計量。

如果未指定此參數或 參數, test_size 則完成模型定型之後,將不會自動執行任何測試回合。 測試數據應同時包含功能和標籤數據列。 如果 test_data 指定 , label_column_name 則必須指定 參數。

test_size
必要

使用測試數據集或測試數據分割的模型測試功能是處於預覽狀態的功能,隨時可能會變更。 測試回合測試數據要保留的定型數據分數,這些測試回合會在模型定型完成之後自動啟動。 測試回合會使用最佳模型來取得預測,而且會根據這些預測來計算計量。

這應該介於 0.0 和 1.0 之間。 如果 test_size 與 同時 validation_size指定 ,則測試數據會在驗證數據分割之前分割 training_data 。 例如,如果 validation_size=0.1test_size=0.1 原始定型數據有1000個數據列,則測試數據會有100個數據列,驗證數據將包含90個數據列,而定型數據將有810個數據列。

針對回歸型工作,會使用隨機取樣。 針對分類工作,會使用分層取樣。 預測目前不支援使用定型/測試分割來指定測試數據集。

如果未指定此參數或 參數, test_data 則完成模型定型之後,將不會自動執行任何測試回合。

label_column_name
必要

標籤資料列的名稱。 如果輸入數據來自 pandas。沒有數據行名稱的數據框架,可以改用數據行索引,以整數表示。

此參數適用於 training_datavalidation_datatest_data 參數。 label_column_name 已在 1.0.81 版中引進。

weight_column_name
必要

範例權數數據行的名稱。 自動化 ML 支援加權數據行做為輸入,導致數據中的數據列向上或向下加權。 如果輸入數據來自 pandas。沒有數據行名稱的數據框架,可以改用數據行索引,以整數表示。

此參數適用於 training_datavalidation_data 參數。 weight_column_names 已在 1.0.81 版中引進。

cv_split_column_names
必要

包含自訂交叉驗證分割之資料行的名稱清單。 每個 CV 分割數據行都代表一個 CV 分割,其中每個數據列都標示為 1 以進行定型或 0 進行驗證。

此參數適用於 training_data 自定義交叉驗證用途的參數。 cv_split_column_names 已在 1.6.0 版中引進

cv_split_column_names使用或 cv_splits_indices

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

enable_local_managed
必要

Disabled 參數。 目前無法啟用本機受控執行。

enable_dnn
必要

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

task
必要
strTasks

要執行的工作類型。 值可以是「分類」、「回歸」或「預測」,視要解決的自動化 ML 問題類型而定。

path
必要
str

Azure Machine Learning 項目資料夾的完整路徑。 如果未指定,則預設值為使用目前目錄或 “.”。

iterations
必要
int

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

primary_metric
必要
strMetric

自動化機器學習服務將針對模型選取進行優化計量。 自動化Machine Learning會收集比優化更多的計量。 您可以使用 get_primary_metrics 來取得指定工作的有效計量清單。 如需如何計算計量的詳細資訊,請參閱 https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric

如果未指定,則會針對分類工作使用精確度、正規化根均平方用於預測和回歸工作、精確度用於影像分類和影像多重標籤分類,以及平均平均精確度用於影像物件偵測。

positive_label
必要
Any

自動化機器學習會用來計算二進位計量的正類別標籤。 二進位計量會以分類工作的兩個條件計算:

  1. label 數據行是由兩個類別所組成,指出二進位分類工作 AutoML 會在傳入 positive_label 時使用指定的正類別,否則 AutoML 會根據卷標編碼值挑選正類別。
  2. 指定 positive_label 的多重類別分類工作

如需分類的詳細資訊,請參閱 分類案例的結帳計量

compute_target
必要

要執行自動化機器學習實驗的 Azure Machine Learning 計算目標。 如需計算目標的詳細資訊,請參閱 https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote

spark_context
必要
<xref:SparkContext>

Spark 內容。 只有在 Azure Databricks/Spark 環境內使用時才適用。

X
必要

在實驗期間調整管線時要使用的定型功能。 此設定已被取代。 請改用 training_data和 label_column_name。

y
必要

在實驗期間調整管線時要使用的定型標籤。 這是模型將預測的值。 此設定已被取代。 請改用 training_data和 label_column_name。

sample_weight
必要

執行配接管線時要提供給每個定型範例的權數,每個數據列都應該對應至 X 和 y 數據中的數據列。

指定 X時指定此參數。 此設定已被取代。 請改用 training_data和 weight_column_name。

X_valid
必要

在實驗期間調整管線時要使用的驗證功能。

如果指定,則 y_valid 也必須指定 或 sample_weight_valid 。 此設定已被取代。 請改用 validation_data和 label_column_name。

y_valid
必要

在實驗期間調整管線時要使用的驗證標籤。

X_validy_valid 必須同時指定。 此設定已被取代。 請改用 validation_data和 label_column_name。

sample_weight_valid
必要

執行評分管線時要提供給每個驗證範例的權數,每個數據列都應該對應至 X 和 y 數據中的數據列。

指定 X_valid時指定此參數。 此設定已被取代。 請改用 validation_data和 weight_column_name。

cv_splits_indices
必要

用來分割訓練數據以進行交叉驗證的索引。 每個數據列都是個別的交叉折疊,而且在每個交叉折迭內,提供 2 個 numpy 陣列,第一個包含用於定型數據的範例索引,第二個包含用於驗證數據的索引。 亦即 [[t1, v1], [t2, v2], ...] 其中 t1 是第一個交叉折迭的訓練索引,而 v1 是第一個交叉折迭的驗證索引。 當數據以個別的功能數據集和標籤資料行的形式傳遞時,支援此選項。

若要將現有的資料指定為驗證資料, 請使用 validation_data。 若要改為讓 AutoML 從定型資料擷取驗證資料,請指定 n_cross_validationsvalidation_size。 如果您在 中cv_split_column_names具有交叉驗證資料列,請使用 training_data

validation_size
必要

未指定使用者驗證數據時,要保留哪些數據進行驗證。 這應該介於 0.0 和 1.0 之間。

指定 validation_data 以提供驗證數據,否則請設定 n_cross_validationsvalidation_size 從指定的定型數據擷取驗證數據。 針對自訂交叉驗證折疊,請使用 cv_split_column_names

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

n_cross_validations
必要
intstr

未指定使用者驗證資料時要執行的交叉驗證數目。

指定 validation_data 以提供驗證數據,否則請設定 n_cross_validationsvalidation_size 從指定的定型數據擷取驗證數據。 針對自訂交叉驗證折疊,請使用 cv_split_column_names

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

y_min
必要

回歸實驗的最小值為 y。 和 y_min 的組合y_max可用來根據輸入數據範圍正規化測試集計量。 此設定已被取代。 相反地,此值會從數據計算。

y_max
必要

回歸實驗的最大值為 y。 和 y_min 的組合y_max可用來根據輸入數據範圍正規化測試集計量。 此設定已被取代。 相反地,此值會從數據計算。

num_classes
必要
int

分類實驗標籤數據中的類別數目。 此設定已被取代。 相反地,此值會從數據計算。

featurization
必要

'auto' / 'off' / FeaturizationConfig 指標,指出是否應該自動完成特徵化步驟,還是應該使用自定義特徵化。 注意:如果輸入數據很疏鬆,則無法開啟特徵化。

系統會自動偵測數據行類型。 根據偵測到的數據行類型前置處理/特徵化,如下所示:

  • 類別:目標編碼,一個經常性編碼,卸除高基數類別,插補遺漏值。

  • 數值:插補遺漏值、叢集距離、辨識項權數。

  • DateTime:數個功能,例如日、秒、分鐘、小時等。

  • 文字:單字包、預先定型的 Word 內嵌、文字目標編碼。

如需詳細資訊,請參閱在 Python 中設定自動化 ML 實驗一文。

若要自定義特徵化步驟,請提供FeaturizationConfig物件。 自定義特徵化目前支持封鎖一組轉換器、更新數據行用途、編輯轉換器參數,以及卸除數據行。 如需詳細資訊,請參閱 自定義功能工程

注意:當工作類型設定為與此參數無關的預測時,會個別處理時程功能。

max_cores_per_iteration
必要
int

用於指定定型反覆項目的線程數目上限。 可接受的值:

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

  • 等於 -1,這表示每個子回合的每個反覆專案都使用所有可能的核心。

  • 等於 1,預設值。

max_concurrent_iterations
必要
int

表示平行執行的反覆項目數目上限。 預設值為 1。

  • AmlCompute 叢集支援每個節點執行的一個插播。 對於在單一 AmlCompute 叢集上平行執行的多個實驗,所有實驗的值總和 max_concurrent_iterations 應該小於或等於節點數目上限。

  • DSVM 支援每個節點的多個反覆專案。 max_concurrent_iterations 應該小於或等於 DSVM 上的核心數目。 對於在單一 DSVM 上平行執行的多個實驗,所有實驗的值總和 max_concurrent_iterations 應小於或等於節點數目上限。

  • Databricks - max_concurrent_iterations 應該小於或等於 Databricks 上的背景工作節點數目。

max_concurrent_iterations 不適用於本機執行。 先前,此參數已命名為 concurrent_iterations

iteration_timeout_minutes
必要
int

每個反覆項目在終止之前可以執行的時間上限。 如果未指定,則會使用1個月或43200分鐘的值。

mem_in_mb
必要
int

每個反覆項目在終止之前可以執行的最大記憶體使用量。 如果未指定,則會使用 1 PB 或 1073741824 MB 的值。

enforce_time_on_windows
必要

是否要在 Windows 上的每次反覆項目上強制執行模型定型的時間限制。 預設值為 True。 如果從 Python 腳本檔案執行 (.py),請參閱在 Windows 上允許資源限制的檔。

experiment_timeout_hours
必要

實驗終止之前,所有反覆專案可以花費的時間上限,以小時為單位。 可以是十進位值,例如0.25代表15分鐘。 如果未指定,默認實驗逾時為 6 天。 若要指定小於或等於 1 小時的逾時,請確定數據集的大小不大於 10,000,000(數據列時間數據行)或錯誤結果。

experiment_exit_score
必要

實驗的目標分數。 達到此分數之後,實驗就會終止。 如果未指定 (沒有準則),實驗會執行,直到主要計量上沒有進一步進度為止。 如需結束準則的詳細資訊,請參閱此 >>article https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#exit-criteria『_。<<

enable_early_stopping
必要

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

早期停止邏輯:

  • 前 20 個反覆項目沒有提前停止 (地標)。

  • 早期停止視窗會在第 21 次反覆項目上啟動,並尋找early_stopping_n_iters反覆專案(目前設為 10)。 這表示第一個可以停止的反覆專案是第 31 個。

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

  • 如果過去early_stopping_n_iters反覆項目計算的最佳分數絕對值相同,則會觸發早期停止,也就是說,如果early_stopping_n_iters反覆運算的分數沒有改善,則會觸發。

blocked_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

實驗要忽略的演算法清單。 如果 enable_tf 為 False,則 TensorFlow 模型會包含在 中 blocked_models

blacklist_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

已淘汰的參數,請改用 blocked_models。

exclude_nan_labels
必要

是否要排除標籤中具有 NaN 值的數據列。 預設值為 True。

verbosity
必要
int

寫入記錄檔的詳細資訊層級。 預設值為 INFO 或 20。 Python 記錄連結庫中定義了可接受的值。

enable_tf
必要

是否要啟用/停用 TensorFlow 演算法。 預設值為 False。

model_explainability
必要

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

allowed_models
必要
list(str) 或 list(Classification) <xref:for classification task> 或 list(Regression) <xref:for regression task> 或 list(Forecasting) <xref:for forecasting task>

要搜尋實驗的模型名稱清單。 如果未指定,則會使用工作支援的所有模型減去或已被取代的 TensorFlow 模型中所指定 blocked_models 的任何模型。 類別會 SupportedModels 說明每個工作類型的支援模型。

allowed_models
必要

要搜尋實驗的模型名稱清單。 如果未指定,則會使用工作支援的所有模型減去或已被取代的 TensorFlow 模型中所指定 blocked_models 的任何模型。 類別會 SupportedModels 說明每個工作類型的支援模型。

whitelist_models
必要

已取代的參數,請改用 allowed_models。

enable_onnx_compatible_models
必要

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

forecasting_parameters
必要

對象,用來保存所有預測特定參數。

time_column_name
必要
str

時間數據行的名稱。 當預測以指定用於建置時間序列並推斷其頻率的輸入數據中的 datetime 數據行時,需要此參數。 此設定已被取代。 請改用forecasting_parameters。

max_horizon
必要
int

所需的最大預測範圍,以時間序列頻率單位為單位。 預設值為 1。 此設定已被取代。 請改用forecasting_parameters。

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

grain_column_names
必要
strlist(str)

用來分組時間範圍的數據行名稱。 它可以用來建立多個數列。 如果未定義粒紋,則會假設數據集為一個時間序列。 此參數與工作類型預測搭配使用。 此設定已被取代。 請改用forecasting_parameters。

target_lags
必要
intlist(int)

要從目標數據行延遲的過去期間數。 預設值為 1。 此設定已被取代。 請改用forecasting_parameters。

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

feature_lags
必要
str

產生數值特徵延遲的旗標。 此設定已被取代。 請改用forecasting_parameters。

target_rolling_window_size
必要
int

用來建立目標數據行滾動視窗平均值的過去期間數目。 此設定已被取代。 請改用forecasting_parameters。

預測時,此參數代表要用來產生預測值的 n 個歷程記錄期間, <= 定型集大小。 如果省略, n 是完整的定型集大小。 當您只想要在定型模型時考慮特定數量的歷程記錄時,請指定此參數。

country_or_region
必要
str

用來產生假日功能的國家/地區。 這些應該是 ISO 3166 兩個字母的國家/地區代碼,例如 'US' 或 'GB'。 此設定已被取代。 請改用forecasting_parameters。

use_stl
必要
str

設定時間序列目標數據行的 STL 分解。 use_stl可以接受三個值:None (default) - 沒有 stl 分解, 'season' - 只產生季節元件和season_trend - 產生季節和趨勢元件。 此設定已被取代。 請改用forecasting_parameters。

seasonality
必要
int

設定時間序列季節性。 如果季節性設定為 -1,則會推斷它。 如果未設定use_stl,將不會使用此參數。 此設定已被取代。 請改用forecasting_parameters。

short_series_handling_configuration
必要
str

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

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

  • 如果沒有長數列,則會自動填補短數列,否則將會卸除短數列。
  • 填補 所有簡短的數列將會填補。
  • 除所有簡短數列將會卸除」 。
  • 不會 修改簡短數列。 如果設定為 『pad』,數據表會以回歸輸入器的零和空白值填補,而目標的隨機值,平均值等於指定時間序列標識元的目標值中位數。如果中位數大於或等於零,則會將最小填補值裁剪為零:輸入:

日期

numeric_value

字串

目標

2020-01-01

23

55

假設值數目最少的輸出為四個:+————+—————+———-+--+|日期 |numeric_value |string |target |+============+===============+==========+========+ |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和處理)。

處理

handling_configuration

產生的處理

產生的handling_configuration

自動

自動

自動

卸除

自動

沒有

沒有

自動

沒有

沒有

卸除

沒有

沒有

沒有

freq
必要
strNone

預測頻率。

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

target_aggregation_function
必要
strNone

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

頻率

target_aggregation_function

數據正規性修正機制

沒有 (預設值)

沒有 (預設值)

不會套用匯總。如果有效頻率無法確定,就會引發錯誤。

某些值

沒有 (預設值)

不會套用匯總。如果符合指定頻率方格的數據點數目較少,則會移除 90 個%these 點,否則將會引發錯誤。

沒有 (預設值)

彙總函數

引發遺漏頻率參數的錯誤。

某些值

彙總函數

使用提供的aggregation 函式匯總至頻率。

enable_voting_ensemble
必要

是否要啟用/停用 VotingEnsemble 反覆專案。 預設值為 True。 如需合奏的詳細資訊,請參閱 合奏組態

enable_stack_ensemble
必要

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

debug_log
必要
str

要寫入偵錯資訊的記錄檔。 如果未指定,則會使用 『automl.log』。

training_data
必要

實驗內要使用的定型數據。 它應該同時包含定型特徵和標籤資料列(選擇性地包含範例權數數據行)。 如果 training_data 已指定,則 label_column_name 也必須指定 參數。

training_data 已在 1.0.81 版中引進。

validation_data
必要

實驗中使用的驗證數據。 它應該同時包含定型特徵和標籤資料列(選擇性地包含範例權數數據行)。 如果 validation_data 指定 ,則必須 training_data 指定 和 label_column_name 參數。

validation_data 已在 1.0.81 版中引進。 如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

test_data
必要

使用測試數據集或測試數據分割的模型測試功能是處於預覽狀態的功能,隨時可能會變更。 要用於測試回合的測試數據,將在模型定型完成之後自動啟動。 測試回合會使用最佳模型來取得預測,而且會根據這些預測來計算計量。

如果未指定此參數或 參數, test_size 則完成模型定型之後,將不會自動執行任何測試回合。 測試數據應同時包含功能和標籤數據列。 如果 test_data 指定 , label_column_name 則必須指定 參數。

test_size
必要

使用測試數據集或測試數據分割的模型測試功能是處於預覽狀態的功能,隨時可能會變更。 測試回合測試數據要保留的定型數據分數,這些測試回合會在模型定型完成之後自動啟動。 測試回合會使用最佳模型來取得預測,而且會根據這些預測來計算計量。

這應該介於 0.0 和 1.0 之間。 如果 test_size 與 同時 validation_size指定 ,則測試數據會在驗證數據分割之前分割 training_data 。 例如,如果 validation_size=0.1test_size=0.1 原始定型數據有1000個數據列,則測試數據會有100個數據列,驗證數據將包含90個數據列,而定型數據將有810個數據列。

針對回歸型工作,會使用隨機取樣。 針對分類工作,會使用分層取樣。 預測目前不支援使用定型/測試分割來指定測試數據集。

如果未指定此參數或 參數, test_data 則完成模型定型之後,將不會自動執行任何測試回合。

label_column_name
必要

標籤資料列的名稱。 如果輸入數據來自 pandas。沒有數據行名稱的數據框架,可以改用數據行索引,以整數表示。

此參數適用於 training_datavalidation_datatest_data 參數。 label_column_name 已在 1.0.81 版中引進。

weight_column_name
必要

範例權數數據行的名稱。 自動化 ML 支援加權數據行做為輸入,導致數據中的數據列向上或向下加權。 如果輸入數據來自 pandas。沒有數據行名稱的數據框架,可以改用數據行索引,以整數表示。

此參數適用於 training_datavalidation_data 參數。 weight_column_names 已在 1.0.81 版中引進。

cv_split_column_names
必要

包含自訂交叉驗證分割之資料行的名稱清單。 每個 CV 分割數據行都代表一個 CV 分割,其中每個數據列都標示為 1 以進行定型或 0 進行驗證。

此參數適用於 training_data 自定義交叉驗證用途的參數。 cv_split_column_names 已在 1.6.0 版中引進

cv_split_column_names使用或 cv_splits_indices

如需詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

enable_local_managed
必要

Disabled 參數。 目前無法啟用本機受控執行。

enable_dnn
必要

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

備註

下列程式代碼顯示建立 AutoMLConfig 物件並提交回歸實驗的基本範例:


   automl_settings = {
       "n_cross_validations": 3,
       "primary_metric": 'r2_score',
       "enable_early_stopping": True,
       "experiment_timeout_hours": 1.0,
       "max_concurrent_iterations": 4,
       "max_cores_per_iteration": -1,
       "verbosity": logging.INFO,
   }

   automl_config = AutoMLConfig(task = 'regression',
                               compute_target = compute_target,
                               training_data = train_data,
                               label_column_name = label,
                               **automl_settings
                               )

   ws = Workspace.from_config()
   experiment = Experiment(ws, "your-experiment-name")
   run = experiment.submit(automl_config, show_output=True)

回歸提供完整的範例

使用這些 AutoMLConfig 進行預測的範例如下:

您可以在這些 自動化 ML 筆記本中找到針對所有工作類型使用 AutoMLConfig 的範例。

如需自動化 ML 的背景,請參閱文章:

如需為自動化機器學習、AutoML、實驗設定定型/驗證數據分割和交叉驗證之不同選項的詳細資訊,請參閱 在自動化機器學習中設定數據分割和交叉驗證

方法

as_serializable_dict

將物件轉換成字典。

get_supported_dataset_languages

取得 ISO 639-3 中支援的語言及其對應的語言代碼。

as_serializable_dict

將物件轉換成字典。

as_serializable_dict() -> Dict[str, Any]

get_supported_dataset_languages

取得 ISO 639-3 中支援的語言及其對應的語言代碼。

get_supported_dataset_languages(use_gpu: bool) -> Dict[Any, Any]

參數

名稱 Description
cls
必要

AutoMLConfigClass 物件。

use_gpu
必要

布爾值,指出是否使用 gpu 計算。

傳回

類型 Description

格式為 {<語言代碼>: <語言名稱>} 的字典。 語言代碼遵守 ISO 639-3 標準,請參閱 https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes