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 |
ランダム フォレスト | ランダム フォレスト | Auto-ARIMA (Databricks Runtime 10.3 ML 以降で使用可能。) |
ロジスティック回帰 | 確率的勾配降下法による線形回帰 | |
XGBoost | XGBoost | |
LightGBM | LightGBM |
試験ノートブックの生成
従来のコンピューティング AutoML では、試用版の背後にあるソース コードのノートブックが生成されるため、必要に応じてコードを確認、再現、変更できます。
実験を予測する場合、AutoML で生成されたノートブックは、実験のすべての試験のためにワークスペースに自動的にインポートされます。
分類と回帰の実験の場合、データ探索のために AutoML で生成されたノートブックと一番良かった試験はワークスペースに自動的にインポートされます。 他の実験試験用に生成されたノートブックは、ワークスペースに自動インポートされるのではなく、DBFS 上の MLflow 成果物として保存されます。 一番良かった試験以外のすべての試験については、TrialInfo
Python API の notebook_path
と notebook_url
は設定されません。 このようなノートブックを使う必要がある場合、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
を設定します。- ノートブックを再実行します。