Databricks

Databricks AutoML完全ガイド|自動機械学習の使い方と試験対策

2026-03-21
更新: 2026-03-27
NicheeLab編集部

Databricks AutoMLは、データの前処理・モデル選択・ハイパーパラメータチューニング・評価を自動化するマネージド機械学習機能です。 分類・回帰・時系列予測の3タスクに対応し、最適なモデルの探索から再現可能なノートブックの生成までを ワンクリック(UI)またはワンライン(API)で実行できます。 ML Associate試験では全体の10〜15%がAutoML関連で、APIの使い方・生成物の理解・適用判断が問われます。

AutoMLの処理フロー

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, ARIMASMAPE, MSE, RMSE, MAE

分類と回帰はLightGBM・XGBoost・sklearnの各アルゴリズムを自動的に試行します。時系列予測はProphet・ARIMAに限定され、深層学習ベースの手法(LSTM等)はAutoMLでは対応していません。

UI実行手順

AutoMLはDatabricksワークスペースのUIから、コードを書かずに実行できます。

  1. Experiments ページで「Create AutoML Experiment」を選択
  2. Dataset: Unity Catalog上のテーブルまたはDelta Tableを選択
  3. Prediction target: 予測対象列(ラベル列)を指定
  4. Problem type: Classification / Regression / Forecasting を選択(自動検出も可能)
  5. Advanced Configuration: 評価指標、除外列、タイムアウト、トライアル数を設定
  6. Start をクリックして実行

実行完了後、MLflow Experiment UIで各トライアルのメトリクスを比較し、ベストモデルのノートブックを開いて中身を確認・編集できます。

API実行(Pythonコード)

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ノートブックを自動生成する点です。ブラックボックスではなく、コードが完全に公開されるため、データサイエンティストが内容を理解・編集できます。

生成ノートブックに含まれる内容

  • データロード: 入力テーブルの読み込みとtrain/test分割
  • 前処理パイプライン: 欠損値補完・エンコーディング・正規化のsklearn Pipeline
  • モデル定義: 選択されたアルゴリズムとハイパーパラメータ
  • トレーニングと評価: Cross-validationとメトリクス計算
  • MLflow記録: パラメータ・メトリクス・モデルのログ
  • Feature Importance: SHAP値による特徴量重要度の可視化

生成されたノートブックをベースラインとして、ドメイン知識に基づいた特徴量の追加・前処理の変更・アルゴリズムの差し替えなどのカスタマイズを行うワークフローが推奨されています。試験では「AutoMLの生成ノートブックの活用方法として最も適切なもの」を問う問題が出ます。

MLflow Experiment連携

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 vs 手動ML 比較

比較項目AutoML手動ML
開発速度数分〜数十分でベースラインモデルを取得数日〜数週間の開発が必要
ML知識の要否基本的な知識で利用可能アルゴリズム・チューニングの深い知識が必要
カスタマイズ性対応アルゴリズム・前処理に制約あり完全に自由
対応アルゴリズムLightGBM, XGBoost, sklearn, Prophet深層学習含む任意のフレームワーク
大規模データ単一ノード上で動作(サンプリング適用)分散学習(Spark ML, Horovod)対応
再現性生成ノートブックで完全再現可能開発者のスキルに依存
推奨用途ベースライン構築、PoC、データ探索本番モデルの精度追求、カスタムパイプライン

制約と注意点

  • 単一ノード実行: AutoMLは分散トレーニングに非対応。大規模データには事前のサンプリングが必要
  • 深層学習非対応: CNN・RNN・Transformerベースのモデルは探索対象外
  • 非構造化データ非対応: 画像・テキスト・音声データの直接入力は不可(事前に特徴量化が必要)
  • カスタム評価指標: 組み込みメトリクスのみ対応し、ユーザー定義メトリクスは指定不可
  • Forecastingの制約: ProphetとARIMAのみで、深層学習系列モデル(N-BEATS等)は非対応

ML Associate試験の出題ポイント

  • APIメソッドの使い分け: classify() / regress() / forecast() の各パラメータと役割
  • 生成ノートブックの活用: ベースラインとしてカスタマイズする推奨ワークフロー
  • MLflow自動記録: 全トライアルがRunとして記録される仕組み
  • 適用判断: AutoMLが適切なシナリオと手動MLが必要なシナリオの使い分け
  • 制約の理解: 単一ノード・対応アルゴリズム・データサイズの制限
  • forecast()固有パラメータ: time_col・frequency・horizon・identity_colの役割

サンプル問題

AutoML / ML Associate

問題 1

あるデータサイエンティストがAutoMLで顧客チャーン予測モデルを構築しました。AutoMLの実行結果として得られるものの組み合わせとして正しいものはどれですか?

  1. ベストモデルのみ。他のトライアルの情報は記録されない
  2. MLflow Experimentに全トライアルのRun(パラメータ・メトリクス・モデル)と、各トライアルの再現可能なノートブック
  3. ベストモデルとハイパーパラメータの一覧表。ノートブックやMLflow記録は手動で設定が必要
  4. 全トライアルのモデルファイルのみ。メトリクスの比較はDatabricks SQL上で実行する必要がある

正解: 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に登録して本番デプロイに進むことも可能です。

この記事で学んだ内容を問題で確認しましょう

16,000問以上の問題で実力チェック

無料で問題を解いてみる
この記事の著者

NicheeLab編集部

データエンジニアリング・クラウド資格の専門家。Databricks・Snowflake等の認定資格を保有し、実務経験に基づいた問題作成・解説を行っています。NicheeLab運営。


関連記事
Databricks

Databricks資格一覧|全7試験・難易度・勉強法

Databricks認定資格全7試験の一覧・難易度・出題範囲・合格ラインを徹底解説。2026年最新版の公式試験ガイドに準...

Databricks

Databricks試験の難易度ランキング|全7資格を徹底比較

Databricks認定全7試験の難易度をランキング形式で徹底比較。合格率・学習時間・出題傾向から難易度を分析。...

Databricks

Databricks資格の勉強方法|最短合格ルートと学習時間の目安

Databricks認定資格に最短で合格するための勉強方法を完全ガイド。公式リソース・問題集・学習スケジュールを徹底解説...

Databricks

Databricks Data Engineer Associate完全解説|出題範囲・問題例・合格戦略

Databricks Certified Data Engineer Associate試験を徹底解説。5つの出題ドメイ...

Databricks

Databricks Data Engineer Professional完全解説|上級試験の攻略法

Databricks Certified Data Engineer Professional試験を徹底解説。10の出題...

Databricksの記事一覧 (109件)
© 2026 NicheeLab All rights reserved.