ForecastingJob クラス

AutoML 予測タスクの構成。

新しい AutoML 予測タスクを初期化します。

継承
azure.ai.ml.entities._job.automl.tabular.automl_tabular.AutoMLTabular
ForecastingJob

コンストラクター

ForecastingJob(*, primary_metric: str | None = None, forecasting_settings: ForecastingSettings | None = None, **kwargs)

パラメーター

primary_metric
Optional[str]
必須

モデルの選択に使用する主要なメトリック。

forecasting_settings
Optional[ForecastingSettings]
必須

予測タスクの設定。

kwargs
Dict[str, Any]
必須

ジョブ固有の引数

メソッド

dump

ジョブの内容を YAML 形式のファイルにダンプします。

set_data

データ構成を定義します。

set_featurization

特徴エンジニアリングの構成を定義します。

set_forecast_settings

予測タスクで使用されるパラメーターを管理します。

set_limits

ジョブの制限を設定します。

set_training

予測トレーニング関連の設定を構成する方法。

dump

ジョブの内容を YAML 形式のファイルにダンプします。

dump(dest: str | PathLike | IO, **kwargs) -> None

パラメーター

dest
Union[<xref:PathLike>, str, IO[AnyStr]]
必須

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

ターゲット列の列名。

weight_column_name
Optional[str]

重み付け列名。既定値は None です

validation_data
Optional[Input]

検証データ(既定値は None)

validation_data_size
Optional[float]

検証データ サイズ(既定値は None)

n_cross_validations
Optional[Union[str, int]]

n_cross_validations、既定値は None です

cv_split_column_names
Optional[List[str]]

cv_split_column_names、既定値は None です

test_data
Optional[Input]

テスト データ(既定値は None)

test_data_size
Optional[float]

テスト データ サイズ(既定値は None)

例外

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 です

column_name_and_types
Optional[Dict[str, str]]

列の目的を更新するために使用される列名と特徴の種類のディクショナリ。既定値は None です。

dataset_language
Optional[str]

データセットに含まれる言語の 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 です。

mode
Optional[str]

"off"、"auto"、既定値は "auto"、既定値は None

enable_dnn_featurization
Optional[bool]

