AutoMLConfig クラス
Azure Machine Learning で自動化された ML 実験を送信するための構成を示します。
この構成オブジェクトには、実験の実行を構成するためのパラメーターのほか、実行時に使用されるトレーニング データが含まれ、保持されます。 設定の選択に関するガイダンスについては、https://aka.ms/AutoMLConfig を参照してください。
AutoMLConfig を作成します。
- 継承
-
builtins.objectAutoMLConfig
コンストラクター
AutoMLConfig(task: str, path: str | None = None, iterations: int | None = None, primary_metric: str | None = None, positive_label: Any | None = None, compute_target: Any | None = None, spark_context: Any | None = None, X: Any | None = None, y: Any | None = None, sample_weight: Any | None = None, X_valid: Any | None = None, y_valid: Any | None = None, sample_weight_valid: Any | None = None, cv_splits_indices: List[List[Any]] | None = None, validation_size: float | None = None, n_cross_validations: int | str | None = None, y_min: float | None = None, y_max: float | None = None, num_classes: int | None = None, featurization: str | FeaturizationConfig = 'auto', max_cores_per_iteration: int = 1, max_concurrent_iterations: int = 1, iteration_timeout_minutes: int | None = None, mem_in_mb: int | None = None, enforce_time_on_windows: bool = True, experiment_timeout_hours: float | None = None, experiment_exit_score: float | None = None, enable_early_stopping: bool = True, blocked_models: List[str] | None = None, blacklist_models: List[str] | None = None, exclude_nan_labels: bool = True, verbosity: int = 20, enable_tf: bool = False, model_explainability: bool = True, allowed_models: List[str] | None = None, whitelist_models: List[str] | None = None, enable_onnx_compatible_models: bool = False, enable_voting_ensemble: bool = True, enable_stack_ensemble: bool | None = None, debug_log: str = 'automl.log', training_data: Any | None = None, validation_data: Any | None = None, test_data: Any | None = None, test_size: float | None = None, label_column_name: str | None = None, weight_column_name: str | None = None, cv_split_column_names: List[str] | None = None, enable_local_managed: bool = False, enable_dnn: bool | None = None, forecasting_parameters: ForecastingParameters | None = None, **kwargs: Any)
パラメーター
名前 | 説明 |
---|---|
task
必須
|
実行するタスクの種類。 値は、自動 ML の解決する問題の種類に応じて、'classification'、'regression'、または 'forecasting' のいずれかを指定できます。 |
path
必須
|
Azure Machine Learning プロジェクト フォルダーへの完全なパスです。 指定しない場合、既定では、現在のディレクトリまたは "." が使用されます。 |
iterations
必須
|
自動 ML 実験中にテストする異なるアルゴリズムとパラメーターの組み合わせの合計数。 指定しない場合、既定値は 1000 反復です。 |
primary_metric
必須
|
モデルの選択のために、自動機械学習によって最適化されるメトリック。 自動機械学習によって、最適化できるよりも多くのメトリックが収集されます。 get_primary_metrics を使用すると、指定したタスクの有効なメトリックのリストを取得できます。 メトリックの計算方法の詳細については、https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric を参照してください。 指定しない場合、分類タスクには精度が使用され、予測と回帰のタスクには正規化されたルート平均二乗が使用され、イメージの分類とイメージのマルチラベル分類には精度が使用され、イメージ オブジェクトの検出には平均有効桁数が使用されます。 |
positive_label
必須
|
バイナリ メトリックを計算するために自動化機械学習によって使用される正のクラス ラベル。 バイナリ メトリックは、分類タスクの 2 つの条件で計算されます。
分類の詳細については、「分類シナリオのメトリック」を確認してください。 |
compute_target
必須
|
自動機械学習実験を実行する Azure Machine Learning コンピューティング先。 コンピューティング先の詳細については、https://docs.microsoft.com/en-us/azure/machine-learning/concept-automated-ml#local-remote を参照してください。 |
spark_context
必須
|
<xref:SparkContext>
Spark コンテキスト。 Azure Databricks/Spark 環境内で使用される場合にのみ適用されます。 |
X
必須
|
実験中にパイプラインを調整するときに使用するトレーニング特徴量。 この設定は非推奨になります。 代わりに training_data と label_column_name を使用してください。 |
y
必須
|
実験中にパイプラインを調整するときに使用するトレーニング ラベル。 これは、ご自分のモデルで予測する値です。 この設定は非推奨になります。 代わりに training_data と label_column_name を使用してください。 |
sample_weight
必須
|
調整するパイプラインを実行するときに各トレーニング サンプルに付与する重み。各行が X データと y データ内の行に対応している必要があります。 このパラメーターは、 |
X_valid
必須
|
実験中にパイプラインを調整するときに使用する検証特徴量。 指定するときは、 |
y_valid
必須
|
実験中にパイプラインを調整するときに使用する検証ラベル。
|
sample_weight_valid
必須
|
スコア付けするパイプラインを実行するときに各検証サンプルに付与する重み。各行が X データと y データ内の行に対応している必要があります。 このパラメーターは、 |
cv_splits_indices
必須
|
クロス検証用にトレーニング データを分割するインデックス。 各行は個別のクロス フォールドで、各クロスフォールド内に 2 つの numpy 配列を提供します。1 番目の配列は、トレーニング データに使用するサンプルのインデックス、2 番目の配列は検証データに使用するインデックスを設定します。 つまり、[[t1, v1], [t2, v2], ...] というようにします。t1 は 1 番目のクロス フォールドのトレーニング インデックス、v1 は 1 番目のクロス フォールドの検証インデックスです。 既存のデータを検証データとして指定するには、 |
validation_size
必須
|
ユーザー検証データを指定しない場合に、検証用に保持するデータの割合。 これは、0.0 から 1.0 の範囲内 (限界値は含まない) である必要があります。 検証データを提供するには 詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
n_cross_validations
必須
|
ユーザー検証データが指定されていない場合に実行するクロス検証の数。 検証データを提供するには 詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
y_min
必須
|
回帰実験の y の最小値。
|
y_max
必須
|
回帰実験の y の最大値。
|
num_classes
必須
|
分類実験のラベル データ内のクラスの数。 この設定は非推奨になります。 代わりに、この値はデータから計算されます。 |
featurization
必須
|
特徴量化ステップを自動的に実行する必要があるかどうか、またはカスタマイズされた特徴量化を使用する必要があるかどうかを示す 'auto' / 'off' / FeaturizationConfig インジケーター。 注: 入力データがスパースの場合、特徴量化を有効にすることはできません。 列の種類は自動的に検出されます。 検出された列の種類の前処理と特徴量化は、次のように実行されます。
詳細については、Python での自動 ML 実験の構成に関する記事をご覧ください。 特徴量化ステップをカスタマイズするには、FeaturizationConfig オブジェクトを指定します。 カスタマイズされた特徴量化は現在、一連のトランスフォーマーのブロック、列の目的の更新、トランスフォーマー パラメーターの編集、列の削除をサポートしています。 詳細については、特徴エンジニアリングのカスタマイズに関する記事をご覧ください。 注: Timeseries 特徴量は、このパラメーターに依存しない予測にタスクの種類が設定されている場合に個別に処理されます。 |
max_cores_per_iteration
必須
|
特定のトレーニング反復に使用するスレッドの最大数。 許容される値:
|
max_concurrent_iterations
必須
|
並列で実行されるイテレーションの最大数を表します。 既定値は 1 です。
|
iteration_timeout_minutes
必須
|
各反復で終了前に実行できる最大時間 (分)。 指定しない場合は、1 か月、すなわち 43200 分の値が使用されます。 |
mem_in_mb
必須
|
各反復で終了前に実行できる最大メモリ使用量。 指定しない場合は、1 PB、すなわち 1073741824 MB の値が使用されます。 |
enforce_time_on_windows
必須
|
Windows で各反復でのモデルのトレーニングに時間制限を課すかどうか。 既定値は True です。 Python スクリプト ファイル (.py) から実行する場合は、Windows でのリソース制限を許可するためのドキュメントを参照してください。 |
experiment_timeout_hours
必須
|
すべてのイテレーションを組み合わせて、実験が終了するまでにかかる最大時間 (時間単位)。 10 進数値 (15 分を表す 0.25 など) を指定できます。 指定しない場合、既定の実験タイムアウトは 6 日です。 1 時間以下のタイムアウトを指定するには、エラーが発生しないように、データセットのサイズが 10,000,000 (行と列の積) を超えていないことを確認します。 |
experiment_exit_score
必須
|
実験のターゲット スコア。 実験は、このスコアに達すると終了します。 指定しない場合 (基準なし)、実験は、主要メトリックでそれ以上の進行がなくなるまで実行されます。 終了基準の詳細については、こちらの記事を参照してください。 |
enable_early_stopping
必須
|
短期間でスコアが改善されない場合に、早期終了を有効にするかどうか。 既定値は True です。 早期停止ロジック:
|
blocked_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
実験で無視するアルゴリズムのリスト。
|
blacklist_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
非推奨のパラメーター。代わりに blocked_models を使用してください。 |
exclude_nan_labels
必須
|
ラベルに NaN 値を含む行を除外するかどうか。 既定値は True です。 |
verbosity
必須
|
ログ ファイルに書き込む詳細レベル。 既定値は INFO または 20 です。 許容される値は、Python ロギング ライブラリで定義されています。 |
enable_tf
必須
|
Tensorflow アルゴリズムを有効/無効にするための非推奨のパラメーター。 既定値は False です。 |
model_explainability
必須
|
すべての AutoML トレーニング反復の最後に、最適な AutoML モデルを説明できるかどうか。 既定値は True です。 詳細については、「解釈可能性: 自動 ML でのモデル説明」を参照してください。 |
allowed_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
実験を検索するモデル名のリスト。 指定しない場合、 |
whitelist_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
非推奨のパラメーター。代わりに allowed_models を使用してください。 |
enable_onnx_compatible_models
必須
|
ONNX と互換性のあるモデルの強制を有効または無効にするかどうか。 既定値は False です。 Open Neural Network Exchange (ONNX) と Azure Machine Learning の詳細については、こちらの記事を参照してください。 |
forecasting_parameters
必須
|
すべての予測固有のパラメーターを保持する ForecastingParameters オブジェクト。 |
time_column_name
必須
|
時間列の名前。 このパラメーターは、時系列の構築とその頻度の推定に使用される入力データで、予測によって datetime 列を指定する場合に必要です。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
max_horizon
必須
|
時系列頻度を単位にした目的の最大予測期間。 既定値は 1 です。 単位は、トレーニング データの時間間隔に基づきます。たとえば、予測者が予測する必要がある月ごと、週ごとなどです。タスクの種類が予測である場合、このパラメーターは必須です。 予測パラメーターの設定の詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
grain_column_names
必須
|
時系列をグループ化するために使用される列の名前。 複数の系列を作成するために使用できます。 グレインが定義されていない場合、データ セットは 1 つの時系列であると見なされます。 このパラメーターは、タスクの種類の予測で使用します。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
target_lags
必須
|
ターゲット列からのラグとして指定する過去の期間の数。 既定値は 1 です。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 予測時に、このパラメーターは、データの頻度に基づいてターゲット値を遅延させる行数を表します。 これは一覧または単一の整数として表されます。 独立変数と依存変数の間のリレーションシップが既定で一致しない場合、または関連付けられていない場合、ラグを使用する必要があります。 たとえば、製品の需要を予測しようとする場合、任意の月の需要は、3 か月前の特定の商品の価格によって異なる可能性があります。 この例では、モデルが正しいリレーションシップでトレーニングされるように、目標 (要求) を 3 か月間遅延させてください。 詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。 |
feature_lags
必須
|
数値特徴のラグを生成するためのフラグ。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
target_rolling_window_size
必須
|
ターゲット列のローリング期間の平均を作成するために使用する過去の期間の数。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 予測時に、このパラメーターは、予測値を生成するために使用する n 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 |
country_or_region
必須
|
休日の特徴を生成するために使用される国または地域。 これらは、2 文字の ISO 3166 国または地域コード ("US" や "GB" など) である必要があります。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
use_stl
必須
|
時系列ターゲット列の STL 分解を構成します。 use_stl は 3 つの値を取ることができます: None (既定) - stl 分解なし。'season' - 季節コンポーネントのみを生成します。season_trend - 季節と傾向の両方のコンポーネントを生成します。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
seasonality
必須
|
時系列の季節性を設定します。 'auto' に設定した場合、季節性は推定されます。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
short_series_handling_configuration
必須
|
AutoML で短い時系列を処理する方法を定義するパラメーター。 使用可能な値: 'auto' (既定値)、'pad'、'drop'、None。
日付 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 と簡潔して表記されています)。 処理 handling_configuration 結果の処理 結果のhandling_configuration True 自動 True 自動 True パッド True 自動 True drop True 自動 True なし False なし False 自動 False なし False パッド False なし False drop False なし False なし False なし |
freq
必須
|
予測頻度。 予測する場合、このパラメーターは、日単位、週単位、年単位など、予測が必要な期間を表します。予測頻度は、既定ではデータセットの頻度です。 必要に応じて、データセットよりも高い頻度 (低い頻度は不可) に設定することができます。 データを集計し、予測頻度で結果を生成します。 たとえば、毎日のデータの場合、頻度を日単位、週単位、または月単位に設定できますが、時間単位に設定することはできません。 頻度には、pandas のオフセット エイリアスを使用する必要があります。 詳細については、pandas のドキュメントをご覧ください: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
必須
|
ユーザー指定の頻度に従って時系列ターゲット列を集計するために使用する関数。 target_aggregation_function を設定しても、freq パラメーターを設定しないと、エラーが発生します。 使用可能なターゲット集計関数は、"sum"、"max"、"min"、"mean" です。 周波数 target_aggregation_function データの規則性の修正メカニズム なし (既定) なし (既定) 集計は適用されません。有効な頻度がベッド決定できない場合は、エラーが発生します。 一部の値 なし (既定) 集計は適用されません。指定された周波数グリッドに準拠するデータ ポイントの数が少ない場合、これらのポイントは 90% 削除され、それ以外の場合はエラーが発生します。 なし (既定) 集計関数 frequency パラメーターの欠落に関するエラーが発生しました。 一部の値 集計関数 providedaggregation 関数を使用して頻度に集計します。 |
enable_voting_ensemble
必須
|
VotingEnsemble の反復を有効/無効にするかどうか。 既定値は True です。 アンサンブルの詳細については、「アンサンブル構成」を参照してください。 |
enable_stack_ensemble
必須
|
StackEnsemble の反復を有効/無効にするかどうか。 既定値は None です。 enable_onnx_compatible_models フラグを設定すると、StackEnsemble 反復は無効になります。 同様に、Timeseries タスクの場合、meta learner の調整に使用されるトレーニング セットが小さいことによるオーバーフィットのリスクを回避するために、StackEnsemble の反復は既定で無効になります。 アンサンブルの詳細については、「アンサンブル構成」を参照してください。 |
debug_log
必須
|
デバッグ情報を書き込むログ ファイル。 指定しない場合は、'automl.log' が使用されます。 |
training_data
必須
|
実験内で使用するトレーニング データ。
トレーニング特徴量およびラベル列 (必要に応じて、サンプルの重み列) の両方を含める必要があります。
|
validation_data
必須
|
実験内で使用する検証データ。
トレーニング特徴量およびラベル列 (必要に応じて、サンプルの重み列) の両方を含める必要があります。
|
test_data
必須
|
テスト データセットまたはテスト データ分割を使用するモデル テスト機能は、プレビュー段階の機能であり、いつでも変更される可能性があります。 モデルのトレーニングが完了した後に自動的に開始されるテスト実行に使用するテスト データ。 テスト実行で、最適なモデルを使用して予測が得られ、これらの予測に基づいてメトリックが計算されます。 このパラメーターまたは |
test_size
必須
|
テスト データセットまたはテスト データ分割を使用するモデル テスト機能は、プレビュー段階の機能であり、いつでも変更される可能性があります。 モデルのトレーニングが完了した後に自動的に開始されるテスト実行のために、テスト データ用に保持するトレーニング データの割合。 テスト実行で、最適なモデルを使用して予測が得られ、これらの予測に基づいてメトリックが計算されます。 これは、0.0 から 1.0 の範囲内 (限界値は含まない) である必要があります。
回帰ベースのタスクの場合は、ランダム サンプリングが使用されます。 分類タスクの場合は、層化サンプリングが使用されます。 現在、予測は、トレーニングとテストの分割を使ったテスト データセットの指定をサポートしていません。 このパラメーターまたは |
label_column_name
必須
|
ラベル列の名前。 入力データが列名を持たない pandas.DataFrame の場合、代わりに列のインデックスを使用して、整数で表すことができます。 このパラメーターは、 |
weight_column_name
必須
|
サンプルの重み列の名前。 自動 ML では、入力として重み付け列がサポートされているため、データ内の行が重み付けされます。 入力データが列名を持たない pandas.DataFrame の場合、代わりに列のインデックスを使用して、整数で表すことができます。 このパラメーターは、 |
cv_split_column_names
必須
|
カスタムのクロス検証分割が含まれる列の名前のリスト。 各 CV 分割列が 1 つの CV 分割を表します。このとき、各行は、トレーニングに 1、検証に 0 がマークされます。 このパラメーターは、カスタムのクロス検証を行うための
詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
enable_local_managed
必須
|
無効なパラメーター。 ローカル マネージド実行は、現時点では有効にできません。 |
enable_dnn
必須
|
モデルの選択時に DNN ベースのモデルを含めるかどうか。 init の既定値は None です。 ただし、既定値は、DNN NLP タスクの場合は True、他のすべての AutoML タスクの場合は False です。 |
task
必須
|
実行するタスクの種類。 値は、自動 ML の解決する問題の種類に応じて、'classification'、'regression'、または 'forecasting' のいずれかを指定できます。 |
path
必須
|
Azure Machine Learning プロジェクト フォルダーへの完全なパスです。 指定しない場合、既定では、現在のディレクトリまたは "." が使用されます。 |
iterations
必須
|
自動 ML 実験中にテストする異なるアルゴリズムとパラメーターの組み合わせの合計数。 指定しない場合、既定値は 1000 反復です。 |
primary_metric
必須
|
モデルの選択のために、自動機械学習によって最適化されるメトリック。 自動機械学習によって、最適化できるよりも多くのメトリックが収集されます。 get_primary_metrics を使用すると、指定したタスクの有効なメトリックのリストを取得できます。 メトリックの計算方法の詳細については、https://docs.microsoft.com/azure/machine-learning/how-to-configure-auto-train#primary-metric を参照してください。 指定しない場合、分類タスクには精度が使用され、予測と回帰のタスクには正規化されたルート平均二乗が使用され、イメージの分類とイメージのマルチラベル分類には精度が使用され、イメージ オブジェクトの検出には平均有効桁数が使用されます。 |
positive_label
必須
|
バイナリ メトリックを計算するために自動化機械学習によって使用される正のクラス ラベル。 バイナリ メトリックは、分類タスクの 2 つの条件で計算されます。
分類の詳細については、「分類シナリオのメトリック」を確認してください。 |
compute_target
必須
|
自動機械学習実験を実行する Azure Machine Learning コンピューティング先。 コンピューティング先の詳細については、https://docs.microsoft.com/azure/machine-learning/how-to-auto-train-remote を参照してください。 |
spark_context
必須
|
<xref:SparkContext>
Spark コンテキスト。 Azure Databricks/Spark 環境内で使用される場合にのみ適用されます。 |
X
必須
|
実験中にパイプラインを調整するときに使用するトレーニング特徴量。 この設定は非推奨になります。 代わりに training_data と label_column_name を使用してください。 |
y
必須
|
実験中にパイプラインを調整するときに使用するトレーニング ラベル。 これは、ご自分のモデルで予測する値です。 この設定は非推奨になります。 代わりに training_data と label_column_name を使用してください。 |
sample_weight
必須
|
調整するパイプラインを実行するときに各トレーニング サンプルに付与する重み。各行が X データと y データ内の行に対応している必要があります。 このパラメーターは、 |
X_valid
必須
|
実験中にパイプラインを調整するときに使用する検証特徴量。 指定するときは、 |
y_valid
必須
|
実験中にパイプラインを調整するときに使用する検証ラベル。
|
sample_weight_valid
必須
|
スコア付けするパイプラインを実行するときに各検証サンプルに付与する重み。各行が X データと y データ内の行に対応している必要があります。 このパラメーターは、 |
cv_splits_indices
必須
|
クロス検証用にトレーニング データを分割するインデックス。 各行は個別のクロス フォールドで、各クロスフォールド内に 2 つの numpy 配列を提供します。1 番目の配列は、トレーニング データに使用するサンプルのインデックス、2 番目の配列は検証データに使用するインデックスを設定します。 つまり、[[t1, v1], [t2, v2], ...] というようにします。t1 は 1 番目のクロス フォールドのトレーニング インデックス、v1 は 1 番目のクロス フォールドの検証インデックスです。 このオプションは、データが個別の特徴データセットとラベル列として渡される場合にサポートされます。 既存のデータを検証データとして指定するには、 |
validation_size
必須
|
ユーザー検証データを指定しない場合に、検証用に保持するデータの割合。 これは、0.0 から 1.0 の範囲内 (限界値は含まない) である必要があります。 検証データを提供するには 詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
n_cross_validations
必須
|
ユーザー検証データが指定されていない場合に実行するクロス検証の数。 検証データを提供するには 詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
y_min
必須
|
回帰実験の y の最小値。
|
y_max
必須
|
回帰実験の y の最大値。
|
num_classes
必須
|
分類実験のラベル データ内のクラスの数。 この設定は非推奨になります。 代わりに、この値はデータから計算されます。 |
featurization
必須
|
特徴量化ステップを自動的に実行する必要があるかどうか、またはカスタマイズされた特徴量化を使用する必要があるかどうかを示す 'auto' / 'off' / FeaturizationConfig インジケーター。 注: 入力データがスパースの場合、特徴量化を有効にすることはできません。 列の種類は自動的に検出されます。 検出された列の種類の前処理と特徴量化は、次のように実行されます。
詳細については、Python での自動 ML 実験の構成に関する記事をご覧ください。 特徴量化ステップをカスタマイズするには、FeaturizationConfig オブジェクトを指定します。 カスタマイズされた特徴量化は現在、一連のトランスフォーマーのブロック、列の目的の更新、トランスフォーマー パラメーターの編集、列の削除をサポートしています。 詳細については、特徴エンジニアリングのカスタマイズに関する記事をご覧ください。 注: Timeseries 特徴量は、このパラメーターに依存しない予測にタスクの種類が設定されている場合に個別に処理されます。 |
max_cores_per_iteration
必須
|
特定のトレーニング反復に使用するスレッドの最大数。 許容される値:
|
max_concurrent_iterations
必須
|
並列で実行されるイテレーションの最大数を表します。 既定値は 1 です。
|
iteration_timeout_minutes
必須
|
各反復で終了前に実行できる最大時間 (分)。 指定しない場合は、1 か月、すなわち 43200 分の値が使用されます。 |
mem_in_mb
必須
|
各反復で終了前に実行できる最大メモリ使用量。 指定しない場合は、1 PB、すなわち 1073741824 MB の値が使用されます。 |
enforce_time_on_windows
必須
|
Windows で各反復でのモデルのトレーニングに時間制限を課すかどうか。 既定値は True です。 Python スクリプト ファイル (.py) から実行する場合は、Windows でのリソース制限を許可するためのドキュメントを参照してください。 |
experiment_timeout_hours
必須
|
すべてのイテレーションを組み合わせて、実験が終了するまでにかかる最大時間 (時間単位)。 10 進数値 (15 分を表す 0.25 など) を指定できます。 指定しない場合、既定の実験タイムアウトは 6 日です。 1 時間以下のタイムアウトを指定するには、エラーが発生しないように、データセットのサイズが 10,000,000 (行と列の積) を超えていないことを確認します。 |
experiment_exit_score
必須
|
実験のターゲット スコア。 実験は、このスコアに達すると終了します。
指定しない場合 (基準なし)、実験は、主要メトリックでそれ以上の進行がなくなるまで実行されます。 終了条件の詳細については、こちらの >> |
enable_early_stopping
必須
|
短期間でスコアが改善されない場合に、早期終了を有効にするかどうか。 既定値は True です。 早期停止ロジック:
|
blocked_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
実験で無視するアルゴリズムのリスト。
|
blacklist_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
非推奨のパラメーター。代わりに blocked_models を使用してください。 |
exclude_nan_labels
必須
|
ラベルに NaN 値を含む行を除外するかどうか。 既定値は True です。 |
verbosity
必須
|
ログ ファイルに書き込む詳細レベル。 既定値は INFO または 20 です。 許容される値は、Python ロギング ライブラリで定義されています。 |
enable_tf
必須
|
TensorFlow アルゴリズムを有効または無効にするかどうか。 既定値は False です。 |
model_explainability
必須
|
すべての AutoML トレーニング反復の最後に、最適な AutoML モデルを説明できるかどうか。 既定値は True です。 詳細については、「解釈可能性: 自動 ML でのモデル説明」を参照してください。 |
allowed_models
必須
|
list(str) または
list(Classification) <xref:for classification task> または
list(Regression) <xref:for regression task> または
list(Forecasting) <xref:for forecasting task>
実験を検索するモデル名のリスト。 指定しない場合、 |
allowed_models
必須
|
実験を検索するモデル名のリスト。 指定しない場合、 |
whitelist_models
必須
|
非推奨のパラメーター。代わりに allowed_models を使用してください。 |
enable_onnx_compatible_models
必須
|
ONNX と互換性のあるモデルの強制を有効または無効にするかどうか。 既定値は False です。 Open Neural Network Exchange (ONNX) と Azure Machine Learning の詳細については、こちらの記事を参照してください。 |
forecasting_parameters
必須
|
すべての予測特定のパラメーターを保持するオブジェクト。 |
time_column_name
必須
|
時間列の名前。 このパラメーターは、時系列の構築とその頻度の推定に使用される入力データで、予測によって datetime 列を指定する場合に必要です。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
max_horizon
必須
|
時系列頻度を単位にした目的の最大予測期間。 既定値は 1 です。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 単位は、トレーニング データの時間間隔に基づきます。たとえば、予測者が予測する必要がある月ごと、週ごとなどです。タスクの種類が予測である場合、このパラメーターは必須です。 予測パラメーターの設定の詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。 |
grain_column_names
必須
|
時系列をグループ化するために使用される列の名前。 複数の系列を作成するために使用できます。 グレインが定義されていない場合、データ セットは 1 つの時系列であると見なされます。 このパラメーターは、タスクの種類の予測で使用します。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
target_lags
必須
|
ターゲット列からのラグとして指定する過去の期間の数。 既定値は 1 です。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 予測時に、このパラメーターは、データの頻度に基づいてターゲット値を遅延させる行数を表します。 これは一覧または単一の整数として表されます。 独立変数と依存変数の間のリレーションシップが既定で一致しない場合、または関連付けられていない場合、ラグを使用する必要があります。 たとえば、製品の需要を予測しようとする場合、任意の月の需要は、3 か月前の特定の商品の価格によって異なる可能性があります。 この例では、モデルが正しいリレーションシップでトレーニングされるように、目標 (要求) を 3 か月間遅延させてください。 詳細については、時系列予測モデルの自動トレーニングに関する記事をご覧ください。 |
feature_lags
必須
|
数値特徴のラグを生成するためのフラグ。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
target_rolling_window_size
必須
|
ターゲット列のローリング期間の平均を作成するために使用する過去の期間の数。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 予測時に、このパラメーターは、予測値を生成するために使用する n 個の履歴期間を表し、トレーニング セットのサイズ以下です。 省略した場合、n はトレーニング セットの全体のサイズになります。 モデルのトレーニング時に特定の量の履歴のみを考慮する場合は、このパラメーターを指定します。 |
country_or_region
必須
|
休日の特徴を生成するために使用される国または地域。 これらは、ISO 3166 の 2 文字の国または地域コード ("US" や "GB" など) である必要があります。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
use_stl
必須
|
時系列ターゲット列の STL 分解を構成します。 use_stl は 3 つの値を取ることができます: None (既定) - stl 分解なし。'season' - 季節コンポーネントのみを生成します。season_trend - 季節と傾向の両方のコンポーネントを生成します。 この設定は非推奨になります。 代わりに forecasting_parameters を使用してください。 |
seasonality
必須
|
時系列の季節性を設定します。 季節性が -1 に設定された場合は、推論されます。 use_stl が設定されていない場合、このパラメーターは使用されません。 この設定は非推奨になっています。 代わりに forecasting_parameters を使用してください。 |
short_series_handling_configuration
必須
|
AutoML で短い時系列を処理する方法を定義するパラメーター。 使用可能な値: 'auto' (既定値)、'pad'、'drop'、None。
日付 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 と簡潔して表記されています)。 処理 handling_configuration 結果の処理 結果のhandling_configuration True 自動 True 自動 True パッド True 自動 True drop True 自動 True なし False なし False 自動 False なし False パッド False なし False drop False なし False なし False なし |
freq
必須
|
予測頻度。 予測する場合、このパラメーターは、日単位、週単位、年単位など、予測が必要な期間を表します。予測頻度は、既定ではデータセットの頻度です。 必要に応じて、データセットよりも高い頻度 (低い頻度は不可) に設定することができます。 データを集計し、予測頻度で結果を生成します。 たとえば、毎日のデータの場合、頻度を日単位、週単位、または月単位に設定できますが、時間単位に設定することはできません。 頻度には、pandas のオフセット エイリアスを使用する必要があります。 詳細については、pandas のドキュメントをご覧ください: https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#dateoffset-objects |
target_aggregation_function
必須
|
ユーザー指定の頻度に従って時系列ターゲット列を集計するために使用する関数。 target_aggregation_function を設定しても、freq パラメーターを設定しないと、エラーが発生します。 使用可能なターゲット集計関数は、"sum"、"max"、"min"、"mean" です。 周波数 target_aggregation_function データの規則性の修正メカニズム なし (既定) なし (既定) 集計は適用されません。有効な頻度がベッド決定できない場合は、エラーが発生します。 一部の値 なし (既定) 集計は適用されません。指定された周波数グリッドに準拠するデータ ポイントの数が少ない場合、これらのポイントは 90% 削除され、それ以外の場合はエラーが発生します。 なし (既定) 集計関数 frequency パラメーターの欠落に関するエラーが発生しました。 一部の値 集計関数 providedaggregation 関数を使用して頻度に集計します。 |
enable_voting_ensemble
必須
|
VotingEnsemble の反復を有効/無効にするかどうか。 既定値は True です。 アンサンブルの詳細については、「アンサンブル構成」を参照してください。 |
enable_stack_ensemble
必須
|
StackEnsemble の反復を有効/無効にするかどうか。 既定値は None です。 enable_onnx_compatible_models フラグを設定すると、StackEnsemble 反復は無効になります。 同様に、Timeseries タスクの場合、meta learner の調整に使用されるトレーニング セットが小さいことによるオーバーフィットのリスクを回避するために、StackEnsemble の反復は既定で無効になります。 アンサンブルの詳細については、「アンサンブル構成」を参照してください。 |
debug_log
必須
|
デバッグ情報を書き込むログ ファイル。 指定しない場合は、'automl.log' が使用されます。 |
training_data
必須
|
実験内で使用するトレーニング データ。
トレーニング特徴量およびラベル列 (必要に応じて、サンプルの重み列) の両方を含める必要があります。
|
validation_data
必須
|
実験内で使用する検証データ。
トレーニング特徴量およびラベル列 (必要に応じて、サンプルの重み列) の両方を含める必要があります。
|
test_data
必須
|
テスト データセットまたはテスト データ分割を使用するモデル テスト機能は、プレビュー段階の機能であり、いつでも変更される可能性があります。 モデルのトレーニングが完了した後に自動的に開始されるテスト実行に使用するテスト データ。 テスト実行で、最適なモデルを使用して予測が得られ、これらの予測に基づいてメトリックが計算されます。 このパラメーターまたは |
test_size
必須
|
テスト データセットまたはテスト データ分割を使用するモデル テスト機能は、プレビュー段階の機能であり、いつでも変更される可能性があります。 モデルのトレーニングが完了した後に自動的に開始されるテスト実行のために、テスト データ用に保持するトレーニング データの割合。 テスト実行で、最適なモデルを使用して予測が得られ、これらの予測に基づいてメトリックが計算されます。 これは、0.0 から 1.0 の範囲内 (限界値は含まない) である必要があります。
回帰ベースのタスクの場合は、ランダム サンプリングが使用されます。 分類タスクの場合は、層化サンプリングが使用されます。 現在、予測は、トレーニングとテストの分割を使ったテスト データセットの指定をサポートしていません。 このパラメーターまたは |
label_column_name
必須
|
ラベル列の名前。 入力データが列名を持たない pandas.DataFrame の場合、代わりに列のインデックスを使用して、整数で表すことができます。 このパラメーターは、 |
weight_column_name
必須
|
サンプルの重み列の名前。 自動 ML では、入力として重み付け列がサポートされているため、データ内の行が重み付けされます。 入力データが列名を持たない pandas.DataFrame の場合、代わりに列のインデックスを使用して、整数で表すことができます。 このパラメーターは、 |
cv_split_column_names
必須
|
カスタムのクロス検証分割が含まれる列の名前のリスト。 各 CV 分割列が 1 つの CV 分割を表します。このとき、各行は、トレーニングに 1、検証に 0 がマークされます。 このパラメーターは、カスタムのクロス検証を行うための
詳細については、自動機械学習のデータ分割とクロス検証の構成に関する記事をご覧ください。 |
enable_local_managed
必須
|
無効なパラメーター。 ローカル マネージド実行は、現時点では有効にできません。 |
enable_dnn
必須
|
モデルの選択時に DNN ベースのモデルを含めるかどうか。 init の既定値は None です。 ただし、既定値は、DNN NLP タスクの場合は True、他のすべての AutoML タスクの場合は False です。 |
注釈
次のコードは、AutoMLConfig オブジェクトを作成し、回帰の実験を送信する基本的な例を示しています。
automl_settings = {
"n_cross_validations": 3,
"primary_metric": 'r2_score',
"enable_early_stopping": True,
"experiment_timeout_hours": 1.0,
"max_concurrent_iterations": 4,
"max_cores_per_iteration": -1,
"verbosity": logging.INFO,
}
automl_config = AutoMLConfig(task = 'regression',
compute_target = compute_target,
training_data = train_data,
label_column_name = label,
**automl_settings
)
ws = Workspace.from_config()
experiment = Experiment(ws, "your-experiment-name")
run = experiment.submit(automl_config, show_output=True)
完全なサンプルは、回帰で入手できます
予測に AutoMLConfig を使用する例は、次のノートブックを参照してください。
すべてのタスクの種類に AutoMLConfig を使用する例については、こちらの自動 ML ノートブックを参照してください。
自動 ML の背景については、次の記事を参照してください。
Python で自動 ML の実験を構成する。 この記事には、タスクの種類ごとに使用するさまざまなアルゴリズムと主要メトリックについての情報があります。
時系列予測モデルを自動トレーニングする。 この記事には、どのコンストラクター パラメーターと
**kwargs
を予測に使用するのかについての情報があります。
自動機械学習、AutoML、実験のトレーニングおよび検証データの分割とクロス検証を構成するためのさまざまなオプションの詳細については、自動機械学習でデータ分割とクロス検証を構成するに関する記事をご覧ください。
メソッド
as_serializable_dict |
オブジェクトをディクショナリに変換します。 |
get_supported_dataset_languages |
ISO 639-3 でサポートされている言語とそれに対応する言語コードを取得します。 |
as_serializable_dict
オブジェクトをディクショナリに変換します。
as_serializable_dict() -> Dict[str, Any]
get_supported_dataset_languages
ISO 639-3 でサポートされている言語とそれに対応する言語コードを取得します。
get_supported_dataset_languages(use_gpu: bool) -> Dict[Any, Any]
パラメーター
名前 | 説明 |
---|---|
cls
必須
|
AutoMLConfig のクラス オブジェクト。 |
use_gpu
必須
|
gpu コンピューティングを使用するかどうかを示すブール値。 |
戻り値
型 | 説明 |
---|---|
{: } 形式の辞書。 言語コードが ISO 639-3 標準に準拠している場合は、https://en.wikipedia.org/wiki/List_of_ISO_639-3_codes を参照してください |