使用 Python (SDKv1) 設定 AutoML 來定型時間序列預測模型

適用於:Python SDK azureml v1

在本文中,您將瞭解如何在 Azure Machine Learning Python SDK 中使用 Azure Machine Learning 自動化 ML,來設定時間序列預測模型的 AutoML 定型。

若要這樣做,您可以:

  • 準備資料以進行時間序列模型化。
  • AutoMLConfig 物件中設定特定的時間序列參數。
  • 使用時間序列資料執行預測。

針對低程式碼體驗,請參閱教學課程:使用自動化機器學習來預測需求,以取得關於在 Azure Machine Learning 工作室中使用自動化 ML 的時間序列預測範例。

不同於傳統的時間序列方法,在自動化 ML 中,過去的時間序列值會進行「樞紐處理」,以與其他預測變量一起成為迴歸輸入變數的附加維度。 這個方法會在定型期間結合多個內容變數及其相互關聯性。 由於有多個因素可能會影響預測,因此此方法非常吻合真實世界的預測案例。 例如在預測銷售時,歷程記錄趨勢、匯率和價格的相互作用全都會共同推動銷售結果。

必要條件

針對本文,您需要,

定型和驗證資料

自動化機器學習中預測迴歸工作類型與迴歸工作類型之間最重要的差異,就是在定型資料中包含代表有效時間序列的特徵。 一般時間序列具有妥善定義且一致的頻率,且在連續時間範圍內的每個取樣點都有一個值。

重要

將模型定型以預測未來值時,請確定在針對想要的範圍執行預測時,可使用定型中使用的所有特徵。 例如,建立需求預測時,包括目前股價的特徵可能會大幅增加定型準確度。 不過,如果想要預測較長範圍的情況,則可能無法精確地預測與未來時間序列點對應的未來股價值,且模型精確度可能會受到影響。

您可直接在 AutoMLConfig 物件中,指定個別的定型資料和驗證資料。 深入了解 AutoMLConfig

針對時間序列預測,系統依預設僅會使用移動原點交叉驗證 (ROCV) 來執行驗證。 ROCV 會使用原始時間點來將序列分割成定型和驗證資料。 滑動時間原點即會產生交叉驗證摺疊。 此策略會保留時間序列資料完整性,並消除資料外洩的風險。

顯示交叉驗證摺疊根據交叉驗證步驟大小分隔定型和驗證集的圖表。

將定型和驗證資料當作一個資料集傳遞至參數 training_data。 使用參數 n_cross_validations 設定交叉驗證摺疊的數目,並使用 cv_step_size 設定兩個連續交叉驗證摺疊之間的期間數。 您也可以將任一或兩個參數保留空白,而 AutoML 會自動加以設定。

適用於:Python SDK azureml v1

automl_config = AutoMLConfig(task='forecasting',
                             training_data= training_data,
                             n_cross_validations="auto", # Could be customized as an integer
                             cv_step_size = "auto", # Could be customized as an integer
                             ...
                             **time_series_settings)

您也可以帶入自己的驗證資料,如需深入瞭解,請參閱〈在 AutoML 中設定資料分割和交叉驗證〉。

深入瞭解 AutoML 如何套用交叉驗證以防止過度調整模型

設定實驗

AutoMLConfig 物件會定義自動化機器學習工作所需的設定和資料。 預測模型的設定類似於設定標準迴歸模型,但特定的模型、設定選項和特徵化步驟則特別存在於時間序列資料中。

支援的模型

自動化機器學習會在建立和微調程序的過程中,自動嘗試不同的模型和演算法。 身為使用者,您不需要指定演算法。 針對預測實驗,原生時間序列和深度學習模型都屬於建議系統的一部分。

提示

傳統的迴歸模型也會做為建議系統的一部分進行測試,以執行預測實驗。 請參閱 SDK 參考文件中的支援模型完整清單。

組態設定

類似於迴歸問題,您可定義標準定型參數,例如工作類型、反覆項目數目、定型資料,以及交叉驗證的數目。 預測工作需要 time_column_nameforecast_horizon 參數來設定實驗。 如果資料包含多個時間序列,例如多個商店的銷售資料或不同州省的能源資料,自動化 ML 會自動偵測到此情況,並為您設定 time_series_id_column_names 參數 (預覽)。 您也將其他參數包含在內,更完善地設定執行,如需關於可包含哪些內容的詳細資訊,請參閱選用設定一節。

重要

自動時間序列識別目前為公開預覽狀態。 在此提供的這個預覽版本並無服務等級協定。 可能不支援特定功能,或可能已經限制功能。 如需詳細資訊,請參閱 Microsoft Azure 預覽版增補使用條款

參數名稱 描述
time_column_name 用來指定輸入資料中用來建置時間序列並推斷其頻率的日期時間資料行。
forecast_horizon 定義您想向前預測的期間數。 範圍是以時間序列頻率為單位。 單位是以預測器應預測出的定型資料時間間隔為基礎,例如,每月、每週。

