AutoML を使用した回帰
AutoML を使用して、最適な回帰アルゴリズムとハイパーパラメーター構成を自動的に検索し、連続する数値を予測します。
UI を使用して回帰実験を設定する
AutoML UI を使用して、次の手順で回帰の問題を設定できます。
サイドバーで Experiments を選択します。
Regression カードで、[トレーニングの開始を選択。
[AutoML 実験の構成] ページが表示されます。 このページでは、AutoML プロセスを構成し、データセット、問題の種類、予測するターゲットまたはラベル列、実験の実行の評価とスコア付けに使用するメトリック、停止条件を指定します。
[コンピューティング] フィールドで、Databricks Runtime ML が実行されているクラスターを選択します。
[データセット] の下で、[参照] を選択します。
使用するテーブルに移動し、[選択] をクリックします。 テーブル スキーマが表示されます。
- Databricks Runtime 10.3 ML 以上では、AutoML でトレーニングに使用する列を指定できます。 予測ターゲットまたはデータを分割する時間列として選択した列は、削除できません。
- Databricks Runtime 10.4 LTS ML 以上では、[Impute with] (次で補完) ドロップダウンから選択することで、null 値を補完する方法を指定できます。 AutoML では既定で、列の型と内容に基づいて補完方法が選択されます。
注意
既定以外の補完方法を指定した場合、AutoML ではセマンティック型の検出は実行されません。
[予測ターゲット] フィールドをクリックします。 スキーマに表示される列の一覧がドロップダウンに表示されます。 モデルによる予測に使用したい列を選択します。
[実験名フィールド] には、既定の名前が表示されます。 変更するには、フィールドに新しい名前を入力します。
さらに、以下を実行できます。
- その他の構成オプションを指定します。
- 元の入力データセットを拡張するために、Feature Store の既存の特徴テーブルを使用します。
詳細な構成
これらのパラメーターにアクセスするには、詳細な構成 (省略可能) セクションを開きます。
- 評価メトリックは、実行のスコア付けに使用されるプライマリ メトリックです。
- Databricks Runtime 10.4 LTS ML 以降では、トレーニング フレームワークを考慮事項から除外できます。 既定では、AutoML では [AutoML アルゴリズム] の下に一覧表示されているフレームワークを使用してモデルがトレーニングされます。
- 停止条件は編集できます。 既定の停止条件は次のとおりです。
- 予測実験の場合は、120 分後に停止します。
- Databricks Runtime 10.4 LTS ML 以下での分類と回帰の実験の場合は、60 分経過後または 200 個の試用版完了後のうち、どちらか早い方で停止します。 Databricks Runtime 11.0 ML 以上の場合は、試行回数は停止条件として使用されません。
- Databricks Runtime 10.4 LTS ML 以降では、分類と回帰の実験のために、AutoML には早期停止が組み込まれており、検証メトリックにそれ以上の改善が見込まれなくなった場合に、モデルのトレーニングとチューニングが停止されます。
- Databricks Runtime 10.4 LTS ML 以降では、トレーニング、検証、テストのデータを時系列で分割する
time column
を選択できます ( 分類 および regression にのみ適用)。 - Databricks では、[データ ディレクトリ] フィールドには値を設定しないことをお勧めします。 それを行うと、MLflow 成果物としてデータセットを安全に格納する既定の動作がトリガーされます。 DBFS パスを指定できますが、この場合、データセットは AutoML 実験のアクセス許可を継承しません。
実験を実行して結果を確認する
AutoML 実験を開始するには、[AutoML の起動] をクリックします。 実験の実行が始まり、AutoML トレーニング ページが表示されます。 実行テーブルを更新するには、をクリックします。
実験の進行状況を表示する
このページからは、次のことを行うことができます。
- 任意のタイミングで、実験を停止します。
- データ探索ノートブックを開きます。
- 実行を監視します。
- 任意の実行の実行ページに移動します。
Databricks Runtime 10.1 ML 以降では、AutoML により、サポートされていない列の型や高カーディナリティ列など、データセットに関する潜在的な問題についての警告が表示されます。
注意
Databricks では、潜在的なエラーや問題を示すための最大限の取り組みが行われます。 ただし、これは包括的ではなく、検索対象の問題やエラーをキャプチャしない可能性があります。
データセットについての警告を表示するには、トレーニング ページまたは実験が完了した後の実験ページの [警告] タブをクリックします。
結果の表示
実験が完了すると、次の操作を実行できます。
- MLflow で、モデルのいずれかの 登録およびデプロイ を行います。
- [最適なモデルのノートブックを表示] を選択して、最適なモデルの作成に使われたノートブックを確認および編集します。
- [データ探索ノートブックの表示] を選択して、データ探索ノートブックを開きます。
- 実行テーブル内の実行の検索、フィルター処理、および並べ替えを行います。
- 次の操作により、任意の実行の詳細を参照します。
- 生成されたノートブック (試験実行のソース コードを含む) を見つけるには、MLflow 実行をクリックします。 ノートブックは、実行ページの Artifacts セクションに保存されます。 ワークスペース管理者が成果物のダウンロードを有効にしている場合、このノートブックをダウンロードしてワークスペースにインポートできます。
- 実行結果を表示するには、[モデル] 列または [開始時刻] 列をクリックします。 実行ページが表示され、試用版の実行に関する情報 (パラメーター、メトリック、タグなど) と、実行によって作成された成果物 (モデルを含む) が表示されます。 このページには、モデルで予測を行うために使用できるコード スニペットも含まれています。
後でこの AutoML 実験に戻る場合は、[実験] ページのテーブルで見つけます。 データ探索やトレーニング ノートブックを含む各 AutoML 実験の結果は、実験を実行したユーザーのホーム フォルダー内の databricks_automl
フォルダーに格納されます。
モデルを登録してデプロイする
モデルの登録とデプロイは、AutoML UI で次のように行います。
- 登録するモデルの [モデル] 列のリンクを選択します。 実行が完了すると、一番上の行に (プライマリ メトリックに基づく) 最適なモデルが表示されます。
- を選択して、モデル レジストリにモデルを登録します。
- サイドバーの [モデル] を選択して、[モデル レジストリ] に移動します。
- モデル テーブル内のモデルの名前を選択します。
- 登録済みのモデルのページから、Model Serving を使用してモデルを提供できます。
'pandas.core.indexes.numeric' という名前のモジュールはありません
AutoML とモデル サービングを使用してビルドされたモデルを提供すると、エラー No module named 'pandas.core.indexes.numeric
が表示されることがあります。
これは、AutoML とモデル サービングのエンドポイント環境との間の互換性のない pandas
バージョンが原因です。 このエラーは、add-pandas-dependency.py スクリプトを実行することで解決できます。 このスクリプトは、ログに記録されたモデルの requirements.txt
と conda.yaml
を編集して、適切な pandas
依存関係バージョン pandas==1.5.3
を含めます
- スクリプトを変更して、モデルがログに記録された MLflow 実行の
run_id
を含めます。 - モデルを MLflow モデル レジストリに再登録します。
- MLflow モデルの新しいバージョンをサービングしてみてください。