AutoML Python API リファレンス
この記事では、分類、回帰、予測の AutoML 実行を開始するメソッドを提供する AutoML Python API について説明します。 各メソッドは、一連のモデルをトレーニングする し、モデルごとに試用版ノートブックを生成します。
ローコード UI オプションを含むAutoMLの詳細については、 AutoMLとは」を参照してください。
分類
databricks.automl.classify
メソッドは、分類モデルをトレーニングするための AutoML 実行を構成します。
注:
max_trials
パラメーターは Databricks Runtime 10.4 ML では非推奨であり、Databricks Runtime 11.0 ML 以上ではサポートされていません。 AutoML 実行の期間を制御するには、 timeout_minutes
を使用します。
databricks.automl.classify(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
primary_metric: str = "f1",
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None, # <DBR> 10.4 LTS ML and above
experiment_name: Optional[str] = None, # <DBR> 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
pos_label: Optional[Union[int, bool, str]] = None, # <DBR> 11.1 ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # <DBR> 15.3 ML and above
sample_weight_col: Optional[str] = None # <DBR> 15.4 ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
分類のパラメーター
名前 |
タイプ |
説明 |
---|---|---|
|
|
トレーニング機能とターゲットを含むテーブル名または DataFrame を入力します。 テーブル名は、「<database_name>.<table_name>」または「<schema_name>.<table_name>」の形式( Unity Catalog以外のテーブルの場合)にすることができます。 |
|
|
ターゲット・ラベルの列名。 |
|
|
モデルのパフォーマンスを評価し、ランク付けするために使用されるメトリック。 回帰分析でサポートされているメトリクス: “r2” (デフォルト)、 “mae”、 “rmse”、 “mse” 分類にサポートされているメトリクス: “f1” (デフォルト)、 “log_loss”、 “precision”、 “accuracy”、 “ ROC ” |
|
|
随意。 トレーニング データセットを保存するために使用されるDBFSパス。 このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 Databricks では、AutoML がトレーニング データセットを MLflow アーティファクトとして保存できるように、このフィールドを空のままにしておくことを推奨しています。 カスタムパスが指定された場合、データセットはAutoML拡張機能のアクセス権限を継承しません。 |
|
|
随意。 生成されたデータベースと実験を保存するワークスペース内のディレクトリへのパス。 デフォルト: |
|
|
随意。 MLflowが作成するAutoML 拡張機能の名前。 デフォルト: 名前は自動的に生成されます。 |
|
|
随意。 AutoML 計算中に無視する列のリスト。 デフォルト: [] |
|
|
随意。 AutoML がモデルを開発する際に考慮すべきではないアルゴリズム フレームワークのリスト。 可能な値: 空のリスト、または「sklearn」、「lightgbm」、「xgboost」のうち 1 つ以上。 デフォルト: [] (すべてのフレームワークが考慮される) |
|
|
随意。 データ拡張のための Feature Store からの特徴を表す辞書のリスト。 各ディクショナリの有効なキーは次のとおりです。
デフォルト: [] |
|
|
随意。 各キーが列名であり、各値が補完戦略を記述する文字列または辞書である辞書。 文字列として指定する場合、値は「mean」、「median」、または「most_frequent」のいずれかである必要があります。 既知の値で代入するには、その値を辞書 列に補完戦略が指定されていない場合、AutoML は列のタイプとコンテンツに基づいてデフォルトの戦略を選択します。 デフォルト以外の補完方法を指定した場合、AutoML はセマンティック型の検出を実行しません。 デフォルト: {} |
|
|
(分類のみ)肯定的なクラス。 これは、精度や再現率などのメトリクスを計算するのに役立ちます。 二項分類問題に対してのみ指定する必要があります。 |
|
|
Databricks Runtime 10.1 ML 以降で利用できます。 随意。 時間列の列名。 指定されている場合、AutoML は、最も古いポイントをトレーニング データとして使用し、最新のポイントをテスト セットとして使用して、データセットを時系列でトレーニング セット、検証セット、テスト セットに分割しようとします。 受け入れられる列の型は、timestamp と integer です。 Databricks Runtime 10.2 ML 以降では、文字列列もサポートされます。 列の型が文字列の場合、AutoML はセマンティック検出を使用してそれをタイムスタンプに変換しようとします。 変換が失敗すると、AutoML の実行は失敗します。 |
|
|
随意。 分割列の列名。 API ワークフローでは、Databricks Runtime 15.3 ML 以降でのみ使用できます。 指定されている場合、 AutoMLトレーニングする/検証/テスト セットをユーザー指定の値で分割しようとし、この列はトレーニング機能から自動的に除外されます。 受け入れられる列タイプは文字列です。 この列の各エントリの値は、「トレーニングする」、「検証する」、または「テスト」のいずれかである必要があります。 |
|
|
分類 API ワークフローでは、Databricks Runtime 15.4 ML 以降で利用できます。 随意。 各行のサンプル重みを含むデータセット内の列名。 分類は、クラスごとのサンプルの重みをサポートします。 これらの重みは、モデルのトレーニング中に各クラスの重要度を調整します。 クラス内の各サンプルは同じサンプルの重みを持つ必要があり、重みは 0 から 10,000 の範囲の負でない 10 進数または整数値である必要があります。 サンプルの重みが高いクラスは、より重要視され、学習アルゴリズムに大きな影響を与えます。 この列を指定しない場合、すべてのクラスの重みが等しいと見なされます。 |
|
|
随意。 実行する試行の最大数。 このパラメーターは Databricks Runtime 10.5 ML 以下で使用できますが、Databricks Runtime 10.3 ML 以降では非推奨となります。 Databricks Runtime 11.0 ML 以降では、このパラメーターはサポートされていません。 デフォルト: 20 timeout_minutes=None の場合、AutoML は最大回数の試行を実行します。 |
|
|
随意。 AutoML トライアルが完了するまで待機する最大時間。 タイムアウトが長くなると、AutoML はより多くの試行を実行し、より正確なモデルを識別できるようになります。 デフォルト: 120 分 最小値: 5 分 タイムアウトが短すぎて、少なくとも 1 つの試行を完了できない場合は、エラーが報告されます。 |
回帰
databricks.automl.regress
メソッドは、回帰モデルをトレーニングするための AutoML 実行を構成します。 このメソッドは、 AutoMLSummary を返します。
注:
max_trials
パラメーターは Databricks Runtime 10.4 ML では非推奨であり、Databricks Runtime 11.0 ML 以上ではサポートされていません。 AutoML 実行の期間を制御するには、 timeout_minutes
を使用します。
databricks.automl.regress(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
primary_metric: str = "r2",
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None, # <DBR> 10.4 LTS ML and above
experiment_name: Optional[str] = None, # <DBR> 12.1 ML and above
exclude_cols: Optional[List[str]] = None, # <DBR> 10.3 ML and above
exclude_frameworks: Optional[List[str]] = None, # <DBR> 10.3 ML and above
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 11.3 LTS ML and above
imputers: Optional[Dict[str, Union[str, Dict[str, Any]]]] = None, # <DBR> 10.4 LTS ML and above
time_col: Optional[str] = None,
split_col: Optional[str] = None, # <DBR> 15.3 ML and above
sample_weight_col: Optional[str] = None, # <DBR> 15.3 ML and above
max_trials: Optional[int] = None, # <DBR> 10.5 ML and below
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
回帰のパラメーター
名前 |
タイプ |
説明 |
---|---|---|
|
|
トレーニング機能とターゲットを含むテーブル名または DataFrame を入力します。 テーブル名は、「<database_name>.<table_name>」または「<schema_name>.<table_name>」の形式( Unity Catalog以外のテーブルの場合)にすることができます。 |
|
|
ターゲット・ラベルの列名。 |
|
|
モデルのパフォーマンスを評価し、ランク付けするために使用されるメトリック。 回帰分析でサポートされているメトリクス: “r2” (デフォルト)、 “mae”、 “rmse”、 “mse” 分類にサポートされているメトリクス: “f1” (デフォルト)、 “log_loss”、 “precision”、 “accuracy”、 “ ROC ” |
|
|
随意。 トレーニング データセットを保存するために使用されるDBFSパス。 このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 Databricks では、AutoML がトレーニング データセットを MLflow アーティファクトとして保存できるように、このフィールドを空のままにしておくことを推奨しています。 カスタムパスが指定された場合、データセットはAutoML拡張機能のアクセス権限を継承しません。 |
|
|
随意。 生成されたデータベースと実験を保存するワークスペース内のディレクトリへのパス。 デフォルト: |
|
|
随意。 MLflowが作成するAutoML 拡張機能の名前。 デフォルト: 名前は自動的に生成されます。 |
|
|
随意。 AutoML 計算中に無視する列のリスト。 デフォルト: [] |
|
|
随意。 AutoML がモデルを開発する際に考慮すべきではないアルゴリズム フレームワークのリスト。 可能な値: 空のリスト、または「sklearn」、「lightgbm」、「xgboost」のうち 1 つ以上。 デフォルト: [] (すべてのフレームワークが考慮される) |
|
|
随意。 データ拡張のための Feature Store からの特徴を表す辞書のリスト。 各ディクショナリの有効なキーは次のとおりです。
デフォルト: [] |
|
|
随意。 各キーが列名であり、各値が補完戦略を記述する文字列または辞書である辞書。 文字列として指定する場合、値は「mean」、「median」、または「most_frequent」のいずれかである必要があります。 既知の値で代入するには、その値を辞書 列に補完戦略が指定されていない場合、AutoML は列のタイプとコンテンツに基づいてデフォルトの戦略を選択します。 デフォルト以外の補完方法を指定した場合、AutoML はセマンティック型の検出を実行しません。 デフォルト: {} |
|
|
Databricks Runtime 10.1 ML 以降で利用できます。 随意。 時間列の列名。 指定されている場合、AutoML は、最も古いポイントをトレーニング データとして使用し、最新のポイントをテスト セットとして使用して、データセットを時系列でトレーニング セット、検証セット、テスト セットに分割しようとします。 受け入れられる列の型は、timestamp と integer です。 Databricks Runtime 10.2 ML 以降では、文字列列もサポートされます。 列の型が文字列の場合、AutoML はセマンティック検出を使用してそれをタイムスタンプに変換しようとします。 変換が失敗すると、AutoML の実行は失敗します。 |
|
|
随意。 分割列の列名。 API ワークフローでは、Databricks Runtime 15.3 ML 以降でのみ使用できます。 指定されている場合、 AutoMLトレーニングする/検証/テスト セットをユーザー指定の値で分割しようとし、この列はトレーニング機能から自動的に除外されます。 受け入れられる列タイプは文字列です。 この列の各エントリの値は、「トレーニングする」、「検証する」、または「テスト」のいずれかである必要があります。 |
|
|
回帰 API ワークフローでは、Databricks Runtime 15.3 ML 以降で利用できます。 随意。 各行のサンプル重みを含むデータセット内の列名。 これらの重みは、モデルのトレーニング中に各行の重要度を調整します。 重みは、0 から 10,000 の範囲の非負の 10 進数値または整数値でなければなりません。 サンプルの重みが高い行は、より重要と見なされ、学習アルゴリズムに大きな影響を与えます。 この列を指定しない場合は、すべての行の重みが等しいと見なされます。 |
|
|
随意。 実行する試行の最大数。 このパラメーターは Databricks Runtime 10.5 ML 以下で使用できますが、Databricks Runtime 10.3 ML 以降では非推奨となります。 Databricks Runtime 11.0 ML 以降では、このパラメーターはサポートされていません。 デフォルト: 20 timeout_minutes=None の場合、AutoML は最大回数の試行を実行します。 |
|
|
随意。 AutoML トライアルが完了するまで待機する最大時間。 タイムアウトが長くなると、AutoML はより多くの試行を実行し、より正確なモデルを識別できるようになります。 デフォルト: 120 分 最小値: 5 分 タイムアウトが短すぎて、少なくとも 1 つの試行を完了できない場合は、エラーが報告されます。 |
予測
databricks.automl.forecast
メソッドは、予測モデルをトレーニングするための AutoML 実行を構成します。 このメソッドは、 AutoMLSummary を返します。 Auto-ARIMA を使用するには、時系列に規則的な頻度が必要です (つまり、任意の 2 つのポイント間の間隔が時系列全体で同じである必要があります)。 周波数は、API 呼び出しで指定された周波数単位と一致する必要があります。 AutoML は、欠落している時間ステップの値を前の値で埋めることで処理します。
databricks.automl.forecast(
dataset: Union[pyspark.sql.DataFrame, pandas.DataFrame, pyspark.pandas.DataFrame, str],
*,
target_col: str,
time_col: str,
primary_metric: str = "smape",
country_code: str = "US", # <DBR> 12.0 ML and above
frequency: str = "D",
horizon: int = 1,
data_dir: Optional[str] = None,
experiment_dir: Optional[str] = None,
experiment_name: Optional[str] = None, # <DBR> 12.1 ML and above
exclude_frameworks: Optional[List[str]] = None,
feature_store_lookups: Optional[List[Dict]] = None, # <DBR> 12.2 LTS ML and above
identity_col: Optional[Union[str, List[str]]] = None,
sample_weight_col: Optional[str] = None, # <DBR> 16.0 ML and above
output_database: Optional[str] = None, # <DBR> 10.5 ML and above
timeout_minutes: Optional[int] = None,
) -> AutoMLSummary
予測のパラメーター
名前 |
タイプ |
説明 |
---|---|---|
|
|
トレーニング機能とターゲットを含むテーブル名または DataFrame を入力します。 テーブル名は、 Unity Catalog以外のテーブルの場合、「..」または「.」の形式で指定できます。 |
|
|
ターゲット・ラベルの列名。 |
|
|
予測用の時間列の名前。 |
|
|
モデルのパフォーマンスを評価し、ランク付けするために使用されるメトリック。 サポートされているメトリクス: “smape” (デフォルト)、“mse”、“rmse”、“mae”、または “mdape”。 |
|
|
Databricks Runtime 12.0 ML 以降で利用できます。 Prophet 予測モデルでのみサポートされます。 随意。 予測モデルで使用する国の祝日を示す 2 文字の国コード。 休日を無視するには、これを空の文字列 (“”) に設定します。 デフォルト: US (米国の祝日)。 |
|
|
予測の時系列の頻度。 これは、イベントの発生が予想される期間です。 デフォルト設定は「D」または日次データです。 データの頻度が異なる場合は、必ず設定を変更してください。 設定可能な値: "W" (週) 「D」/「日」/「日」 "時間" / "時間" / "時間" / "時間" / "H" "m" / "minute" / "min" / "minutes" / "T" 「S」/「秒」/「秒」/「秒」 以下は、Databricks Runtime 12.0 ML 以上でのみ使用できます。 "M" / "月" / "月" 「Q」/「四半期」/「四半期」 "Y" / "年" / "年" デフォルト: “D” |
|
|
予測を返す必要がある将来の期間の数。 単位は時系列の頻度です。 デフォルト: 1 |
|
|
随意。 トレーニング データセットを保存するために使用されるDBFSパス。 このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 Databricks では、AutoML がトレーニング データセットを MLflow アーティファクトとして保存できるように、このフィールドを空のままにしておくことを推奨しています。 カスタムパスが指定された場合、データセットはAutoML拡張機能のアクセス権限を継承しません。 |
|
|
随意。 生成されたデータベースと実験を保存するワークスペース内のディレクトリへのパス。 デフォルト: |
|
|
随意。 MLflowが作成するAutoML 拡張機能の名前。 デフォルト: 名前は自動的に生成されます。 |
|
|
随意。 AutoML がモデルを開発する際に考慮すべきではないアルゴリズム フレームワークのリスト。 可能な値: 空のリスト、または "prophet"、"arima" の 1 つ以上。 デフォルト: [] (すべてのフレームワークが考慮される) |
|
|
随意。 共変量データ拡張のための Feature Store の特徴を表す辞書のリスト。各ディクショナリの有効なキーは次のとおりです。
デフォルト: [] |
|
|
随意。 複数系列の予測の時系列を識別する列。 AutoML は予測のためにこれらの列と時間列でグループ化します。 |
|
|
Databricks Runtime 16.0 ML 以降で使用できます。 マルチタイムシリーズ ワークフローのみ。 随意。 サンプルの重みを含むデータセット内の列を指定します。 これらの重みは、モデルのトレーニングと評価中の各時系列の相対的な重要度を示します。 重みが大きい時系列は、モデルへの影響が大きくなります。 指定しない場合、すべての時系列は同じ重みで扱われます。 同じ時系列に属するすべての行は、同じ重みを持つ必要があります。 重みは、負でない値 (小数または整数) で、0 から 10,000 の範囲である必要があります。 |
|
|
随意。 指定されている場合、AutoML は最適なモデルの予測を指定されたデータベースの新しいテーブルに保存します。 デフォルト: 予測は保存されません。 |
|
|
随意。 AutoML トライアルが完了するまで待機する最大時間。 タイムアウトが長くなると、AutoML はより多くの試行を実行し、より正確なモデルを識別できるようになります。 デフォルト: 120 分 最小値: 5 分 タイムアウトが短すぎて、少なくとも 1 つの試行を完了できない場合は、エラーが報告されます。 |
ノートブックのインポート
databricks.automl.import_notebook
メソッドは、MLflow アーティファクトとして保存されたノートブックをインポートします。 このメソッドは ImportNotebookResult を返します。
databricks.automl.import_notebook(
artifact_uri: str,
path: str,
overwrite: bool = False
) -> ImportNotebookResult:
パラメータ |
タイプ |
説明 |
---|---|---|
|
|
トライアル ノートブックを含む MLflow アーティファクトの URI。 |
|
|
ノートブックをインポートする Databricks ワークスペース内のパス。 これは絶対パスである必要があります。 ディレクトリが存在しない場合は作成されます。 |
|
|
ノートブックが既に存在する場合に上書きするかどうか。 デフォルトでは |
AutoMLSummary
各トライアルのメトリック、引数、およびその他の詳細を説明するAutoML実行の概要オブジェクト。 また、このオブジェクトを使用して、特定の試行でトレーニングされたモデルを読み込むこともできます。
属性 |
タイプ |
説明 |
---|---|---|
|
|
トライアルを記録するために使用されるMLflow 。 |
|
|
実行されたすべてのトライアルに関する情報を含むTrialInfoオブジェクトのリスト。 |
|
|
主要メトリクスの最高の加重スコアをもたらした試験に関する情報を含むTrialInfoオブジェクト。 |
|
|
すべての試験における主要メトリクスの加重スコアの分布。 |
|
|
予測でのみ使用され、output_databaseが指定されている場合にのみ使用されます。 モデルの予測を含むoutput_database内のテーブルの名前。 |
TrialInfo
個々のトライアルのサマリーオブジェクト。
属性 |
タイプ |
説明 |
---|---|---|
|
|
ワークスペース内のこのトライアル用に生成されたノートブックへのパス。 分類と回帰の場合、この値は最適な試行に対してのみ設定され、他のすべての試行の値は 予測の場合、この値はすべての試行に存在します。 |
|
|
このトライアル用に生成されたノートブックの URL。 分類と回帰の場合、この値は最適な試行に対してのみ設定され、他のすべての試行の値は 予測の場合、この値はすべての試行に存在します。 |
|
|
生成されたノートブックの MLflow アーティファクト URI。 |
|
|
このトライアル実行に関連付けられた MLflow 実行 ID。 |
|
|
メトリクスは、このトライアルのためにMLflowにログインしました。 |
|
|
この試験に使用されたMLflowにログインしたユーザー。 |
|
|
このトライアルでトレーニングされたモデルの MLflow アーティファクト URL。 |
|
|
このモデルのトレーニングに使用されるモデルとハイパーパラメータの簡単な説明。 |
|
|
トレーニング期間(分単位)。 |
|
|
モデルをトレーニングする前に実行されるプリプロセッサの説明。 |
|
|
検証パラメータに対して評価された主要なメトリックのスコア。 |
TrialInfo
には、トライアル用に生成されたモデルを読み込むメソッドがあります。
メソッド |
説明 |
---|---|
|
このトライアルで生成され、MLflow アーティファクトとしてログに記録されたモデルを読み込みます。 |