下列程式碼,

  • 運用 ForecastingParameters 類別來定義實驗定型的預測參數
  • time_column_name 設定為資料集內的 day_datetime 欄位。
  • forecast_horizon 設定為 50,以預測整個測試集。
from azureml.automl.core.forecasting_parameters import ForecastingParameters

forecasting_parameters = ForecastingParameters(time_column_name='day_datetime', 
                                               forecast_horizon=50,
                                               freq='W')
                                              

這些 forecasting_parameters 隨後會與 forecasting 工作類型、主要計量、允出準則和定型資料,一同傳遞至您的標準 AutoMLConfig 物件。

from azureml.core.workspace import Workspace
from azureml.core.experiment import Experiment
from azureml.train.automl import AutoMLConfig
import logging

automl_config = AutoMLConfig(task='forecasting',
                             primary_metric='normalized_root_mean_squared_error',
                             experiment_timeout_minutes=15,
                             enable_early_stopping=True,
                             training_data=train_data,
                             label_column_name=label,
                             n_cross_validations="auto", # Could be customized as an integer
                             cv_step_size = "auto", # Could be customized as an integer
                             enable_ensembling=False,
                             verbosity=logging.INFO,
                             forecasting_parameters=forecasting_parameters)

使用自動化 ML 成功定型預測模型所需的資料量,會受到您設定 AutoMLConfig 時所指定的 forecast_horizonn_cross_validationstarget_lagstarget_rolling_window_size 值所影響。

下列公式會計算用來建構時間序列特徵所需的歷程資料量。

所需的最少歷程資料量:(2x forecast_horizon) + #n_cross_validations + max(max(target_lags), target_rolling_window_size)

若資料集內的任何序列皆不符合所指定相關設定的所需歷程資料量,則會引發 Error exception

特徵化步驟

在每個自動化機器學習實驗中,系統預設會將自動調整和正規化技術套用至您的資料。 這些技術屬於特徵化的類型,可協助對不同規模的特徵較為敏感的「特定」演算法。 深入瞭解 在 AutoML 中特徵化的預設特徵化步驟

不過,下列步驟只會針對 forecasting 工作類型執行:

  • 偵測時間序列取樣頻率 (例如,每小時、每天、每週),並為不存在的時間點建立新記錄,使序列連續不斷。
  • 插補目標中的遺漏值 (透過向前填滿),以及插補特徵資料行中的遺漏值 (使用中位數的資料行值)
  • 建立以時間序列識別碼為基礎的特徵,以維持跨不同序列的固定效果
  • 建立時間型特徵,以協助學習季節性模式
  • 將類別變數編碼為數值數量
  • 偵測非固定時間序列並自動加以區別,以減輕單位根目錄的影響。

若要檢視從時間序列資料產生的可能工程功能完整清單,請參閱 TimeIndexFeaturizer 類別

注意

自動化機器學習特徵化步驟 (功能標準化、處理遺漏的資料、將文字轉換為數值等等) 會成為基礎模型的一部分。 使用模型進行預測時,定型期間所套用的相同特徵化步驟會自動套用至您的輸入資料。

自訂特徵化

您也可以選擇自訂特徵化設定,以確保用來定型 ML 模型的資料和特徵會產生相關的預測。

支援的 forecasting 工作自訂項目包含:

自訂 定義
資料行用途更新 覆寫指定資料行的自動偵測特徵類型。
轉換器參數更新 更新所指定轉換器的參數。 系統目前支援 Imputer (fill_value 和中位數)。
卸除資料行 指定不進行特徵化的資料行。

如要使用 SDK 自訂特徵化,請在您的 AutoMLConfig 物件中指定 "featurization": FeaturizationConfig。 深入瞭解自訂特徵化

注意

從 SDK 1.19 版起,卸除資料行功能已被取代。 在您的自動化 ML 實驗中取用資料行之前,請先在資料清除過程中將這些資料行自資料集卸除。

featurization_config = FeaturizationConfig()

# `logQuantity` is a leaky feature, so we remove it.
featurization_config.drop_columns = ['logQuantitity']

# Force the CPWVOL5 feature to be of numeric type.
featurization_config.add_column_purpose('CPWVOL5', 'Numeric')

# Fill missing values in the target column, Quantity, with zeroes.
featurization_config.add_transformer_params('Imputer', ['Quantity'], {"strategy": "constant", "fill_value": 0})

# Fill mising values in the `INCOME` column with median value.
featurization_config.add_transformer_params('Imputer', ['INCOME'], {"strategy": "median"})

若您在實驗中使用 Azure Machine Learning 工作室,請參閱如何在工作室中自訂特徵化

選擇性設定

