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 以降ではサポートされていません。timeout_minutes
を使用して、AutoML の実行時間を制御します。
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
パラメーターの分類
パラメーター名 | タイプ | 説明 |
---|---|---|
|
| トレーニング機能とターゲットを含む入力テーブル名または データフレーム。 テーブル名の形式は "<database_name>.<table_name>" または "<schema_name>.<table_name>" です。 非 Unity Catalog テーブル用。 |
|
| ターゲット ラベルの列名。 |
|
| メトリクスは、モデルのパフォーマンスを評価およびランク付けするために使用されます。 回帰でサポートされているメトリクス: "r2" (デフォルト), "mae", "rmse", "mse" 分類でサポートされているメトリクス: "f1" (デフォルト), "log_loss", "precision", "accuracy", "ROC" |
|
| 随意。 トレーニングデータセットの保存に使用されるDBFSパス。このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 DatabricksAutoMLでは、トレーニング データセットを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 の実行は失敗します。 |
|
| 随意。 分割された列の列名。 Databricks Runtime 15.3 ML 以降で API ワークフローでのみ使用できます。 指定した場合、AutoML はユーザー指定の値でトレーニング/検証/テスト セットの分割を試み、この列はトレーニング機能から自動的に除外されます。 受け入れられる列のタイプは文字列です。 この列の各エントリの値は、"train"、"validate"、または "test" のいずれかである必要があります。 |
|
| Databricks Runtime 15.4 ML 以降で、分類 API ワークフローに使用できます。 随意。 各行のサンプルの重みを含むデータセット内の列名。 分類は、クラスごとのサンプルの重みをサポートします。 これらの重みは、モデルのトレーニング中に各クラスの重要度を調整します。 クラス内の各サンプルは同じサンプルの重みを持つ必要があり、重みは 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 以降ではサポートされていません。timeout_minutes
を使用して、AutoML の実行時間を制御します。
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
Regress パラメーター
パラメーター名 | タイプ | 説明 |
---|---|---|
|
| トレーニング機能とターゲットを含む入力テーブル名または データフレーム。 テーブル名の形式は "<database_name>.<table_name>" または "<schema_name>.<table_name>" です。 非 Unity Catalog テーブル用。 |
|
| ターゲット ラベルの列名。 |
|
| メトリクスは、モデルのパフォーマンスを評価およびランク付けするために使用されます。 回帰でサポートされているメトリクス: "r2" (デフォルト), "mae", "rmse", "mse" 分類でサポートされているメトリクス: "f1" (デフォルト), "log_loss", "precision", "accuracy", "ROC" |
|
| 随意。 トレーニングデータセットの保存に使用されるDBFSパス。このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 DatabricksAutoMLでは、トレーニング データセットを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 の実行は失敗します。 |
|
| 随意。 分割された列の列名。 Databricks Runtime 15.3 ML 以降で API ワークフローでのみ使用できます。 指定した場合、AutoML はユーザー指定の値でトレーニング/検証/テスト セットの分割を試み、この列はトレーニング機能から自動的に除外されます。 受け入れられる列のタイプは文字列です。 この列の各エントリの値は、"train"、"validate"、または "test" のいずれかである必要があります。 |
|
| Databricks Runtime 15.3 ML 以降で、回帰 API ワークフローで使用できます。 随意。 各行のサンプルの重みを含むデータセット内の列名。 これらの重みは、モデルのトレーニング中に各行の重要度を調整します。 重みは、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
Forecasting パラメーター
パラメーター名 | タイプ | 説明 |
---|---|---|
|
| トレーニング機能とターゲットを含む入力テーブル名または データフレーム。 テーブル名は、Unity Catalog 以外のテーブルの場合は ".." または "." の形式にすることができます |
|
| ターゲット ラベルの列名。 |
|
| 予測の時間列の名前。 |
|
| メトリクスは、モデルのパフォーマンスを評価およびランク付けするために使用されます。 サポートされているメトリクス: "smape" (デフォルト), "mse", "rmse", "mae", or "mdape. |
|
| Databricks Runtime 12.0 ML 以降で使用できます。 Prophet 予測モデルでのみサポートされています。 随意。 予測モデルで使用する国の休日を示す 2 文字の国コード。 休日を無視するには、このパラメーターを空の文字列 ("") に設定します。 デフォルト: 米国 (米国の休日)。 |
|
| 予測の時系列の頻度。 これは、イベントが発生すると予想される期間です。 デフォルト設定は「D」または日次データです。 データの頻度が異なる場合は、必ず設定を変更してください。 指定できる値: "W" (週) 「D」 / 「日」 / 「日」 "時間" / "時間" / "時間" / "h" 「m」 / 「分」 / 「分」 / 「t」 「S」 / 「秒」 / 「秒」 / 「秒」 次のものは、Databricks Runtime 12.0 ML 以降でのみ使用できます。 「M」 / 「月」 / 「月」 「Q」/「四半期」/「四半期」 "Y" / "年" / "年" デフォルト: "D" |
|
| 予測を返す必要がある将来の期間の数。 単位は時系列周波数です。 デフォルト: 1 |
|
| 随意。 トレーニングデータセットの保存に使用されるDBFSパス。このパスは、ドライバー ノードとワーカー ノードの両方に表示されます。 DatabricksAutoMLでは、トレーニング データセットをMLflow アーティファクトとして保存できるように、このフィールドを空のままに ことをお勧めします。 カスタムパスが指定されている場合、データセットは AutoML エクスペリメントのアクセス権を継承しません。 |
|
| 随意。 生成されたノートブックとエクスペリメントを保存するためのワークスペース内のディレクトリへのパス。 デフォルト: |
|
| 随意。 が作成する MLflowエクスペリメントの名前。AutoML デフォルト: 名前は自動的に生成されます。 |
|
| 随意。 AutoML がモデルを開発する際に考慮してはならないアルゴリズム フレームワークの一覧。 可能な値: 空のリスト、または "prophet"、"arima" の 1 つ以上。 デフォルト: [] (すべてのフレームワークが考慮されます) |
|
| 随意。 共変量データ拡張のための Feature Store の特徴を表す辞書のリスト。各ディクショナリの有効なキーは次のとおりです。
デフォルト: [] |
|
| 随意。 複数系列予測の時系列を識別する列。 AutoML は、予測のためにこれらの列と時間列でグループ化します。 |
|
| Databricks Runtime 16.0 ML 以降で使用できます。 マルチタイムシリーズ ワークフローのみ。 随意。 サンプルの重みを含むデータセット内の列を指定します。 これらの重みは、モデルのトレーニングと評価中の各時系列の相対的な重要度を示します。 重みが大きい時系列は、モデルへの影響が大きくなります。 指定しない場合、すべての時系列は同じ重みで扱われます。 同じ時系列に属するすべての行は、同じ重みを持つ必要があります。 重みは負でない値、10進数または整数で、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 ワークスペース内のパス。 これは絶対パスである必要があります。 ディレクトリが存在しない場合は作成されます。 |
|
| ノートブックがすでに存在する場合に上書きするかどうか。 デフォルトでは |
ノートブックのインポートの例
summary = databricks.automl.classify(...)
result = databricks.automl.import_notebook(summary.trials[5].artifact_uri, "/Users/you@yourcompany.com/path/to/directory")
print(result.path)
print(result.url)
AutoMLSummary
各試行のメトリクス、パラメーター、およびその他の詳細を記述する AutoML 実行の概要オブジェクト。 また、このオブジェクトを使用して、特定の試行によってトレーニングされたモデルを読み込みます。
属性 | タイプ | 説明 |
---|---|---|
|
| MLflowエクスペリメントは、トライアルを記録するために使用されました。 |
|
| 実行されたすべての試行に関する情報を含む TrialInfo オブジェクトの一覧。 |
|
| 主要メトリクスの最適な加重スコアにつながったトライアルに関する情報を含む TrialInfo オブジェクト。 |
|
| すべての試行にわたる主要メトリクスの加重スコアの分布。 |
|
| 予測でのみ使用され、output_databaseが指定されている場合にのみ使用されます。 モデルの予測を含む output_database 内のテーブルの名前。 |
TrialInfo
個々のトライアルのサマリーオブジェクト。
属性 | タイプ | 説明 |
---|---|---|
|
| ワークスペースでこの試用版用に生成されたノートブックへのパス。 分類と回帰の場合、この値は最適な試行に対してのみ設定され、他のすべての試行では値が 予測では、この値はすべての試行に存在します。 |
|
| この試用版で生成されたノートブックの URL。 分類と回帰の場合、この値は最適な試行に対してのみ設定され、他のすべての試行では値が 予測では、この値はすべての試行に存在します。 |
|
| 生成されたノートブックの MLflow アーティファクト URI。 |
|
| この試用版の実行に関連付けられている MLflow の実行 ID。 |
|
| このトライアルでは、 MLflow でログインしたメトリクスです。 |
|
| この試用版で使用された MLflow に記録されたパラメーター。 |
|
| この試用版でトレーニングされたモデルの MLflow アーティファクト URL。 |
|
| モデルの簡単な説明と、このモデルのトレーニングに使用されるハイパーパラメーター。 |
|
| トレーニング時間 (分単位)。 |
|
| モデルのトレーニング前に実行されるプリプロセッサの説明。 |
|
| 検証データセットに対して評価された一次メトリクスのスコア。 |
TrialInfo
には、試行用に生成されたモデルを読み込む方法があります。
メソッド | 説明 |
---|---|
| このトライアルで生成されたモデルを読み込み、 MLflow アーティファクトとして記録します。 |
ImportNotebookResult
属性 | タイプ | 説明 |
---|---|---|
|
| ノートブックをインポートする必要がある Databricks ワークスペース内のパス。 これは絶対パスである必要があります。 ディレクトリが存在しない場合は作成されます。 |
|
| 試用版ノートブックを含む MLflow アーティファクトの URI。 |