共用方式為


AutoMLConfig 類別

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

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

建立 AutoMLConfig。

繼承
builtins.object
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 。 如果您在 中 training_data 具有交叉驗證資料行 () ,請使用 cv_split_column_names

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_max 的組合 y_min 可用來根據輸入資料範圍標準化測試集計量。 此設定已被取代。 相反地,此值會從資料計算。

y_max
必要

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

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可以接受三個值:無 (預設) - 沒有 stl 分解,'season' - 只會產生季元件和season_trend - 同時產生季和趨勢元件。 此設定已被取代。 請改用 forecasting_parameters。

seasonality
必要
intstr

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

short_series_handling_configuration
必要
str

參數,定義 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和處理) 。

處理

handling_configuration

產生的處理

產生的handling_configuration

True

自動

True

自動

True

True

自動

True

drop

True

自動

True

False

False

自動

False

False

False

False

drop

False

False

False

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%這些點,否則會引發錯誤。

無 (預設值)

彙總函式

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

某些值

彙總函式

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

enable_voting_ensemble
必要

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

enable_stack_ensemble
必要

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

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 。 如果您有 中的 training_data 交叉驗證資料行 () ,請使用 cv_split_column_names

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_max 的組合 y_min 可用來根據輸入資料範圍將測試集計量正規化。 此設定已被取代。 相反地,此值會從資料計算。

y_max
必要

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

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 個反復專案開始,並尋找目前設定為 10) (early_stopping_n_iters反復專案。 這表示可以執行停止的第一個反復專案是第 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可以接受三個值:無 (預設) - 沒有 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

string

目標

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

True

自動

True

自動

True

True

自動

True

drop

True

自動

True

False

False

自動

False

False

False

False

drop

False

False

False

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%這些點,否則會引發錯誤。

無 (預設值)

彙總函式

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

某些值

彙總函式

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

enable_voting_ensemble
必要

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

enable_stack_ensemble
必要

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

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
必要

AutoMLConfig 類別物件。

use_gpu
必要

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

傳回

類型 Description

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