系統亦提供其他選擇性設定適用於預測工作,例如啟用深度學習和指定目標移動時段彙總。 您可以在ForecastingParameters SDK 參考文件中,取得其他參數的完整清單。

頻率 & 目標資料彙總

運用頻率、freq、參數來避免異常資料所造成的失敗,這些資料指的是未遵循設定頻率 (例如每小時或每日資料) 的資料。

針對高度異常的資料或不同的商務需求,使用者可選擇性地設定所需的預測頻率 (freq) 並指定 target_aggregation_function 來彙總時間序列的目標資料行。 運用 AutoMLConfig 物件中的這兩個設定,有助於節省資料準備的時間。

針對目標資料行值支援的彙總作業包括:

函式 描述
sum  目標值的總和
mean  目標值的平均數或平均值
min 目標的最小值
max 目標的最大值

啟用深度學習

注意

自動化機器學習中對預測的 DNN 支援處於預覽階段,且不支援本機執行或在 Databricks 中啟動。

您也可以運用深度神經網路 (DNN) 來套用深度學習,以改善模型的分數。 自動化 ML 的深度學習可供預測單一變量和多變量時間序列資料。

深度學習模型有三種內建功能:

  1. 可從輸入到輸出的任意對應中學習
  2. 支援多個輸入和輸出
  3. 可從跨越長序列的輸入資料中自動擷取模式。

如要啟用深度學習,請在 AutoMLConfig 物件中設定 enable_dnn=True

automl_config = AutoMLConfig(task='forecasting',
                             enable_dnn=True,
                             ...
                             forecasting_parameters=forecasting_parameters)

警告

當您針對以 SDK 建立的實驗啟用 DNN 時,系統會停用最佳模型說明

如要啟用在 Azure Machine Learning 工作室中建立的 AutoML 實驗 DNN,請參閱工作室 UI 中工作類型設定的操作說明

目標移動時段彙總

預測器可擁有的最佳資訊通常是目標其最新值。 目標移動時段彙總可讓您新增資料值的移動彙總做為特徵。 產生和使用這些特徵做為額外的內容資料,可協助提高定型模型的正確性。

例如,假設您想要預測能源需求。 您可能想要新增三天的移動時段特徵,將加熱空間的熱變化納入考量。 在此範例中,請在 AutoMLConfig 建構函式中設定 target_rolling_window_size= 3,以建立此時段。

此資料表顯示套用時段彙總時所發生的特徵工程。 根據定義設定中的三個滑動視窗,系統產生最小值、最大值總和資料行。 每個資料列都有新的計算特徵,如果是 2017 年 9 月 8 日上午 4:00 的時間戳記,則會使用 2017 年 9 月 8 日上午 1:00 到上午 3:00 的需求值來計算最大值、最小值和總和。 這三個時段會移位以在剩餘的資料列中填入資料。

目標移動視窗

請檢視套用目標移動時段彙總特徵的 Python 程式碼範例。

短序列處理

若沒有足夠的資料點可執行模型開發的定型和驗證階段,自動化 ML 會將時間序列視為短序列。 每個實驗的資料點數目各不相同,且取決於 max_horizon、交叉驗證分割的數目和模型回顧的長度,也就是建構時間序列功能所需的最大歷程記錄。

自動化 ML 預設會使用 ForecastingParameters 物件中的 short_series_handling_configuration 參數,來提供簡短序列處理。

如要啟用短序列處理,也必須定義 freq 參數。 如要定義每小時頻率,我們會設定 freq='H'。 瀏覽 pandas 時間序列頁面的 DataOffset 物件一節,以檢視頻率字串選項。 如要變更預設行為 short_series_handling_configuration = 'auto',請在 ForecastingParameter 物件中更新 short_series_handling_configuration 參數。

from azureml.automl.core.forecasting_parameters import ForecastingParameters

forecast_parameters = ForecastingParameters(time_column_name='day_datetime', 
                                            forecast_horizon=50,
                                            short_series_handling_configuration='auto',
                                            freq = 'H',
                                            target_lags='auto')

下表會摘要說明 short_series_handling_config 的可用設定。

設定 Description
auto 簡短數列處理的預設值。
- 如果所有數列都很短,請填補資料。
- 如果並非所有數列都是簡短的,請卸載簡短數列。
pad short_series_handling_config = pad,則自動化 ML 會新增隨機值至其所找到的每個短序列。 下列列出資料行類型及其填補的內容:
- 具有 NaN 的物件資料行
- 具有 0 的數值資料行
- 具有 False 的布林值/邏輯資料行
- 目標資料行會填補隨機值,平均值為零,標準差為 1。
drop short_series_handling_config = drop,則自動 ML 會捨棄短序列,不會將其用於定型或預測。 這些序列的預測將會傳回 NAN。
None 未填補或卸除任何序列

警告

