Databricks AutoMLは、データの前処理・モデル選択・ハイパーパラメータチューニング・評価を自動化するマネージド機械学習機能です。 分類・回帰・時系列予測の3タスクに対応し、最適なモデルの探索から再現可能なノートブックの生成までを ワンクリック(UI)またはワンライン(API)で実行できます。 ML Associate試験では全体の10〜15%がAutoML関連で、APIの使い方・生成物の理解・適用判断が問われます。
AutoMLは以下の4ステップを自動的に実行します。各ステップの処理内容と生成物を理解することが試験対策の基本です。
┌─────────────────────────────────────────────────────────┐
│ AutoML 処理フロー │
│ │
│ Step 1: データ分析・前処理 │
│ ├─ 欠損値の処理(中央値/最頻値/補完) │
│ ├─ カテゴリカル変数のエンコーディング │
│ ├─ 数値特徴量の正規化 │
│ └─ 特徴量の自動選択 │
│ │ │
│ Step 2: モデル選択 │
│ ├─ 複数アルゴリズムの候補を自動選定 │
│ └─ LightGBM / XGBoost / sklearn / Prophet 等 │
│ │ │
│ Step 3: ハイパーパラメータチューニング │
│ ├─ Hyperopt による自動探索 │
│ └─ 各組み合わせを MLflow Run として記録 │
│ │ │
│ Step 4: 評価・ランキング │
│ ├─ Cross-validation による評価 │
│ └─ ベストモデルの自動選定 │
└─────────────────────────────────────────────────────────┘| タスク | APIメソッド | 対応アルゴリズム | 主要評価指標 |
|---|---|---|---|
| 分類(Classification) | databricks.automl.classify() | LightGBM, XGBoost, sklearn (LogisticRegression, RandomForest, DecisionTree) | F1 score, accuracy, log_loss, precision, recall |
| 回帰(Regression) | databricks.automl.regress() | LightGBM, XGBoost, sklearn (LinearRegression, RandomForest, DecisionTree) | RMSE, MAE, R², MSE |
| 時系列予測(Forecasting) | databricks.automl.forecast() | Prophet, ARIMA | SMAPE, MSE, RMSE, MAE |
分類と回帰はLightGBM・XGBoost・sklearnの各アルゴリズムを自動的に試行します。時系列予測はProphet・ARIMAに限定され、深層学習ベースの手法(LSTM等)はAutoMLでは対応していません。
AutoMLはDatabricksワークスペースのUIから、コードを書かずに実行できます。
実行完了後、MLflow Experiment UIで各トライアルのメトリクスを比較し、ベストモデルのノートブックを開いて中身を確認・編集できます。
import databricks.automl
# 分類タスクの実行
summary = databricks.automl.classify(
dataset="catalog.schema.customer_data", # Unity Catalog テーブル
target_col="churn", # 予測対象列
primary_metric="f1", # 最適化する評価指標
timeout_minutes=30, # 探索時間の上限
max_trials=50 # 最大トライアル数
)
# 結果の確認
print(f"Best trial: {summary.best_trial}")
print(f"Best metric: {summary.best_trial.metrics}")
print(f"MLflow run ID: {summary.best_trial.mlflow_run_id}")
# ベストモデルの取得
best_model = summary.best_trial.load_model()
# 回帰タスクの実行例
reg_summary = databricks.automl.regress(
dataset=sales_df, # Spark DataFrame も入力可能
target_col="revenue",
primary_metric="rmse",
timeout_minutes=60
)
# 時系列予測の実行例
forecast_summary = databricks.automl.forecast(
dataset="catalog.schema.daily_sales",
target_col="sales_amount",
time_col="date", # 時間列(必須)
frequency="d", # "d"=日次, "W"=週次, "M"=月次
horizon=30, # 予測期間(日数)
identity_col=["store_id"] # 多系列予測のグループキー
)dataset にはUnity Catalogのテーブル名(3レベル名前空間)またはSpark DataFrameを指定できます。primary_metric はモデルの最適化に使う指標で、分類タスクのデフォルトはF1です。 試験では、各APIメソッドのパラメータ名と役割が問われます。
AutoMLの最大の特徴は、トライアルごとに再現可能なPythonノートブックを自動生成する点です。ブラックボックスではなく、コードが完全に公開されるため、データサイエンティストが内容を理解・編集できます。
生成されたノートブックをベースラインとして、ドメイン知識に基づいた特徴量の追加・前処理の変更・アルゴリズムの差し替えなどのカスタマイズを行うワークフローが推奨されています。試験では「AutoMLの生成ノートブックの活用方法として最も適切なもの」を問う問題が出ます。
AutoMLの全トライアルは、MLflow Experimentに自動的にRunとして記録されます。手動でMLflowのログコードを書く必要はありません。
| 記録される情報 | 内容 |
|---|---|
| Parameters | 各トライアルのハイパーパラメータ(learning_rate, n_estimators等) |
| Metrics | 評価指標(F1, accuracy, RMSE等)のCross-validation結果 |
| Artifacts | トレーニング済みモデル、Feature Importanceプロット、生成ノートブック |
| Tags | アルゴリズム名、AutoMLバージョン、データセット情報 |
import mlflow
# AutoML 実行後、MLflow Experiment からベストモデルを取得
experiment_id = summary.experiment.experiment_id
best_run = mlflow.search_runs(
experiment_ids=[experiment_id],
order_by=["metrics.val_f1_score DESC"],
max_results=1
).iloc[0]
print(f"Best F1: {best_run['metrics.val_f1_score']:.4f}")
print(f"Algorithm: {best_run['tags.estimator_name']}")
# ベストモデルを Model Registry に登録
mlflow.register_model(
model_uri=f"runs:/{best_run.run_id}/model",
name="catalog.schema.churn_classifier"
)| 比較項目 | AutoML | 手動ML |
|---|---|---|
| 開発速度 | 数分〜数十分でベースラインモデルを取得 | 数日〜数週間の開発が必要 |
| ML知識の要否 | 基本的な知識で利用可能 | アルゴリズム・チューニングの深い知識が必要 |
| カスタマイズ性 | 対応アルゴリズム・前処理に制約あり | 完全に自由 |
| 対応アルゴリズム | LightGBM, XGBoost, sklearn, Prophet | 深層学習含む任意のフレームワーク |
| 大規模データ | 単一ノード上で動作(サンプリング適用) | 分散学習(Spark ML, Horovod)対応 |
| 再現性 | 生成ノートブックで完全再現可能 | 開発者のスキルに依存 |
| 推奨用途 | ベースライン構築、PoC、データ探索 | 本番モデルの精度追求、カスタムパイプライン |
AutoML / ML Associate
問題 1
あるデータサイエンティストがAutoMLで顧客チャーン予測モデルを構築しました。AutoMLの実行結果として得られるものの組み合わせとして正しいものはどれですか?
正解: B
Databricks AutoMLは全トライアルをMLflow Experimentに自動的にRunとして記録します。各Runにはハイパーパラメータ・評価メトリクス(Cross-validation結果)・トレーニング済みモデル・Feature Importanceが含まれます。さらに、各トライアルに対応する再現可能なPythonノートブックが自動生成され、データロード・前処理・モデル定義・トレーニング・評価のコードが含まれています。ベストモデルのみの保存(A)やMLflowの手動設定(C)は誤りで、メトリクス比較もMLflow UI上で直接実行できます(D)。
AutoMLで生成されたノートブックはどのように活用できますか?
AutoMLが生成するノートブックには、データ前処理・特徴量エンジニアリング・モデルトレーニング・ハイパーパラメータ設定のコードが含まれています。このノートブックはそのまま実行可能で、かつ自由に編集できるため、AutoMLの結果をベースラインとして利用し、ドメイン知識に基づいたカスタマイズ(特徴量の追加・アルゴリズムの変更・前処理の調整)を加えるワークフローが推奨されています。
AutoMLはどのような規模のデータセットに対応していますか?
AutoMLは単一ノード上で動作するため、メモリに収まるサイズのデータセットに最適化されています。目安として数百万行程度まで効率的に処理できます。大規模データセット(数十億行以上)の場合は、事前にサンプリングや集約処理を行うか、分散学習フレームワーク(Spark ML、Horovod等)を検討する必要があります。入力テーブルが100GBを超える場合、AutoMLは自動的にサンプリングを適用します。
AutoMLの結果はMLflowにどのように記録されますか?
AutoMLの各トライアル(モデル候補)は、MLflow Experimentに自動的にRunとして記録されます。各Runにはハイパーパラメータ・評価メトリクス(accuracy, F1, RMSE等)・トレーニング済みモデル・生成ノートブックへのリンクが含まれます。ベストモデルの選定はMLflow UIのメトリクス比較機能で確認でき、そのままModel Registryに登録して本番デプロイに進むことも可能です。
NicheeLab編集部
データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。
Databricks資格一覧|全7試験・難易度・勉強法
Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...
Databricks試験の難易度ランキング|全7資格を徹底比較
Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...
Databricks資格の勉強方法|最短合格ルートと学習時間の目安
Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...
Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略
Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...
Databricks Data Engineer Professional完全解説|上級試験の攻略法
Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...