設定 AutoML 以使用 Python 定型時間序列預測模型
適用於:Python SDK azure-ai-ml v2 (目前)
在本文中,您將瞭解如何在 Azure Machine Learning Python SDK中使用 Azure Machine Learning 自動化 ML 設定時間序列預測模型的 AutoML 定型。
若要這樣做,您可以:
- 準備用於定型的資料。
- 在 預測作業中設定特定的時間序列參數。
- 從定型的時間序列模型取得預測。
針對低程式碼體驗,請參閱教學課程:使用自動化機器學習來預測需求,以取得關於在 Azure Machine Learning 工作室中使用自動化 ML 的時間序列預測範例。
AutoML 會使用標準機器學習模型以及已知的時間序列模型來建立預測。 我們的方法會在定型期間納入多個內容變數及其彼此的關聯性。 由於有多個因素可能會影響預測,因此此方法非常吻合真實世界的預測案例。 例如,當預測銷售時,歷史趨勢、匯率和價格的互動都可以共同推動銷售結果。 如需詳細資訊,請參閱我們的 預測方法文章。
必要條件
針對本文,您需要,
Azure Machine Learning 工作區。 若要建立工作區,請參閱建立工作區資源。
啟動 AutoML 訓練作業的能力。 如需詳細資訊,請遵循 如何設定 AutoML 的指南 。
定型和驗證資料
AutoML 預測的輸入資料必須包含表格式格式的有效時間序列。 每個變數都必須在資料表中有自己的對應資料行。 AutoML 至少需要 兩個數據 行:代表時間軸的時間資料行,以及要預測的數量 目標資料行 。 其他資料行可作為預測值。 如需詳細資訊,請參閱 AutoML 如何使用您的資料。
重要
將模型定型以預測未來值時,請確定在針對想要的範圍執行預測時,可使用定型中使用的所有特徵。
例如,目前股票價格的功能可能會大幅增加定型精確度。 不過,如果想要預測較長範圍的情況,則可能無法精確地預測與未來時間序列點對應的未來股價值,且模型精確度可能會受到影響。
AutoML 預測作業需要您的定型資料以 MLTable 物件表示。 MLTable 會指定資料來源和載入資料的步驟。 如需詳細資訊和使用案例,請參閱 MLTable 操作指南。 例如,假設您的定型資料包含在本機目錄的 CSV 檔案中。 ./train_data/timeseries_train.csv
您可以將下列 YAML 程式碼複製到新的檔案,以定義新的 MLTable: ./train_data/MLTable
$schema: https://azuremlschemas.azureedge.net/latest/MLTable.schema.json
type: mltable
paths:
- file: ./timeseries_train.csv
transformations:
- read_delimited:
delimiter: ','
encoding: ascii
您現在可以使用 Azure Machine Learning Python SDK 來定義輸入資料物件,這是啟動定型作業所需的物件,如下所示:
from azure.ai.ml.constants import AssetTypes
from azure.ai.ml import Input
# Training MLTable defined locally, with local data to be uploaded
my_training_data_input = Input(
type=AssetTypes.MLTABLE, path="./train_data"
)
您可以建立 MLTable 和輸入資料物件,以類似的方式指定 驗證 資料。 或者,如果您未提供驗證資料,AutoML 會自動從定型資料建立交叉驗證分割,以用於模型選取。 如需詳細資訊,請參閱我們的 預測模型選擇 文章。 另請參閱 定型資料長度需求 ,以取得成功定型預測模型所需定型資料的詳細資料。
深入瞭解 AutoML 如何套用交叉驗證, 以防止過度調整。
要執行實驗的計算
AutoML 會使用完全受控的計算資源 Azure Machine Learning Compute 來執行定型作業。 在下列範例中,會建立名為 cpu-compute
的計算叢集:
from azure.ai.ml.entities import AmlCompute
# specify aml compute name.
cpu_compute_target = "cpu-cluster"
try:
ml_client.compute.get(cpu_compute_target)
except Exception:
print("Creating a new cpu compute target...")
compute = AmlCompute(
name=cpu_compute_target, size="STANDARD_D2_V2", min_instances=0, max_instances=4
)
ml_client.compute.begin_create_or_update(compute).result()
設定實驗
有數個選項可用來設定 AutoML 預測實驗。 這些組態參數是在 automl.forecasting () 工作方法中設定。 您也可以分別使用 set_training () 和 set_limits () 函式來設定作業訓練設定和結束準則。
下列範例示範如何建立具有標準化根平均平方誤差作為主要計量的預測作業,並自動設定交叉驗證折迭:
from azure.ai.ml import automl
# note that the below is a code snippet -- you might have to modify the variable values to run it successfully
forecasting_job = automl.forecasting(
compute=compute_name,
experiment_name=exp_name,
training_data=my_training_data_input,
target_column_name=target_column_name,
primary_metric="NormalizedRootMeanSquaredError",
n_cross_validations="auto",
)
# Limits are all optional
forecasting_job.set_limits(
timeout_minutes=120,
trial_timeout_minutes=30,
max_concurrent_trials=4,
)
組態設定
預測工作有許多專屬於預測的設定。 使用 ForecastingJob 的 set_forecast_settings () 方法來設定預測參數。 在下列範例中,我們會在定型資料中提供時間資料行的名稱,並設定預測範圍:
# Forecasting specific configuration
forecasting_job.set_forecast_settings(
time_column_name=time_column_name,
forecast_horizon=24
)
時間資料行名稱是必要設定,您通常應該根據預測案例來設定預測範圍。 如果您的資料包含多個時間序列,您可以指定 時間序列識別碼資料行的名稱。 分組時,這些資料行會定義個別數列。 例如,假設您有來自不同商店和品牌每小時銷售的資料。 下列範例示範如何設定時間序列識別碼資料行,假設資料包含名為 「store」 和 「brand」 的資料行:
# Forecasting specific configuration
# Add time series IDs for store and brand
forecasting_job.set_forecast_settings(
..., # other settings
time_series_id_column_names=['store', 'brand']
)
如果未指定任何資料,AutoML 會嘗試自動偵測資料中的時間序列識別碼資料行。
其他設定是選擇性的,並在 選擇性設定 一節中檢閱。
選擇性設定
選擇性設定可用於預測工作,例如啟用深度學習和指定目標滾動視窗匯總。 forecast_settings API 檔中提供完整的參數清單。
模型搜尋設定
有兩個選擇性設定可控制模型空間,其中 AutoML 會搜尋最佳模型, allowed_training_algorithms
以及 blocked_training_algorithms
。 若要將搜尋空間限制為一組指定的模型類別,請使用 allowed_training_algorithms,如下列範例所示:
# Only search ExponentialSmoothing and ElasticNet models
forecasting_job.set_training(
allowed_training_algorithms=["ExponentialSmoothing", "ElasticNet"]
)
在此情況下,預測工作 只會 搜尋指數 Smoothing 和 Elastic Net 模型類別。 若要從搜尋空間中移除一組指定的模型類別,請使用 blocked_training_algorithms,如下列範例所示:
# Search over all model classes except Prophet
forecasting_job.set_training(
blocked_training_algorithms=["Prophet"]
)
現在,作業會搜尋所有模型類別,但有一 個例外 。 如需 和 blocked_training_algorithms
中 allowed_training_algorithms
接受的預測模型名稱清單,請參閱支援的預測模型和支援的回歸模型。
啟用深度學習
AutoML 隨附自訂深度神經網路 (DNN) 模型,稱為 TCNForecaster
。 此模型是 時態性卷積網路或 TCN,可將常見的映射工作方法套用至時間序列模型化。 也就是說,一維「因果」卷積形成網路骨幹,並讓模型在定型歷程記錄中長時間學習複雜的模式。 如需詳細資訊,請參閱 TCNForecaster 文章。
TCNForecaster 通常會在定型歷程記錄中有數千個以上的觀察時,達到比標準時間序列模型更高的精確度。 不過,由於其容量較高,因此訓練和掃掠 TCNForecaster 模型也需要較長的時間。
您可以在 AutoML 中啟用 TCNForecaster,方法是在 set_training () 方法中設定 enable_dnn_training
旗標,如下所示:
# Include TCNForecaster models in the model search
forecasting_job.set_training(
enable_dnn_training=True
)
如要啟用在 Azure Machine Learning 工作室中建立的 AutoML 實驗 DNN,請參閱工作室 UI 中工作類型設定的操作說明。
注意
- 當您針對以 SDK 建立的實驗啟用 DNN 時,系統會停用最佳模型說明。
- 在自動化機器學習中預測的 DNN 支援不支援在 Databricks 中起始的執行。
- 啟用 DNN 定型時,建議使用 GPU 計算類型
目標移動時段彙總
目標最近的值通常會影響預測模型中的功能。 滾動視窗匯總可讓您將資料值的滾動匯總新增為特徵。 產生和使用這些特徵做為額外的內容資料,可協助提高定型模型的正確性。
請考慮能源需求預測案例,其中有天氣資料和歷史需求可供使用。 下表顯示在最近三小時內套用視窗匯總時所發生的結果特徵工程。 最小、最大值和總和的資料行會根據定義的設定,在三小時的滑動視窗中產生。 例如,針對在 2017 年 9 月 8 日上午 4:00 有效的觀察,會使用 2017 年 9 月 8 日 1:00 - 上午 3:00 的要求值來計算最大值、最小值和總和 值 。 此三小時的時段會隨著移動,以填入其餘資料列的資料。
您可以啟用滾動視窗匯總功能,並透過 set_forecast_settings () 方法設定視窗大小。 在下列範例中,我們會將視窗大小設定為 「auto」,讓 AutoML 會自動判斷資料的良好值:
forecasting_job.set_forecast_settings(
..., # other settings
target_rolling_window_size='auto'
)
短序列處理
如果資料點不足,自動化 ML 會將時間 序列視為簡短序列 ,以執行模型開發的定型和驗證階段。 如需長度需求的詳細資訊,請參閱 定型資料長度需求 。
AutoML 有數個可針對簡短數列採取的動作。 這些動作可使用 設定進行 short_series_handling_config
設定。 預設值為 「auto」。下表描述設定:
設定 | 描述 |
---|---|
auto |
簡短數列處理的預設值。 - 如果所有數列都簡短,請填補資料。 - 如果並非所有數列都是簡短的,請卸載簡短數列。 |
pad |
若 short_series_handling_config = pad ,則自動化 ML 會新增隨機值至其所找到的每個短序列。 下列列出資料行類型及其所填補的內容:- 具有 NaN 的物件資料行 - 具有 0 的數值資料行 - 布林值/邏輯資料行與 False - 目標資料行會填補為零的隨機值,而標準差為 1。 |
drop |
若 short_series_handling_config = drop ,則自動 ML 會捨棄短序列,不會將其用於定型或預測。 這些序列的預測將會傳回 NAN。 |
None |
未填補或卸除任何序列 |
在下列範例中,我們會設定簡短數列處理,讓所有簡短數列都填補為最小長度:
forecasting_job.set_forecast_settings(
..., # other settings
short_series_handling_config='pad'
)
警告
我們引入人工資料的目的就在於讓定型免於發生失敗,但填補卻可能會影響產出模型的正確性。 若有眾多短序列,可能也會對於可解釋性結果造成一些影響
頻率 & 目標資料彙總
使用頻率和資料匯總選項,以避免發生異常資料所造成的失敗。 如果資料未遵循一組時間的步調,例如每小時或每日,則資料會不規則。 銷售點資料是異常資料的良好範例。 在這些情況下,AutoML 可以將您的資料匯總到所需的頻率,然後從匯總建置預測模型。
您必須設定 frequency
和 target_aggregate_function
設定,以處理不規則的資料。 頻率設定接受 Pandas DateOffset 字串 作為輸入。 匯總函式支援的值如下:
函式 | 描述 |
---|---|
sum |
目標值的總和 |
mean |
目標值的平均數或平均值 |
min |
目標的最小值 |
max |
目標的最大值 |
- 目標資料行值會根據指定的作業進行匯總。 一般而言,總和適用于大部分的案例。
- 資料中的數值預測值資料行會依總和、平均值、最小值和最大值來匯總。 因此,自動化 ML 會產生尾碼為匯總函數名稱的新資料行,並套用選取的匯總作業。
- 針對類別預測值資料行,資料會依模式匯總,這是視窗中最顯著的類別。
- 日期預測值資料行會依最小值、最大值和模式進行匯總。
下列範例會將頻率設定為每小時,並將匯總函數設定為加總:
# Aggregate the data to hourly frequency
forecasting_job.set_forecast_settings(
..., # other settings
frequency='H',
target_aggregate_function='sum'
)
自訂交叉驗證設定
有兩個可自訂的設定可控制預測作業的交叉驗證:折迭數目, n_cross_validations
以及定義折迭之間時間位移的步驟大小。 cv_step_size
如需這些參數意義的詳細資訊,請參閱 預測模型選擇 。 根據預設,AutoML 會根據資料的特性自動設定這兩個設定,但進階使用者可能會想要手動設定這些設定。 例如,假設您有每日銷售資料,而且您希望驗證設定包含五個折迭,且相鄰折迭之間有七天的位移。 下列程式碼範例示範如何設定下列各項:
from azure.ai.ml import automl
# Create a job with five CV folds
forecasting_job = automl.forecasting(
..., # other training parameters
n_cross_validations=5,
)
# Set the step size between folds to seven days
forecasting_job.set_forecast_settings(
..., # other settings
cv_step_size=7
)
自訂特徵化
根據預設,AutoML 會使用工程功能來增強定型資料,以提高模型的精確度。 如需詳細資訊,請參閱 自動化功能工程 。 您可以使用預測作業的 方法來自訂 set_featurization()
部分前置處理步驟。
預測支援的自訂包括:
自訂 | 描述 | 選項。 |
---|---|---|
資料行用途更新 | 覆寫指定資料行的自動偵測特徵類型。 | 「Categorical」、「DateTime」、「Numeric」 |
轉換器參數更新 | 更新指定插補器的參數。 | {"strategy": "constant", "fill_value": <value>} , {"strategy": "median"} , {"strategy": "ffill"} |
例如,假設您有零售需求案例,其中資料包含價格、「銷售時」旗標和產品類型等功能。 下列範例示範如何設定這些功能的自訂類型和插補:
from azure.ai.ml.automl import ColumnTransformer
# Customize imputation methods for price and is_on_sale features
# Median value imputation for price, constant value of zero for is_on_sale
transformer_params = {
"imputer": [
ColumnTransformer(fields=["price"], parameters={"strategy": "median"}),
ColumnTransformer(fields=["is_on_sale"], parameters={"strategy": "constant", "fill_value": 0}),
],
}
# Set the featurization
# Ensure that product_type feature is interpreted as categorical
forecasting_job.set_featurization(
mode="custom",
transformer_params=transformer_params,
column_name_and_types={"product_type": "Categorical"},
)
若您在實驗中使用 Azure Machine Learning 工作室,請參閱如何在工作室中自訂特徵化。
執行實驗
設定好所有設定之後,您可以透過 mlcient
啟動預測工作,如下所示:
# Submit the AutoML job
returned_job = ml_client.jobs.create_or_update(
forecasting_job
)
print(f"Created job: {returned_job}")
# Get a URL for the status of the job
returned_job.services["Studio"].endpoint
使用定型模型進行預測
一旦您使用 AutoML 來定型並選取最佳模型,下一個步驟就是評估模型。 如果符合您的需求,您可以使用它來產生未來預測。 本節說明如何撰寫 Python 腳本以進行評估和預測。 如需使用推斷腳本部署定型模型的範例,請參閱我們的 範例筆記本。
使用滾動式預測評估模型精確度
將模型放入生產環境之前,您應該在定型資料中保留的測試集上評估其精確度。 最佳做法程式是一種滾動評估,會隨著測試集向前變換定型預測器,以平均數個預測時段的錯誤計量。 在理想情況下,評估的測試集相對於模型的預測時間範圍很長。 預測錯誤的估計值可能是統計上的雜訊,因此比較不可靠。
例如,假設您對於每日銷售定型模型,以預測未來最多兩週 (14 天) 的需求。 如果有足夠的歷史資料可用,您可能會保留最後幾個月,甚至測試集的一年資料。 滾動式評估從產生測試集前兩週的提前 14 天預測開始。 然後,預測工具會在測試集內提前一些天數,而您從新位置產生另一個提前 14 天的預測。 此程序會繼續執行,直到您到達測試集的結尾為止。
若要進行滾動式評估,您可以呼叫 fitted_model
的 rolling_forecast
方法,然後在結果上計算所需的計量。 下列程式碼範例會顯示滾動評估推斷腳本:
"""
This is the script that is executed on the compute instance. It relies
on the model.pkl file which is uploaded along with this script to the
compute instance.
"""
import os
import pandas as pd
from sklearn.externals import joblib
def init():
global target_column_name
global fitted_model
target_column_name = os.environ["TARGET_COLUMN_NAME"]
# AZUREML_MODEL_DIR is an environment variable created during deployment
# It is the path to the model folder (./azureml-models)
# Please provide your model's folder name if there's one
model_path = os.path.join(os.environ["AZUREML_MODEL_DIR"], "model.pkl")
try:
fitted_model = joblib.load(model_path)
except Exception:
print("Loading pickle failed. Trying torch.load()")
import torch
model_path = os.path.join(os.environ["AZUREML_MODEL_DIR"], "model.pt")
device = torch.device("cuda:0" if torch.cuda.is_available() else "cpu")
fitted_model = torch.load(model_path, map_location=device)
def run(mini_batch):
print(f"run method start: {__file__}, run({mini_batch})")
resultList = []
for test in mini_batch:
if not test.endswith(".csv"):
continue
X_test = pd.read_csv(test, parse_dates=[fitted_model.time_column_name])
y_test = X_test.pop(target_column_name).values
# Make a rolling forecast, advancing the forecast origin by 1 period on each iteration through the test set
X_rf = fitted_model.rolling_forecast(
X_test, y_test, step=1, ignore_data_errors=True
)
resultList.append(X_rf)
return pd.concat(resultList, sort=False, ignore_index=True)
在此範例中,滾動預測的步驟大小會設定為一個,這表示預測工具在每個反復專案中是進階一個期間,或在我們的需求預測範例中設定一天。 所 rolling_forecast
傳回的預測總數取決於測試集的長度和此步驟大小。 如需詳細資料和範例,請參閱rolling_forecast () 檔和預測,以離開訓練資料筆記本。
預測未來
forecast_quantiles () 會產生預測分佈指定量子的預測。 因此,這個方法提供一個方法,讓點預測具有不確定的圓錐。 請參閱不使用定型資料來執行預測筆記本 (英文) 以進一步瞭解。
在下列範例中,您會先將 y_pred
中的所有值取代為 NaN
。 在此案例中,預測來源位於定型資料的結尾。 不過,如果只以 NaN
取代 y_pred
的後半部分,則此函式不會修改前半部分的數值,但會預測後半部分的 NaN
值。 此函式會傳回預測的值和調整後的特徵。
您也可以使用 forecast_quantiles()
函式中的 forecast_destination
參數,預測直到指定日期為止的值。
label_query = test_labels.copy().astype(np.float)
label_query.fill(np.nan)
label_fcst, data_trans = fitted_model.forecast_quantiles(
test_dataset, label_query, forecast_destination=pd.Timestamp(2019, 1, 8)
)
此處未指定任何量子位,因此只會產生點預測。 您可能想要瞭解分佈特定分位數的預測。 例如,當您使用預測來控制雜貨商品或雲端服務虛擬機器等庫存時。 在這種情況下,控制點通常會像是「我們希望商品的庫存在 99% 的時間中都不會有耗盡的時候」。 下列範例示範如何指定預測分位數,例如第 50 個或第 95 個百分位數:
# Get forecasts for the 5th, 50th, and 90th percentiles
fitted_model.quantiles = [0.05, 0.5, 0.9]
fitted_model.forecast_quantiles(
test_dataset, label_query, forecast_destination=pd.Timestamp(2019, 1, 8)
)
您可以計算模型計量,例如均方根誤差 (RMSE) 或平均絕對百分比誤差 (MAPE),以協助您評估模型效能。 如需範例,請參閱自行車共用需求筆記本的〈評估〉一節。
決定整體模型正確性後,最實際的下一步即是使用模型來預測未知的未來值。
如果使用與測試集 test_dataset
相同的格式來提供資料集,但具有未來的日期時間,則所產生預測集是每個時間序列步驟的預測值。 假設資料集的最後一筆記錄是 2018 年 12 月 31 日。 若要預測需求,請為 2019 年 1 月 1 日開始的每個商店建立時間序列記錄。
day_datetime,store,week_of_year
01/01/2019,A,1
01/01/2019,A,1
重複必要的步驟,將此未來資料載入資料框架,然後執行 best_run.forecast_quantiles(test_dataset)
以預測未來的值。
注意
啟用 target_lags
和/或 target_rolling_window_size
時,在範例預測中不支援使用自動化 ML 進行預測。
大規模預測
重要
Azure Machine Learning v1 目前僅支援許多模型和階層式時間序列。 即將提供 Azure Machine Learning v2 的支援。
在某些情況下單一機器學習模型不足,而需要多個機器學習模型。 例如,預測品牌的每間個別商店銷售額,或量身打造個別使用者的體驗。 為每個執行個體建立模型,可能會改善許多機器學習問題的結果。
群組是時間序列預測的概念,可將時間序列合併以針對每個群組定型個別模型。 如果您有時間序列需要平滑、填滿或群組中的實體,而這些時間序列可受益于其他實體的歷程記錄或趨勢,這個方法特別有用。 許多模型和階層式時間序列預測,都是由自動化機器學習為這些大規模預測案例提供的解決方案。
許多模型
使用自動化機器學習的 Azure Machine Learning 許多模型方案,可讓使用者同時定型和管理數百萬個模型。 許多模型解決方案加速器會使用 Azure Machine Learning 管線 來定型模型。 具體而言,系統會使用 [管線] 物件和 ParalleRunStep,並需要透過 ParallelRunConfig 設定的特定設定參數。
下圖顯示許多模型解決方案的工作流程。
下列程式碼示範使用者設定許多模型執行所需的金鑰參數。 查看許多模型 - 自動化 ML 筆記本 (英文),以取得許多模型預測範例
from azureml.train.automl.runtime._many_models.many_models_parameters import ManyModelsTrainParameters
partition_column_names = ['Store', 'Brand']
automl_settings = {"task" : 'forecasting',
"primary_metric" : 'normalized_root_mean_squared_error',
"iteration_timeout_minutes" : 10, #This needs to be changed based on the dataset. Explore how long training is taking before setting this value
"iterations" : 15,
"experiment_timeout_hours" : 1,
"label_column_name" : 'Quantity',
"n_cross_validations" : "auto", # Could be customized as an integer
"cv_step_size" : "auto", # Could be customized as an integer
"time_column_name": 'WeekStarting',
"max_horizon" : 6,
"track_child_runs": False,
"pipeline_fetch_max_batch_size": 15,}
mm_paramters = ManyModelsTrainParameters(automl_settings=automl_settings, partition_column_names=partition_column_names)
階層式時間序列預測
在大部分應用程式中,客戶必須瞭解其在商務宏和微層級的預測;無論是預測不同地理位置的產品銷售量,還是瞭解公司不同組織的預期員工需求。 將機器學習模型定型,並有智慧地預測階層資料,是不可或缺的能力。
階層式時間序列是序列具有巢狀屬性的結構。 地理或產品目錄屬性是自然範例。 下列範例會顯示具有形成階層唯一屬性的資料。 在這裡階層的定義方式如下:產品類型,例如耳機或平板電腦、將產品類型分割為配件和裝置的產品類別,以及產品的銷售區域。
為了進一步將其視覺化,階層的分葉層級包含所有時間序列,並具有屬性值的唯一組合。 在階層中的層級每高一層,就會少考慮一個定義時間序列的維度,並將來自較低層級的每組子節點彙總至父節點。
階層式時間序列解決方案是以「許多模型解決方案」為建置基礎,並共用類似的組態設定。
下列程式碼示範用來設定階層式時間序列預測執行的金鑰參數。 如需端對端範例,請參閱階層式時間序列 - 自動化 ML 筆記本 (英文)。
from azureml.train.automl.runtime._hts.hts_parameters import HTSTrainParameters
model_explainability = True
engineered_explanations = False # Define your hierarchy. Adjust the settings below based on your dataset.
hierarchy = ["state", "store_id", "product_category", "SKU"]
training_level = "SKU"# Set your forecast parameters. Adjust the settings below based on your dataset.
time_column_name = "date"
label_column_name = "quantity"
forecast_horizon = 7
automl_settings = {"task" : "forecasting",
"primary_metric" : "normalized_root_mean_squared_error",
"label_column_name": label_column_name,
"time_column_name": time_column_name,
"forecast_horizon": forecast_horizon,
"hierarchy_column_names": hierarchy,
"hierarchy_training_level": training_level,
"track_child_runs": False,
"pipeline_fetch_max_batch_size": 15,
"model_explainability": model_explainability,# The following settings are specific to this sample and should be adjusted according to your own needs.
"iteration_timeout_minutes" : 10,
"iterations" : 10,
"n_cross_validations" : "auto", # Could be customized as an integer
"cv_step_size" : "auto", # Could be customized as an integer
}
hts_parameters = HTSTrainParameters(
automl_settings=automl_settings,
hierarchy_column_names=hierarchy,
training_level=training_level,
enable_engineered_explanations=engineered_explanations
)
Notebook 範例
如需進階預測設定的詳細程式碼範例,請參閱預測範例筆記本,包括:
後續步驟
- 深入了解如何將 AutoML 模型部署到線上端點。
- 瞭解關於可解釋性:自動化機器學習中的模型說明 (預覽)的資訊。
- 瞭解 AutoML 如何建置預測模型。
- 瞭解如何 針對各種預測案例設定 AutoML。