我們引入人工資料的目的就在於讓定型免於發生失敗,但填補卻可能會影響產出模型的正確性。 若有眾多短序列,可能也會對於可解釋性結果造成一些影響

非固定時間序列偵測和處理

時間序列,其時間序列 (平均數和變異數,) 隨著時間變更稱為 非固定。 例如,展示隨機趨勢的時間序列本質上是非固定趨勢。 為了視覺化這一點,下圖繪製一般向上趨勢的數列。 現在,計算並比較數列前半部的平均 (平均) 值。 兩者相同嗎? 在這裡,繪圖前半部的數列平均數明顯小於後半部。 序列平均數取決於所查看時間間隔的事實,就是時間變化的時刻範例。 在這裡,數列的平均數是第一刻。

顯示非固定時間序列零售銷售的圖表。

接下來,讓我們檢查下圖,其繪製第一個差異中的原始數列,$x_t = y_t - y_{t-1}$,其中 $x_t$ 是零售銷售變更,$y_t$ 和 $y_{t-1}$ 分別代表原始數列及其第一個延遲。 不論所查看的時間範圍為何,數列的平均數大致都是固定的。 這是第一個順序固定時間序列的範例。 我們新增第一個訂單字詞的原因是第一個時間 (表示) 不會隨著時間間隔而變更,這與差異相同,也就是第二刻。

顯示弱式固定時間序列零售銷售的圖表。

AutoML 機器學習模型原本無法處理隨機趨勢,或與非固定時間序列相關聯的其他已知問題。 因此,如果存在這類趨勢,其樣本預測精確度將會「不佳」。

AutoML 會自動分析時間序列資料集,以檢查它是否為固定資料集。 偵測到非固定時間序列時,AutoML 會自動套用差異轉換,以減輕非固定時間序列的影響。

執行實驗

AutoMLConfig 物件就緒時,即可提交實驗。 在模型完成之後,請擷取最佳的執行反覆項目。

ws = Workspace.from_config()
experiment = Experiment(ws, "Tutorial-automl-forecasting")
local_run = experiment.submit(automl_config, show_output=True)
best_run, fitted_model = local_run.get_output()

使用最佳模型進行預測

使用最佳模型反覆運算,預測未用來定型模型的資料值。

使用滾動式預測評估模型精確度

將模型放入生產環境之前,您應該在定型資料中保留的測試集上評估其精確度。 最佳做法程序是所謂的滾動式評估,其針對測試集將定型的預測工具時間向前滾動,將錯誤計量平均於數個預測時段,以取得某組所選計量的統計健全估計值。 在理想情況下,評估的測試集相對於模型的預測時間範圍很長。 預測錯誤的估計值可能是統計上的雜訊,因此比較不可靠。

例如,假設您對於每日銷售定型模型,以預測未來最多兩週 (14 天) 的需求。 如果有足夠的歷史資料可用,您可保留最後數個月的資料,甚至是測試集的一年資料。 滾動式評估從產生測試集前兩週的提前 14 天預測開始。 然後,預測工具會在測試集內提前一些天數,而您從新位置產生另一個提前 14 天的預測。 此程序會繼續執行,直到您到達測試集的結尾為止。

若要進行滾動式評估,您可以呼叫 fitted_modelrolling_forecast 方法,然後在結果上計算所需的計量。 例如,假設您在名為 test_features_df 的 pandas DataFrame 中具有測試集功能,並在名為 test_target 的 numpy 陣列中有目標的設定集實際值。 使用平均平方誤差的滾動式評估會顯示在下列程式碼範例中:

from sklearn.metrics import mean_squared_error
rolling_forecast_df = fitted_model.rolling_forecast(
    test_features_df, test_target, step=1)
mse = mean_squared_error(
    rolling_forecast_df[fitted_model.actual_column_name], rolling_forecast_df[fitted_model.forecast_column_name])

在此範例中,滾動預測的步驟大小會設定為一個,這表示預測工具在每次反復專案的需求預測範例中是進階一個期間或一天。 因此 rolling_forecast 傳回的預測總數取決於測試集的長度和此步驟大小。 如需詳細資訊和範例,請參閱 rolling_forecast() 文件從定型資料筆記本預測

預測未來

forecast_quantiles() 函式可指定預測的啟動時機,與通常用於分類和迴歸工作的 predict() 方法有所不同。 依預設,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 個百分位數。 若您未指定分位數 (如上述程式碼範例所示),則只會產生第 50 個百分位數的預測。

# specify which quantiles you would like 
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 日。 如要預測隔天的需求 (或需要預測的週期數,<= forecast_horizon),請為每間商店建立 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 許多模型方案,可讓使用者同時定型和管理數百萬個模型。 許多模型解決方案加速器會運用 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 範例

如需進階預測設定的詳細程式碼範例,請參閱預測範例筆記本,包括:

後續步驟