ForecastingJob クラス
AutoML 予測タスクの構成。
新しい AutoML 予測タスクを初期化します。
- 継承
-
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabularForecastingJob
コンストラクター
ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)
パラメーター
メソッド
dump |
ジョブの内容を YAML 形式のファイルにダンプします。 |
set_data |
データ構成を定義します。 |
set_featurization |
特徴エンジニアリングの構成を定義します。 |
set_forecast_settings |
予測タスクで使用されるパラメーターを管理します。 |
set_limits |
ジョブの制限を設定します。 |
set_training |
予測トレーニング関連の設定を構成する方法。 |
dump
ジョブの内容を YAML 形式のファイルにダンプします。
dump(dest: str | PathLike | IO, **kwargs) -> None
パラメーター
YAML コンテンツを書き込むローカル パスまたはファイル ストリーム。 dest がファイル パスの場合は、新しいファイルが作成されます。 dest が開いているファイルの場合、ファイルは に直接書き込まれます。
- kwargs
- dict
YAML シリアライザーに渡す追加の引数。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_data
データ構成を定義します。
set_data(*, training_data: Input, target_column_name: str, weight_column_name: str | None = None, validation_data: Input | None = None, validation_data_size: float | None = None, n_cross_validations: str | int | None = None, cv_split_column_names: List[str] | None = None, test_data: Input | None = None, test_data_size: float | None = None) -> None
パラメーター
- training_data
- Input
トレーニング データ。
- target_column_name
- str
ターゲット列の列名。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_featurization
特徴エンジニアリングの構成を定義します。
set_featurization(*, blocked_transformers: List[BlockedTransformers | str] | None = None, column_name_and_types: Dict[str, str] | None = None, dataset_language: str | None = None, transformer_params: Dict[str, List[ColumnTransformer]] | None = None, mode: str | None = None, enable_dnn_featurization: bool | None = None) -> None
パラメーター
- blocked_transformers
- Optional[List[Union[BlockedTransformers, str]]]
特徴付け時にブロックされるトランスフォーマー名の一覧。既定値は None です
データセットに含まれる言語の 3 文字の ISO 639-3 コード。 英語以外の言語は、GPU 対応コンピューティングを使用する場合にのみサポートされます。 データセットに複数の言語が含まれている場合は、language_code 'mul' を使用する必要があります。 異なる言語の ISO 639-3 コードを見つけるには、 を参照してください https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes。既定値は None です
- transformer_params
- Optional[Dict[str, List[ColumnTransformer]]]
トランスフォーマーと対応するカスタマイズ パラメーターのディクショナリ。既定値は None です。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_forecast_settings
予測タスクで使用されるパラメーターを管理します。
set_forecast_settings(*, time_column_name: str | None = None, forecast_horizon: str | int | None = None, time_series_id_column_names: str | List[str] | None = None, target_lags: str | int | List[int] | None = None, feature_lags: str | None = None, target_rolling_window_size: str | int | None = None, country_or_region_for_holidays: str | None = None, use_stl: str | None = None, seasonality: str | int | None = None, short_series_handling_config: str | None = None, frequency: str | None = None, target_aggregate_function: str | None = None, cv_step_size: int | None = None, features_unknown_at_forecast_time: str | List[str] | None = None) -> None
パラメーター
時間列の名前。 このパラメーターは、時系列の構築とその頻度の推定に使用される入力データで、予測によって datetime 列を指定する場合に必要です。
- forecast_horizon
時系列頻度を単位にした目的の最大予測期間。 既定値は 1 です。
単位は、トレーニング データの時間間隔に基づきます。たとえば、予測者が予測する必要がある月ごと、週ごとなどです。タスクの種類が予測である場合、このパラメーターは必須です。 予測パラメーターの設定の詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。
時系列をグループ化するために使用される列の名前。 複数の系列を作成するために使用できます。 時系列 ID 列名が定義されていない場合、または指定された識別子列がデータセット内のすべての系列を識別しない場合、時系列識別子はデータ セットに対して自動的に作成されます。
- target_lags
ターゲット列からのラグとして指定する過去の期間の数。 既定では、ラグはオフになっています。
予測時に、このパラメーターは、データの頻度に基づいてターゲット値を遅延させる行数を表します。 これは一覧または単一の整数として表されます。 独立変数と依存変数の間のリレーションシップが既定で一致しない場合、または関連付けられていない場合、ラグを使用する必要があります。 たとえば、製品の需要を予測しようとする場合、任意の月の需要は、3 か月前の特定の商品の価格によって異なる可能性があります。 この例では、モデルが正しいリレーションシップでトレーニングされるように、目標 (要求) を 3 か月間遅延させてください。 詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。
ターゲット ラグとローリング ウィンドウのサイズの自動検出に関する注意事項です。 ローリング ウィンドウ セクションの対応するコメントを参照してください。 次のアルゴリズムを使用して、最適なターゲット ラグとローリング ウィンドウのサイズを検出します。
ルックバック特徴選択のための最大ラグ次数を推定します。 この例では、次の日付の頻度粒度までの期間数です。つまり、頻度が日次の場合は 1 週間 (7)、週次の場合は月 (4) になります。 この値に 2 を掛けたものが、ラグまたはローリング ウィンドウの可能な最大値です。 この例では、最大ラグ次数 14 と 8 をそれぞれ考慮します。
傾向と残余コンポーネントを追加して、季節性を取り除いた系列を作成します。 これは、次の手順で使用します。
(2) のデータで PACF (偏自己相関関数) を推定し、自己相関が有意である、つまりその絶対値が、95% の有意性に相当する 1.96/平方根 (最大ラグ値) より大きいポイントを検索します。
すべてのポイントが有意である場合は、それが強い季節性であると見なし、ルックバック特徴を作成しません。
PACF の値を先頭からスキャンし、最初の有意でない自己相関の前の値をラグに指定します。 最初の有意な要素 (それ自身と相関のある値) の後に有意でないものが続く場合、ラグは 0 となり、ルックバック特徴を使用しません。
ターゲット列のローリング ウィンドウの平均を作成するために使用する過去の期間の数。
予測時に、このパラメーターは、予測値を生成するために使用する n 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 "auto" に設定した場合、ローリング ウィンドウは、PACF が有意性しきい値より大きい最後の値として推定されます。 詳細については target_lags のセクションを参照してください。
休日の特徴を生成するために使用される国または地域。 これらは、ISO 3166 の 2 文字の国または地域コード ("US" や "GB" など) である必要があります。
- use_stl
時系列ターゲット列の STL 分解を構成します。 use_stl は 3 つの値を取ることができます: None (既定) - stl 分解なし。'season' - 季節コンポーネントのみを生成します。season_trend - 季節と傾向の両方のコンポーネントを生成します。
時系列頻度の倍数 (整数) としての時系列の季節性を設定します。 'auto' に設定した場合、季節性は推論されます。 None に設定すると、時系列は季節性 = 1 に相当する非季節性と見なされます。
- short_series_handling_config
AutoML で短い時系列を処理する方法を定義するパラメーター。
使用可能な値: 'auto' (既定値)、'pad'、'drop'、None。
- 長 い系列がない場合、自動短い系列は埋め込まれます。
それ以外の場合、短い系列は削除されます。
- pad すべての短い系列はパディングされます。
- drop すべての短い系列は削除されます。
- None 短い系列は変更されません。
'pad' に設定した場合、テーブルには、リグレッサーの場合は 0 と空の値が、ターゲットの場合はランダム値が埋め込まれ、平均値は特定の時系列 ID のターゲット値の中央値に等しくなります。中央値が 0 以上の場合、最小の埋め込み値は 0 でクリップされます。入力:
日付
numeric_value
string
target
2020-01-01
23
green
55
値の最小数が 4 であると仮定した場合の出力:
日付
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
green
55
注: short_series_handling_configuration と legacy short_series_handling の 2 つのパラメーターがあります。 両方のパラメーターを設定すると、次の表に示すように同期されます (short_series_handling_configuration と short_series_handling はそれぞれ、handling_configuration と handling と簡潔して表記されています)。
処理
handlingconfiguration
resultinghandling
resultinghandlingconfiguration
True
自動
True
自動
True
パッド
True
自動
True
drop
True
自動
True
なし
False
なし
False
自動
False
なし
False
パッド
False
なし
False
drop
False
なし
False
なし
False
なし
- frequency
予測頻度。
予測する場合、このパラメーターは、日単位、週単位、年単位など、予測が必要な期間を表します。予測頻度は、既定ではデータセットの頻度です。 必要に応じて、データセットよりも高い頻度 (低い頻度は不可) に設定することができます。 データを集計し、予測頻度で結果を生成します。 たとえば、毎日のデータの場合、頻度を日単位、週単位、または月単位に設定できますが、時間単位に設定することはできません。 頻度には、pandas のオフセット エイリアスを使用する必要があります。 詳細については、pandas のドキュメントをご覧ください: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects
- target_aggregate_function
ユーザー指定の頻度に従って時系列ターゲット列を集計するために使用する関数。 target_aggregation_function を設定しても、freq パラメーターを設定しないと、エラーが発生します。 使用可能なターゲット集計関数は、"sum"、"max"、"min"、"mean" です。
ターゲット列の値が、指定された操作に基づいて集計されます。 通常、ほとんどのシナリオでは sum が適しています。
データ内の数値予測列は、合計、平均、最小値、最大値で集計されます。 その結果、自動 ML では、末尾に集計関数名が付いた新しい列が生成され、選択した集計操作が適用されます。
カテゴリ予測列の場合、データは、ウィンドウ内で最も目立つカテゴリであるモードで集計されます。
日付予測列は、最小値、最大値、モードで集計されます。
周波数
target_aggregation_function
データの規則性固定メカニズム
なし (既定)
なし (既定)
集計は適用されません。有効な頻度が確定できない場合は、エラーが発生します。
一部の値
なし (既定)
集計は適用されません。numberof data pointscompliant togiven frequencygrid isless の場合、これらのポイントは 90% 削除されます。それ以外の場合は、エラーが発生します。
なし (既定)
集計関数
エラー aboutmissingfrequencyparameter israised。
一部の値
集計関数
providedaggregationfunction を使用して tofrequency を集計します。
1 つの CV フォールドの origin_time と次のフォールドの間の期間数。 たとえば、日次データに対して n_step = 3 の場合、各フォールドの原点の時間は 3 日離れています。
予測/推論時にトレーニングに使用できるが不明な特徴列。 features_unknown_at_forecast_timeが空のリストに設定されている場合、データセット内のすべての特徴列が推論時に既知であると見なされます。 このパラメーターが設定されていない場合、将来の機能のサポートは有効になっていません。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_limits
ジョブの制限を設定します。
set_limits(*, enable_early_termination: bool | None = None, exit_score: float | None = None, max_concurrent_trials: int | None = None, max_cores_per_trial: int | None = None, max_nodes: int | None = None, max_trials: int | None = None, timeout_minutes: int | None = None, trial_timeout_minutes: int | None = None) -> None
パラメーター
短期間にスコアが改善しない場合に早期終了を有効にするかどうかは、既定値は None です。
早期停止ロジック:
最初の 20 回の反復 (ランドマーク) に早期停止はありません。
早期停止期間は 21 回目の反復で開始され、early_stopping_n_iters 回の反復を探します
(現在は 10 に設定されています)。 つまり、停止が発生しうる最初の反復は 31 回目です。
AutoML では、早期停止後に 2 回のアンサンブル イテレーションがスケジュールされるため、スコアが高くなる可能性があります。
計算される最高スコアの絶対値が過去の
early_stopping_n_iters 回の反復と同じ、つまり、early_stopping_n_iters 回の反復のスコアに改善がない場合、早期停止がトリガーされます。
実験のターゲット スコア。 実験は、このスコアに達すると終了します。 指定しない場合 (基準なし)、実験は、主要メトリックでそれ以上の進行がなくなるまで実行されます。 終了条件の詳細については、この 記事 を参照してください。既定値は None です
これは、並列で実行される反復の最大数です。 既定値は 1 です。
- AmlCompute クラスターでは、ノードごとに 1 回のイテレーション実行がサポートされます。
複数の AutoML 実験の親が単一の AmlCompute クラスターで並行して実行される場合、すべての実験の max_concurrent_trials
値の合計がノードの最大数以下である必要があります。 それ以外の場合は、実行は、ノードが使用可能になるまでキューに入れられます。
- DSVM は、ノードごとに複数の反復をサポートします。
max_concurrent_trials
should
は、DSVM 上のコアの数以下である必要があります。 1 つの DSVM 上で複数の実験を並行して実行する場合、すべての実験の max_concurrent_trials
値の合計がノードの最大数以下である必要があります。
- Databricks -
max_concurrent_trials
の数以下にする必要があります
Databricks 上のワーカー ノード。
max_concurrent_trials
はローカル実行には適用されません。 以前は、このパラメーターの名前は concurrent_iterations
でした。
特定のトレーニング反復に使用するスレッドの最大数。 許容される値:
1 より大きく、コンピューティング先のコアの最大数以下。
-1 に等しい。これは、子の実行ごと、反復ごとに可能なすべてのコアを使用することを意味します。
1 に等しい。これは既定値です。
[試験段階]分散トレーニングに使用するノードの最大数。
予測のために、各モデルは max(2, int(max_nodes / max_concurrent_trials)) ノードを使用してトレーニングされます。
分類/回帰の場合、各モデルはmax_nodesノードを使用してトレーニングされます。
注- このパラメーターはパブリック プレビュー段階であり、今後変更される可能性があります。
すべてのイテレーションを組み合わせて、実験が終了するまでにかかる分単位での最大時間。 指定されていない場合、既定の実験タイムアウトは 6 日です。 タイムアウトを 1 時間以下に指定するには、データセットのサイズが 10,000,000 (行の時間列) を超えないか、エラー結果であることを確認します。既定値は None です
各反復で終了前に実行できる最大時間 (分)。 指定しない場合、1 か月または 43200 分の値が使用され、既定値は None です
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
set_training
予測トレーニング関連の設定を構成する方法。
set_training(*, enable_onnx_compatible_models: bool | None = None, enable_dnn_training: bool | None = None, enable_model_explainability: bool | None = None, enable_stack_ensemble: bool | None = None, enable_vote_ensemble: bool | None = None, stack_ensemble_settings: StackEnsembleSettings | None = None, ensemble_model_download_timeout: int | None = None, allowed_training_algorithms: List[str] | None = None, blocked_training_algorithms: List[str] | None = None, training_mode: str | TrainingMode | None = None) -> None
パラメーター
- enable_onnx_compatible_models
ONNX と互換性のあるモデルの強制を有効または無効にするかどうか。 既定値は False です。 Open Neural Network Exchange (ONNX) と Azure Machine Learning の詳細については、こちらの記事を参照してください。
モデルの選択時に DNN ベースのモデルを含めるかどうか。 ただし、既定値は、DNN NLP タスクの場合は True、他のすべての AutoML タスクの場合は False です。
- enable_model_explainability
すべての AutoML トレーニング反復の最後に、最適な AutoML モデルを説明できるかどうか。 詳細については、「解釈可能性: 自動 ML でのモデル説明」を参照してください。 の既定値は None です
- enable_stack_ensemble
StackEnsemble の反復を有効/無効にするかどうか。 enable_onnx_compatible_models フラグを設定すると、StackEnsemble 反復は無効になります。 同様に、Timeseries タスクの場合、meta learner の調整に使用されるトレーニング セットが小さいことによるオーバーフィットのリスクを回避するために、StackEnsemble の反復は既定で無効になります。 アンサンブルの詳細については、「 アンサンブル構成 」を参照してください。既定値は None です。
- enable_vote_ensemble
VotingEnsemble の反復を有効/無効にするかどうか。 アンサンブルの詳細については、「 アンサンブル構成 」を参照してください。既定値は None です。
- stack_ensemble_settings
- Optional[StackEnsembleSettings]
StackEnsemble イテレーションの設定(既定値は None)
VotingEnsemble モデルと StackEnsemble モデルの生成中に、前の子実行から複数の適合モデルがダウンロードされます。 300 秒を超える値でこのパラメーターを構成します。時間が長く必要な場合、既定値は None です
実験を検索するモデル名のリスト。 指定しない場合、タスクでサポートされているすべてのモデルから、TensorFlow モデルまたは非推奨の TensorFlow モデルで blocked_training_algorithms
指定されたすべてのモデルを引いた値が使用され、既定値は None になります。
- training_mode
[試験段階]使用するトレーニング モード。 使用可能な値は次のとおりです。
distributed- では、サポートされているアルゴリズムの分散トレーニングが有効になります。
non_distributed- 分散トレーニングを無効にします。
auto- 現在、non_distributedと同じです。 今後、これは変更される可能性があります。
注: このパラメーターはパブリック プレビュー段階であり、今後変更される可能性があります。
例外
dest がファイル パスであり、ファイルが既に存在する場合に発生します。
dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。
属性
base_path
creation_context
featurization
forecasting_settings
id
inputs
limits
log_files
log_verbosity
AutoML ジョブのログの詳細度を取得します。
戻り値
AutoML ジョブのログの詳細度
の戻り値の型 :
outputs
primary_metric
status
ジョブの状態。
一般的には "Running"、"Completed"、"Failed" などの値が返されます。 使用可能なすべての値は次のとおりです。
NotStarted - これは、クラウドの送信前にクライアント側の Run オブジェクトが存在する一時的な状態です。
Starting - クラウドで Run が処理され始めています。 この時点で、呼び出し元に実行 ID があります。
プロビジョニング - 特定のジョブの送信に対してオンデマンド コンピューティングが作成されています。
準備中 - 実行環境は準備中であり、次の 2 つの段階のいずれかにあります。
Docker イメージのビルド
Conda 環境のセットアップ
Queued - ジョブはコンピューティング 先でキューに登録されます。 たとえば、BatchAI では、ジョブはキューに登録された状態です
要求されたノードの準備が整うのを待機しています。
実行中 - ジョブがコンピューティング 先で実行を開始しました。
最終処理 - ユーザー コードの実行が完了し、実行は処理後の段階にあります。
CancelRequested - ジョブに対してキャンセルが要求されました。
完了 - 実行が正常に完了しました。 これには、ユーザー コードの実行と実行の両方が含まれます
後処理のステージ。
Failed - 実行に失敗しました。 通常は実行の Error プロパティで、理由に関する詳細が提供されます。
Canceled - キャンセル要求に従い、実行が現在正常にキャンセルされたことを示します。
NotResponding - ハートビートが有効になっている実行の場合、最近ハートビートが送信されていません。
戻り値
ジョブの状態。
の戻り値の型 :
studio_url
task_type
test_data
training
予測トレーニング設定を返します。
戻り値
トレーニング設定。
の戻り値の型 :
training_data
type
validation_data
Azure SDK for Python