AutoML とは?
AutoML を使用すると、最適なアルゴリズムとハイパーパラメーター構成を自動的に見つけることで、データセットに機械学習を適用するプロセスが簡略化されます。
AutoML のしくみ
データセットを指定し、機械学習の問題の種類を指定すると、AutoML によって次の処理が実行されます。
- データをクリーンアップして準備します。
- 複数のアルゴリズム間で分散モデルのトレーニングとハイパーパラメーターの調整を実行します。
- scikit-learn、xgboost、LightGBM、Prophet、ARIMA のオープン ソース評価アルゴリズムを使用して、最適なモデルを検索します。
- 結果を表示します。 AutoML では、各試用版のソース コード ノートブックも生成されるため、必要に応じてコードを確認、再現、変更できます。
regression; 用の低コード UI を使用して AutoML の実験を開始するclassification; または forecasting または Python API。
要件
Azure Databricks では、AutoML の一般提供のために Databricks Runtime 10.4 LTS ML 以降をお勧めします。
AutoML は、
databricks-automl-runtime
パッケージに依存します。このパッケージには、AutoML の外部で役立つコンポーネントが含まれており、AutoML トレーニングによって生成されるノートブックを簡略化するのにも役立ちます。databricks-automl-runtime
は、PyPI で使用できます。Databricks Runtime for Machine Learning にプレインストールされているライブラリ以外の追加ライブラリはクラスターにインストールしないようにする必要があります。
- 既存のライブラリ バージョンに変更 (削除、アップグレード、またはダウングレード) を加えると、互換性がないことが原因で実行が失敗します。
ワークスペースのファイルにアクセスするには、AutoML の実験用にネットワーク ポートの 1017 と 1021 を開いておく必要があります。 これらのポートを開くか、開いていることを確認するには、クラウド VPN ファイアウォールの構成とセキュリティ グループの規則を確認するか、ローカル クラウド管理者に問い合わせてください。 ワークスペースの構成とデプロイの詳細については、「ワークスペースの作成」を参照してください。
サポートされているコンピュート アクセス モードでコンピューティング リソースを使用します。 すべてのコンピュート アクセス モードが Unity Catalog にアクセスできるわけではありません。
コンピュート アクセス モード AutoML のサポート Unity Catalog のサポート 専用アクセスモード サポートされていない サポートされています 単一ユーザー サポート対象 (クラスターに対して指定された 1 人のユーザーである必要があります) サポートされています 共有アクセス モード サポートされていない サポートされていない 共有された分離なし サポートされています サポートされていない
AutoML アルゴリズム
AutoML は、次の表のアルゴリズムに基づいてモデルをトレーニングおよび評価します。
Note
分類モデルと回帰モデルの場合、デシジョン ツリー、ランダム フォレスト、ロジスティック回帰、確率的勾配降下アルゴリズムを使用した線形回帰は、scikit-learn に基づいています。
分類モデル | 回帰モデル | 予測モデル | 予測モデル (サーバーレス) |
---|---|---|---|
デシジョン ツリー | デシジョン ツリー | Prophet | Prophet |
ランダム フォレスト | ランダム フォレスト | Auto-ARIMA (Databricks Runtime 10.3 ML 以降で使用可能。) | Auto-ARIMA |
ロジスティック回帰 | 確率的勾配降下法による線形回帰 | DeepAR | |
XGBoost | XGBoost | ||
LightGBM | LightGBM |
試験ノートブックの生成
従来のコンピューティング AutoML では、試用版の背後にあるソース コードのノートブックが生成されるため、必要に応じてコードを確認、再現、変更できます。
実験を予測する場合、AutoML で生成されたノートブックは、実験のすべての試験のためにワークスペースに自動的にインポートされます。
分類と回帰の実験の場合、データ探索のために AutoML で生成されたノートブックと一番良かった試験はワークスペースに自動的にインポートされます。 他の実験試験用に生成されたノートブックは、ワークスペースに自動インポートされるのではなく、DBFS 上の MLflow 成果物として保存されます。 一番良かった試験以外のすべての試験については、notebook_path
Python API の notebook_url
と TrialInfo
は設定されません。 このようなノートブックを使う必要がある場合、AutoML 実験 UI または databricks.automl.import_notebook
Python API を使い、ワークスペースに手動でインポートできます。
AutoML によって生成されたデータ探索ノートブックか一番良かった試験のノートブックのみを使う場合、AutoML 実験 UI の [ソース] 列に、一番良かった実験で生成されたノートブックのリンクが含まれます。
AutoML 実験 UI で生成されたその他のノートブックを使う場合、ワークスペースに自動的にはインポートされません。 各 MLflow 実行をクリックするとノートブックが見つかります。 IPython ノートブックは、実行ページの Artifacts セクションに保存されます。 ワークスペース管理者が成果物のダウンロードを有効にしている場合、このノートブックをダウンロードしてワークスペースにインポートできます。
モデルの説明を容易にするための Shapley 値 (SHAP)
Note
MLR 11.1 以下では、データセットに datetime
列が含まれている場合、SHAP のプロットは生成されません。
AutoML 回帰と分類の実行によって生成されるノートブックには、Shapley 値を計算するコードが含まれます。 Shapley 値はゲーム理論に基づいており、モデルの予測に対する各特徴の重要性を推定します。
AutoML ノートブックでは、SHAP パッケージを使用して Shapley 値が計算されます。 これらの計算はメモリを大量に消費するため、既定では計算は実行されません。
Shapley 値を計算して表示するには、次のようにします。
- AutoML で生成された試用版ノートブックの [機能の重要度] セクションに移動します。
shap_enabled = True
を設定します。- ノートブックを再実行します。