DNN ベースの特徴エンジニアリング方法を含めるかどうか(既定値は 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

パラメーター

time_column_name
Optional[str]

時間列の名前。 このパラメーターは、時系列の構築とその頻度の推定に使用される入力データで、予測によって datetime 列を指定する場合に必要です。

forecast_horizon

時系列頻度を単位にした目的の最大予測期間。 既定値は 1 です。

単位は、トレーニング データの時間間隔に基づきます。たとえば、予測者が予測する必要がある月ごと、週ごとなどです。タスクの種類が予測である場合、このパラメーターは必須です。 予測パラメーターの設定の詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。

time_series_id_column_names
Optional[Union[str, List[str]]]

時系列をグループ化するために使用される列の名前。 複数の系列を作成するために使用できます。 時系列 ID 列名が定義されていない場合、または指定された識別子列がデータセット内のすべての系列を識別しない場合、時系列識別子はデータ セットに対して自動的に作成されます。

target_lags

ターゲット列からのラグとして指定する過去の期間の数。 既定では、ラグはオフになっています。

予測時に、このパラメーターは、データの頻度に基づいてターゲット値を遅延させる行数を表します。 これは一覧または単一の整数として表されます。 独立変数と依存変数の間のリレーションシップが既定で一致しない場合、または関連付けられていない場合、ラグを使用する必要があります。 たとえば、製品の需要を予測しようとする場合、任意の月の需要は、3 か月前の特定の商品の価格によって異なる可能性があります。 この例では、モデルが正しいリレーションシップでトレーニングされるように、目標 (要求) を 3 か月間遅延させてください。 詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。

ターゲット ラグとローリング ウィンドウのサイズの自動検出に関する注意事項です。 ローリング ウィンドウ セクションの対応するコメントを参照してください。 次のアルゴリズムを使用して、最適なターゲット ラグとローリング ウィンドウのサイズを検出します。

  1. ルックバック特徴選択のための最大ラグ次数を推定します。 この例では、次の日付の頻度粒度までの期間数です。つまり、頻度が日次の場合は 1 週間 (7)、週次の場合は月 (4) になります。 この値に 2 を掛けたものが、ラグまたはローリング ウィンドウの可能な最大値です。 この例では、最大ラグ次数 14 と 8 をそれぞれ考慮します。

  2. 傾向と残余コンポーネントを追加して、季節性を取り除いた系列を作成します。 これは、次の手順で使用します。

  3. (2) のデータで PACF (偏自己相関関数) を推定し、自己相関が有意である、つまりその絶対値が、95% の有意性に相当する 1.96/平方根 (最大ラグ値) より大きいポイントを検索します。

  4. すべてのポイントが有意である場合は、それが強い季節性であると見なし、ルックバック特徴を作成しません。

  5. PACF の値を先頭からスキャンし、最初の有意でない自己相関の前の値をラグに指定します。 最初の有意な要素 (それ自身と相関のある値) の後に有意でないものが続く場合、ラグは 0 となり、ルックバック特徴を使用しません。

feature_lags
Optional[str]

数値特徴のラグを 'auto' または None で生成するためのフラグ。

target_rolling_window_size
Optional[Union[str, int]]

ターゲット列のローリング ウィンドウの平均を作成するために使用する過去の期間の数。

予測時に、このパラメーターは、予測値を生成するために使用する n 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 "auto" に設定した場合、ローリング ウィンドウは、PACF が有意性しきい値より大きい最後の値として推定されます。 詳細については target_lags のセクションを参照してください。

country_or_region_for_holidays
Optional[str]

休日の特徴を生成するために使用される国または地域。 これらは、ISO 3166 の 2 文字の国または地域コード ("US" や "GB" など) である必要があります。

use_stl

時系列ターゲット列の STL 分解を構成します。 use_stl は 3 つの値を取ることができます: None (既定) - stl 分解なし。'season' - 季節コンポーネントのみを生成します。season_trend - 季節と傾向の両方のコンポーネントを生成します。

seasonality
Optional[Union[int, str]

時系列頻度の倍数 (整数) としての時系列の季節性を設定します。 '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 を集計します。

cv_step_size
Optional[int]

1 つの CV フォールドの origin_time と次のフォールドの間の期間数。 たとえば、日次データに対して n_step = 3 の場合、各フォールドの原点の時間は 3 日離れています。

features_unknown_at_forecast_time
Optional[Union[str, List[str]]]

予測/推論時にトレーニングに使用できるが不明な特徴列。 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

パラメーター

enable_early_termination
Optional[bool]

短期間にスコアが改善しない場合に早期終了を有効にするかどうかは、既定値は None です。

早期停止ロジック:

  • 最初の 20 回の反復 (ランドマーク) に早期停止はありません。

  • 早期停止期間は 21 回目の反復で開始され、early_stopping_n_iters 回の反復を探します

    (現在は 10 に設定されています)。 つまり、停止が発生しうる最初の反復は 31 回目です。

  • AutoML では、早期停止後に 2 回のアンサンブル イテレーションがスケジュールされるため、スコアが高くなる可能性があります。

  • 計算される最高スコアの絶対値が過去の

    early_stopping_n_iters 回の反復と同じ、つまり、early_stopping_n_iters 回の反復のスコアに改善がない場合、早期停止がトリガーされます。

exit_score
Optional[float]

実験のターゲット スコア。 実験は、このスコアに達すると終了します。 指定しない場合 (基準なし)、実験は、主要メトリックでそれ以上の進行がなくなるまで実行されます。 終了条件の詳細については、この 記事 を参照してください。既定値は None です

max_concurrent_trials
Optional[int]

これは、並列で実行される反復の最大数です。 既定値は 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 でした。

max_cores_per_trial
Optional[int]

特定のトレーニング反復に使用するスレッドの最大数。 許容される値:

  • 1 より大きく、コンピューティング先のコアの最大数以下。

  • -1 に等しい。これは、子の実行ごと、反復ごとに可能なすべてのコアを使用することを意味します。

  • 1 に等しい。これは既定値です。

max_nodes
Optional[int]

[試験段階]分散トレーニングに使用するノードの最大数。

  • 予測のために、各モデルは max(2, int(max_nodes / max_concurrent_trials)) ノードを使用してトレーニングされます。

  • 分類/回帰の場合、各モデルはmax_nodesノードを使用してトレーニングされます。

注- このパラメーターはパブリック プレビュー段階であり、今後変更される可能性があります。

max_trials
Optional[int]

自動 ML 実験中にテストする異なるアルゴリズムとパラメーターの組み合わせの合計数。 指定しない場合、既定値は 1000 反復です。

timeout_minutes
Optional[int]

すべてのイテレーションを組み合わせて、実験が終了するまでにかかる分単位での最大時間。 指定されていない場合、既定の実験タイムアウトは 6 日です。 タイムアウトを 1 時間以下に指定するには、データセットのサイズが 10,000,000 (行の時間列) を超えないか、エラー結果であることを確認します。既定値は None です

trial_timeout_minutes
Optional[int]

各反復で終了前に実行できる最大時間 (分)。 指定しない場合、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 の詳細については、こちらの記事を参照してください。

enable_dnn_training
Optional[bool]

モデルの選択時に 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)

ensemble_model_download_timeout
Optional[int]

VotingEnsemble モデルと StackEnsemble モデルの生成中に、前の子実行から複数の適合モデルがダウンロードされます。 300 秒を超える値でこのパラメーターを構成します。時間が長く必要な場合、既定値は None です

allowed_training_algorithms
Optional[List[str]]

実験を検索するモデル名のリスト。 指定しない場合、タスクでサポートされているすべてのモデルから、TensorFlow モデルまたは非推奨の TensorFlow モデルで blocked_training_algorithms 指定されたすべてのモデルを引いた値が使用され、既定値は None になります。

blocked_training_algorithms
Optional[List[str]]

実験に対して無視するアルゴリズムの一覧(既定値は None)

training_mode

[試験段階]使用するトレーニング モード。 使用可能な値は次のとおりです。

  • distributed- では、サポートされているアルゴリズムの分散トレーニングが有効になります。

  • non_distributed- 分散トレーニングを無効にします。

  • auto- 現在、non_distributedと同じです。 今後、これは変更される可能性があります。

注: このパラメーターはパブリック プレビュー段階であり、今後変更される可能性があります。

例外

dest がファイル パスであり、ファイルが既に存在する場合に発生します。

dest が開いているファイルで、ファイルが書き込み可能でない場合に発生します。

属性

base_path

リソースのベース パス。

戻り値

リソースのベース パス。

の戻り値の型 :

str

creation_context

リソースの作成コンテキスト。

戻り値

リソースの作成メタデータ。

の戻り値の型 :

featurization

AutoML ジョブの表形式の特徴付け設定を取得します。

戻り値

AutoML ジョブの表形式の特徴付け設定

の戻り値の型 :

forecasting_settings

予測設定を返します。

戻り値

予測設定。

の戻り値の型 :

id

リソース ID。

戻り値

リソースのグローバル ID、Azure Resource Manager (ARM) ID。

の戻り値の型 :

inputs

limits

AutoML ジョブの表形式の制限を取得します。

戻り値

AutoML ジョブの表形式の制限

の戻り値の型 :

log_files

ジョブ出力ファイル。

戻り値

ログ名と URL のディクショナリ。

の戻り値の型 :

log_verbosity

AutoML ジョブのログの詳細度を取得します。

戻り値

AutoML ジョブのログの詳細度

の戻り値の型 :

<xref:LogVerbosity>

outputs

primary_metric

モデルの選択に使用するプライマリ メトリックを返します。

戻り値

モデル選択の主要なメトリック。

の戻り値の型 :

status

ジョブの状態。

一般的には "Running"、"Completed"、"Failed" などの値が返されます。 使用可能なすべての値は次のとおりです。

  • NotStarted - これは、クラウドの送信前にクライアント側の Run オブジェクトが存在する一時的な状態です。

  • Starting - クラウドで Run が処理され始めています。 この時点で、呼び出し元に実行 ID があります。

  • プロビジョニング - 特定のジョブの送信に対してオンデマンド コンピューティングが作成されています。

  • 準備中 - 実行環境は準備中であり、次の 2 つの段階のいずれかにあります。

    • Docker イメージのビルド

    • Conda 環境のセットアップ

  • Queued - ジョブはコンピューティング 先でキューに登録されます。 たとえば、BatchAI では、ジョブはキューに登録された状態です

    要求されたノードの準備が整うのを待機しています。

  • 実行中 - ジョブがコンピューティング 先で実行を開始しました。

  • 最終処理 - ユーザー コードの実行が完了し、実行は処理後の段階にあります。

  • CancelRequested - ジョブに対してキャンセルが要求されました。

  • 完了 - 実行が正常に完了しました。 これには、ユーザー コードの実行と実行の両方が含まれます

    後処理のステージ。

  • Failed - 実行に失敗しました。 通常は実行の Error プロパティで、理由に関する詳細が提供されます。

  • Canceled - キャンセル要求に従い、実行が現在正常にキャンセルされたことを示します。

  • NotResponding - ハートビートが有効になっている実行の場合、最近ハートビートが送信されていません。

戻り値

ジョブの状態。

の戻り値の型 :

studio_url

Azure ML Studio エンドポイント。

戻り値

ジョブの詳細ページへの URL。

の戻り値の型 :

task_type

タスクの種類を取得します。

戻り値

実行するタスクの種類。 使用できる値は、"classification"、"regression"、"forecasting" です。

の戻り値の型 :

str

test_data

テスト データを取得します。

戻り値

データ入力をテストする

の戻り値の型 :

training

予測トレーニング設定を返します。

戻り値

トレーニング設定。

の戻り値の型 :

<xref:azure.ai.ml.automl.ForecastingTrainingSettings>

training_data

トレーニング データを取得します。

戻り値

トレーニング データ入力

の戻り値の型 :

type

ジョブの種類。

戻り値

ジョブの種類。

の戻り値の型 :

validation_data

検証データを取得します。

戻り値

検証データの入力

の戻り値の型 :