CLI (v2) Automated ML Forecasting コマンド ジョブの YAML スキーマ
適用対象: Azure CLI ml 拡張機能 v2 (現行)
ソース JSON スキーマは https://azuremlschemas.azureedge.net/latest/autoMLForecastingJob.schema.json にあります
Note
このドキュメントで詳しく説明されている YAML 構文は、最新バージョンの ML CLI v2 拡張機能の JSON スキーマに基づいています。 この構文は、ML CLI v2 拡張機能の最新バージョンでのみ動作することが保証されています。 以前のバージョンの拡張機能のスキーマについては、https://azuremlschemasprod.azureedge.net/ でご確認いただけます。
YAML 構文
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
$schema |
string | YAML スキーマを読み込む場所/URL。 ユーザーが Azure Machine Learning VS Code 拡張機能を使用して YAML ファイルを作成する場合は、ファイルの先頭に $schema を含めることで、スキーマとリソースの入力候補を呼び出すことができます。 |
||
compute |
string | 必須。 ジョブを実行する AML コンピューティング インフラストラクチャの名前。 コンピューティングは、ワークスペース内の既存のコンピューティング マシンへの参照のいずれかになります 注: パイプライン内のジョブでは、 compute として 'local' はサポートされていません。 ここでの 'local' は、ユーザーの Azure Machine Learning スタジオ ワークスペースに作成されたコンピューティング インスタンスを意味します。 |
1. 既存のコンピューティングを使用するパターン[^azureml:<compute_name>] 。2. ローカル実行を使用する 'local' |
'local' |
limits |
object | Automated ML 表形式ジョブの制限構成で構成されるディクショナリ オブジェクトを表します。 キーはジョブのコンテキスト内での制限の名前であり、値は制限値です。 このオブジェクトのプロパティについては、制限事項を参照してください。 |
||
name |
string | 送信された Automated ML ジョブの名前。 ワークスペース内のすべてのジョブで一意である必要があります。 指定しない場合、Azure Machine Learning によって名前の GUID が自動生成されます。 |
||
description |
string | Automated ML ジョブの説明。 | ||
display_name |
string | ユーザーがスタジオ UI に表示するジョブの名前。 ワークスペース内で一意ではない場合があります。 省略した場合、Azure Machine Learning により、表示名として、人間が判読できる形容詞と名詞の識別子が自動生成されます。 | ||
experiment_name |
string | 実験の名前。 実験は、Azure での ML トレーニング ジョブの記録です。 実験には、実行の結果とログ、チャート、グラフが含まれます。 各ジョブの実行レコードは、スタジオの [実験] タブの対応する実験の下に編成されます。 |
作成された作業ディレクトリの名前 | |
environment_variables |
object | コマンドが実行されているプロセスに設定する環境変数の辞書オブジェクト。 | ||
outputs |
object | ジョブの出力構成の辞書を表します。 キーはジョブのコンテキスト内の出力の名前であり、値は出力構成です。 このオブジェクトのプロパティについては、ジョブ出力を参照してください。 | ||
log_files |
object | Automated ML ジョブ実行のログを含む辞書オブジェクト | ||
log_verbosity |
string | ログ ファイルに書き込むログの詳細さのレベル。 許容される値は、Python ロギング ライブラリで定義されています。 |
'not_set' 、 'debug' 、 'info' 、 'warning' 、 'error' 、 'critical' |
'info' |
type |
const | 必須。 ジョブの種類。 |
automl |
automl |
task |
const | 必須。 実行する Automated ML タスクの種類。 |
forecasting |
forecasting |
target_column_name |
string | 必須。 予測する列の名前を表します。 指定されていない場合、Automated ML ジョブはエラーを発生させます。 |
||
featurization |
object | カスタムの特徴量化の構成を定義する辞書オブジェクト。 作成されていない場合は、Automated ML 構成によって自動の特徴量化が適用されます。 このオブジェクトのプロパティについては、特徴量化を参照してください。 | ||
forecasting |
object | 予測ジョブの設定を定義する辞書オブジェクト。 このオブジェクトのプロパティについては、「予測」を参照してください。 | ||
n_cross_validations |
string または integer | validation_data が指定されていない場合にモデル/パイプラインの選択中に実行するクロス検証の数。validation_data と このパラメーターの両方が指定されていない場合、または None に設定されていない場合は、既定で Automated ML ジョブによって auto に設定されます。 distributed_featurization が有効になっており、validation_data が指定されていない場合は、既定で 2 に設定されます。 |
'auto' , [int] |
None |
primary_metric |
string | Automated ML が時系列予測モデルの選択のために最適化するメトリック。allowed_training_algorithms にトレーニングに使用する 'tcn_forecaster' がある場合、Automated ML では、primary_metric として使用される 'normalized_root_mean_squared_error' と 'normalized_mean_absolute_error' のみがサポートされます。 |
"spearman_correlation" 、 "normalized_root_mean_squared_error" 、 "r2_score" "normalized_mean_absolute_error" |
"normalized_root_mean_squared_error" |
training |
object | モデル トレーニングで使用される構成を定義する辞書オブジェクト。 このオブジェクトのプロパティについては、「トレーニング」を確認してください。 |
||
training_data |
object | 必須 モデル トレーニングの入力として使用するトレーニング データを定義する MLTable 構成を含む辞書オブジェクト。 このデータはデータのサブセットであり、独立した特徴/列とターゲットの特徴/列の両方で構成されている必要があります。 ユーザーは、形式 ':' (例: Input(mltable='my_mltable:1')) を使用して、ワークスペースで登録済みの MLTable を使用できます。または、ローカル ファイルまたはフォルダーを MLTable (例: Input(mltable=MLTable(local_path="./data")) として使用できます。 このオブジェクトは指定する必要があります。 ターゲット機能がソース ファイルに存在しない場合、Automated ML はエラーをスローします。 「トレーニングまたは検証またはテスト データ」を確認して、このオブジェクトのプロパティを確認してください。 |
||
validation_data |
object | クロス検証のために Automated ML 実験内で使用される検証データを定義する MLTable 構成を含む辞書オブジェクト。 このオブジェクトが指定されている場合は、独立した特徴/列とターゲットの特徴/列の両方で構成されている必要があります。 トレーニング データと検証データのサンプルは、フォールドで重複することはできません。 「トレーニングまたは検証またはテスト データ」を参照して、このオブジェクトのプロパティを確認してください。 このオブジェクトが定義されていない場合、Automated ML では、 n_cross_validations を使用して、training_data オブジェクトで定義されているトレーニング データから検証データを分割します。 |
||
test_data |
object | 最適なモデルを使用して予測のテスト実行で使用するテスト データを定義する MLTable 構成を含む辞書オブジェクト。定義されたメトリックを使用してモデルを評価します。 このオブジェクトが指定されている場合は、トレーニング データで使用される独立した機能 (ターゲット機能なし) のみで構成されている必要があります。 「トレーニングまたは検証またはテスト データ」を確認して、このオブジェクトのプロパティを確認してください。 指定されていない場合、Automated ML では他の組み込みメソッドを使用して、推論に使用する最適なモデルを提案します。 |
制限
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
enable_early_termination |
boolean | "x" 反復回数が経過しても損失スコアが改善しない場合に実験終了を有効にするかどうかを表します。 Automated ML ジョブでは、最初の 20 回の反復では早期停止は適用されません。 早期停止ウィンドウは、最初の 20 回の反復の後にのみ開始されます。 |
true , false |
true |
max_concurrent_trials |
整数 (integer) | 並列で実行される試行 (子ジョブ) の最大数。 同時実行の数をクラスター内のノードの数 (compute で定義された aml コンピューティング) に設定することを強くお勧めします。 |
1 |
|
max_trials |
整数 (integer) | Automated ML ジョブが、異なるハイパーパラメーターの組み合わせでトレーニング アルゴリズムを実行するための試行の最大回数を表します。 既定値は 1000 に設定されます。 enable_early_termination が定義されている場合、トレーニング アルゴリズムの実行に使用される試行回数を減らすことができます。 |
1000 |
|
max_cores_per_trial |
整数 (integer) | 各試行で使用できるコアの最大数を表します。 既定値は -1 に設定されています。これは、すべてのコアがプロセスで使用されることを意味します。 | -1 |
|
timeout_minutes |
整数 (integer) | 送信された Automated ML ジョブが実行できる最大時間 (分単位)。 指定した時間が経過すると、ジョブは終了します。 このタイムアウトには、すべての試行のセットアップ、特徴量化、トレーニング実行、アンサンブル、モデルの説明可能性 (指定されている場合) が含まれます。 すべての試行 (子ジョブ) が完了するとこれらの機能が利用できるようになるため、ジョブがしていされた timeout_minutes 内で完了できなかった場合、プロセスの最後に実行されるアンサンブルとモデルの説明性が含まれないことに注意してください。 既定値は 6 時間 (360 分) に設定されています。 1 時間 (60 分) 以下のタイムアウトを指定するには、データセットのサイズが 10,000,000 (行と列の積) を超えないようにします。超える場合、エラーが発生します。 |
360 |
|
trial_timeout_minutes |
整数 (integer) | 送信された Automated ML ジョブの各試行 (子ジョブ) が実行できる最大時間 (分単位)。 指定した時間が経過すると、子ジョブは終了します。 | 30 |
|
exit_score |
float | 実験で達成するスコア。 実験は、このスコアに達すると終了します。 指定しない場合 (基準なし)、実験は、定義された primary metric でそれ以上の進行がなくなるまで実行されます。 |
予測
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
time_column_name |
string | 必須 各時系列の時間軸に対応するデータセット内の列の名前。 タスクが forecasting の場合、トレーニング、検証、またはテスト用の入力データセットには、この列が含まれている必要があります。 指定されていない場合、または None に設定されている場合、Automated ML 予測ジョブはエラーをスローし、実験を終了します。 |
||
forecast_horizon |
string または integer | 最大予測期間。単位は時系列の頻度です。 この単位は、トレーニング データの推定時間間隔 (月次や週次など) に基づきます。これは、予測器が予測に使用します。 None または auto に設定されている場合、その既定値は 1 に設定されます。つまり、入力データの最後のタイムスタンプ t の 't+1' を意味します。 |
auto , [int] |
1 |
frequency |
string | 予測生成が必要な頻度 (日次、週次、年次など)。 指定されていない場合、または None に設定されている場合、その既定値はデータセットの時刻インデックスから推定されます。 その値をデータセットの推定頻度より大きく設定することはできますが、それより小さく設定することはできません。 たとえば、データセットの頻度が日次の場合は、日次、週次、月次などの値とすることができますが、時間単位にはできません。時間単位は日次 (24 時間) より小さいためです。 詳細については、「pandas のドキュメント」を参照してください。 |
None |
|
time_series_id_column_names |
string または list(strings) | データを複数の時系列にグループ化するために使用するデータ内の列の名前。 time_series_id_column_namesが定義されていない場合、または None に設定されている場合、Automated ML は自動検出ロジックを使用して列を検出します。 | None |
|
feature_lags |
string | 指定された数値特徴量に対してユーザーが自動的にラグを生成するかどうかを表します。 既定値は auto に設定されており、これは、Automated ML では自己相関ベースのヒューリスティックを使用して、ラグ オーダーをAutomated的に選択し、すべての数値特徴に対応するラグ特徴を生成することを意味しています。 "None" は、数値特徴量に対してラグが生成されていないことを意味します。 |
'auto' , None |
None |
country_or_region_for_holidays |
string | 祝日特徴量の生成に使用する国または地域。 これらの文字は、ISO 3166 の 2 文字の国または地域コード ("US" や "GB" など) で表現する必要があります。 ISO コードの一覧は https://wikipedia.org/wiki/List_of_ISO_3166_country_codes にあります。 | None |
|
cv_step_size |
string または integer | ある CV フォールドの origin_time と次のフォールドの間の期間数。 たとえば、日次データについて 3 に設定されている場合、各フォールドの原点の時間は 3 日間隔になります。 None に設定されている場合、または指定されていない場合は、既定で auto に設定されます。 整数型の場合、取ることができる最小値は 1 です。それ以外の場合はエラーが発生します。 |
auto , [int] |
auto |
seasonality |
string または integer | 時系列頻度の倍数 (整数) としての時系列の季節性。 季節性が指定されていない場合、その値は 'auto' に設定されます。これは、Automated ML によって自動的に推論されることを意味しています。 このパラメーターが None に設定されていない場合、Automated ML は時系列を非季節性と見なします。これは、整数値 1 に設定することと同じです。 |
'auto' , [int] |
auto |
short_series_handling_config |
string | 指定した場合に、Automated ML で短い時系列を処理する方法を表します。 次の値を受け取ります。
|
'auto' 、 'pad' 、 'drop' 、 None |
auto |
target_aggregate_function |
string | 時系列でターゲット列を集計し、指定された頻度 (freq で定義) で予測を生成するために使用する集計関数を表します。 このパラメーターが設定され、freq パラメーターが設定されていない場合、いエラーが発生します。 省略されるか、None に設定されている場合、集計は適用されません。 |
'sum' 、 'max' 、 'min' 、 'mean' |
auto |
target_lags |
string または integer または list(integer) | データセットの頻度に基づいてターゲット値からのラグに使用する過去/履歴期間の数。 既定では、この属性はオフに設定されます。 'auto' の設定により、システムは自動ヒューリスティック ベースのラグを使用できます。 独立変数と依存変数の間のリレーションシップが既定で関連付けられていない場合、このラグ プロパティを使用する必要があります。 詳細については、「Automated ML での時系列予測のラグ設定された特徴」を参照してください。 |
'auto' , [int] |
None |
target_rolling_window_size |
string または integer | ターゲット列のローリング ウィンドウの平均を作成するために使用する過去の観察の数。 予測時に、このパラメーターは、予測値を生成するために使用する < 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 | 'auto' 、integer、None |
None |
use_stl |
string | 時系列に STL 分解を適用して生成するコンポーネント。指定されていない場合、または None に設定されている場合、時系列コンポーネントは生成されません。 use_stlは、次の 2 つの値を受け取ることができます。 'season' : 季節コンポーネントを生成します。 'season_trend' : 季節の Automated ML と傾向コンポーネントの両方を生成します。 |
'season' , 'seasontrend' |
None |
トレーニングまたは検証またはテスト データ
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
datastore |
string | ユーザーがデータをアップロードするデータストアの名前。 | ||
path |
string | データの読み込み元となるパスです。 file パス、folder パス、またはパスの pattern を指定できます。 pattern では、データを含むファイルとフォルダーのグロビング (* と ** ) を使用できる検索パターンを指定します。 サポートされる URI の種類は、azureml 、https 、wasbs 、abfss および adl です。 azureml:// URI 形式の使用方法のさらに詳細な説明については、「コア yaml 構文」を参照してください。 成果物ファイルの場所の URI。 この URI にスキーム (http:、azureml: など) がない場合は、ローカル参照と見なされ、それが指すファイルは、エンティティの作成時に既定のワークスペース BLOB ストレージにアップロードされます。 |
||
type |
const | 入力データの型。 Computer Vision モデルを生成するには、ユーザーは、ラベル付き画像データを MLTable の形式でモデル トレーニングの入力として取り込む必要があります。 | mltable |
mltable |
トレーニング
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
allowed_training_algorithms |
list(string) | 実験でのモデル トレーニングの基本モデルとして試す時系列予測アルゴリズムの一覧。 省略するか、None に設定すると、blocked_training_algorithms で指定されたアルゴリズムを除き、サポートされているすべてのアルゴリズムが実験中に使用されます。 |
'auto_arima' 、 'prophet' 、 'naive' 、'seasonal_naive' 、 'average' 、 'seasonal_average' 、 'exponential_smoothing' 、 'arimax' 、 'tcn_forecaster' 、 'elastic_net' 、 'gradient_boosting' 、 'decision_tree' 、 'knn' 、 'lasso_lars' 、 'sgd' 、 'random_forest' 、 'extreme_random_trees' 、 'light_gbm' 、 'xg_boost_regressor' |
None |
blocked_training_algorithms |
list(string) | 実験でのモデル トレーニング中に基本モデルとして実行しない時系列予測アルゴリズムの一覧。 省略するか、None に設定すると、サポートされているすべてのアルゴリズムがモデルトレーニング中に使用されます。 | 'auto_arima' 、 'prophet' 、 'naive' 、 'seasonal_naive' 、 'average' 、 'seasonal_average' 、 'exponential_smoothing' 、 'arimax' 、'tcn_forecaster' 、 'elastic_net' 、 'gradient_boosting' 、 'decision_tree' 、 'knn' 、 'lasso_lars' 、 'sgd' 、 'random_forest' 、 'extreme_random_trees' 、 'light_gbm' 、 'xg_boost_regressor' |
None |
enable_dnn_training |
boolean | モデルの選択中に、試行する DNN ベースのモデルの包含をオンまたはオフにするフラグ。 | True , False |
False |
enable_model_explainability |
boolean | Automated ML システムによって評価される最適なモデルの特徴量の重要度などのモデルの説明性を有効にするフラグを表します。 | True , False |
True |
enable_vote_ensemble |
boolean | 投票アルゴリズムを使用して一部の基本モデルのアンサンブルを有効または無効にするフラグ。 アンサンブルの詳細については、「自動トレーニングの設定」を参照してください。 | true , false |
true |
enable_stack_ensemble |
boolean | スタッキング アルゴリズムを使用して一部の基本モデルのアンサンブルを有効または無効にするフラグ。 予測タスクでは、メタ学習者の適合に使用される小さなトレーニング セットによるオーバーフィットのリスクを回避するために、このフラグは既定でオフになっています。 アンサンブルの詳細については、「自動トレーニングの設定」を参照してください。 | true , false |
false |
特徴量化
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
mode |
string | Automated ML ジョブで使用される特徴量化モード。 次の値に設定します。 'auto' は、特徴量化手順を自動的に実行するかどうかを示します。'off' は、特徴量化がないことを示し、<'custom' はカスタマイズされた特徴量化を使用する必要があるかどうかを示します。 注: 入力データがスパースの場合、特徴量化を有効にすることはできません。 |
'auto' 、 'off' 、 'custom' |
None |
blocked_transformers |
list(string) | 特徴量化 mode が 'custom' に設定されている場合に、Automated 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' に設定されている場合に、列の目的を関連付けられた値として更新するために使用される、dict キーとしての列名と機能の種類で構成される辞書オブジェクト。 |
||
transformer_params |
object | 特徴量化 mode が 'custom' に設定されている場合に、トランスフォーマー名をキーとし、特徴量化のデータセット列の対応するカスタマイズ パラメーターとともに構成される入れ子になった辞書オブジェクト。予測では、カスタマイズのための imputer トランスフォーマーのみがサポートされます。カスタマイズ パラメーターを作成する方法については、column_transformers を確認してください。 |
None |
column_transformers
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
fields |
list(string) | 指定した transformer_params が適用される列名の一覧。 |
||
parameters |
object | "strategy" をキーとし、値を補完戦略として構成される辞書オブジェクト。 指定する方法の詳細については、こちらの例を参照してください。 |
ジョブ出力
キー | Type | 説明 | 使用できる値 | 既定値 |
---|---|---|---|---|
type |
string | ジョブ出力の種類。 既定の uri_folder の種類の場合、出力はフォルダーに対応します。 |
uri_folder 、 mlflow_model 、 custom_model |
uri_folder |
mode |
string | 出力ファイルを宛先ストレージに配信する方法のモード。 読み取り/書き込みマウント モード (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]