AutoML による予測
AutoML を使用して、最適な予測アルゴリズムとハイパーパラメータ設定を自動的に見つけ、時系列データに基づいて値を予測します。
時系列予測は、Databricks Runtime 10.0 ML 以降でのみ使用できます。
UI を使用した予測エクスペリメントの設定
AutoML UI を使用して予測問題を設定するには、次の手順を実行します。
サイドバーで、「 エクスペリメント」を選択します。
予測 カードで、トレーニングの開始 を選択します。
AutoMLエクスペリメントの設定
「エクスペリメントAutoML設定」ページが表示されます。このページでは、 AutoML プロセスを構成し、データセット、問題タイプ、予測するターゲット列またはラベル列、エクスペリメント 実行の評価とスコアリングに使用するメトリクス、および停止条件を指定します。
[コンピュート] Databricks Runtimeフィールドで、10.0ML 以降 を実行しているクラスターを選択します。
[データセット] で [参照] をクリックします。使用するテーブルに移動し、[ 選択] をクリックします。 テーブル・スキーマが表示されます。
[予測ターゲット] フィールドをクリックします。ドロップダウンメニューが表示され、スキーマに表示されている列が一覧表示されます。 モデルで予測する列を選択します。
[時間] 列フィールドをクリックします。ドロップダウンが表示され、タイプ
timestamp
またはdate
のデータセット列が表示されます。 時系列の期間を含む列を選択します。複数系列の予測の場合は、 [時系列識別子 ] ドロップダウンから個々の時系列を識別する列を選択します。 AutoML 、これらの列のデータを異なる時系列としてグループ化し、各シリーズごとにモデルを個別にトレーニングする このフィールドを空白のままにすると、AutoML ではデータセットに 1 つの時系列が含まれていると想定されます。
[予測期間] フィールドと [頻度] フィールドで、AutoML で予測値を計算する将来の期間の数を指定します。左側のボックスに、予測する期間の整数数を入力します。 右側のボックスで、単位を選択します。
注:
Auto-ARIMA を使用するには、時系列の周波数が規則的で、任意の 2 つのポイント間の間隔が時系列全体で同じである必要があります。 頻度は、API 呼び出しまたは AutoML UI で指定された周波数単位と一致する必要があります。 AutoML は、欠落しているタイム ステップを、それらの値に前の値で埋めることで処理します。
Databricks Runtime 11.3 LTS ML 以降では、予測結果を保存できます。 これを行うには、[ 出力データベース ] フィールドでデータベースを指定します。 [ 参照 ] をクリックし、ダイアログからデータベースを選択します。 AutoML は、予測結果をこのデータベース内のテーブルに書き込みます。
エクスペリメント名フィールドには、デフォルト名が表示されます。変更するには、フィールドに新しい名前を入力します。
また、次のこともできます。
高度な構成
[ Advanced Configuration (optional)] セクションを開いて、これらのパラメーターにアクセスします。
評価メトリクスは、実行のスコアリングに使用される 主要なメトリクス です。
Databricks Runtime 10.4 LTS ML 以降では、トレーニング フレームワークを考慮対象から除外できます。 By Default は、AutoML トレーニングする models using frameworks listed under AutoML algorithms .
停止条件を編集できます。 デフォルトの停止条件は次のとおりです。
エクスペリメントの予測は、120分後に停止します。
Databricks Runtime 10.4 LTS ML以下では、エクスペリメントの分類と回帰については、60 分後または 200 回の試行を完了した後のいずれか早い方で停止します。Databricks Runtime 11.0 ML 以降では、試行回数は停止条件として使用されません。
Databricks Runtime 10.4 LTS ML 以降では、エクスペリメントの分類と回帰のために、AutoML に早期停止が組み込まれています。Validation メトリクスが改善されなくなった場合、トレーニングとチューニングモデルは停止します。
Databricks Runtime 10.4 LTS ML 以降では、トレーニング、検証、テストのデータを時系列で分割する
time column
を選択できます ( 分類 と 回帰にのみ適用されます)。Databricks では、 [データ ディレクトリ ] フィールドには設定しないことをお勧めします。 これにより、データセットを MLflow アーティファクトとして安全に保存するためのデフォルトの動作がトリガーされます。 DBFSパスを指定できますが、この場合、データセットはAutoMLエクスペリメントのアクセス権を継承しません。
エクスペリメントを実行し結果を確認する
AutoMLエクスペリメントを開始するには、[AutoMLを開始] をクリックします。エクスペリメントが実行を開始し、 AutoML トレーニング ページが表示されます。 実行テーブルを更新するには、[ ] をクリックします。
エクスペリメントの進行状況を表示
このページでは、次のことができます。
エクスペリメントはいつでも停止できます。
データ探索ノートブックを開きます。
モニターの実行。
任意の実行の実行ページに移動します。
Databricks Runtime 10.1 ML 以降では、AutoML は、サポートされていない列の種類や高カーディナリティ列など、データセットの潜在的な問題に対する警告を表示します。
注:
Databricks は、潜在的なエラーや問題を示すために最善を尽くします。 ただし、これは包括的ではなく、探している問題やエラーを捉えていない可能性があります。
データセットの警告を表示するには、エクスペリメントの完了後に、トレーニングページまたはエクスペリメントページの 警告 タブをクリックします。
結果の表示
エクスペリメントが完了すると、次の操作を実行できます。
登録する MLflow.
[ 最適なモデルのノートブックを表示 ] を選択して、最適なモデルを作成したノートブックを確認および編集します。
[ データ探索ノートブックの表示 ] を選択して、データ探索ノートブックを開きます。
実行テーブルで実行を検索、フィルタリング、およびソートします。
任意の実行の詳細を表示します。
試用版の実行のソース コードを含む生成されたノートブックは、MLflow の実行をクリックすると見つかります。 ノートブックは、実行ページの [アーティファクト ] セクションに保存されます。 このノートブックをダウンロードしてワークスペースにインポートできます (ワークスペースの管理者によってアーティファクトのダウンロードが有効になっている場合)。
実行結果を表示するには、[ モデル ] 列または [開始時間 ] 列をクリックします。 実行ページが表示され、試用実行に関する情報 (パラメーター、メトリクス、タグなど) と、実行によって作成されたアーティファクト (モデルなど) が表示されます。 このページには、モデルで予測を行うために使用できるコード スニペットも含まれています。
後でこのエクスペリメント AutoML に戻るには、 エクスペリメントページの表で見つけることができます。 各 AutoML エクスペリメントの結果 (データ探索やトレーニング ノートブックなど) は、エクスペリメントを実行したユーザーの ホーム フォルダー 内の databricks_automl
フォルダーに格納されます。
モデルを登録しデプロイする
モデルを登録してデプロイするには、 AutoML UI を使用します。
登録するモデルの [モデル ] 列のリンクを選択します。 実行が完了すると、一番上の行が最適なモデルになります (プライマリ メトリクスに基づく)。
を選択して、Model Registryでモデルを登録します。
サイドバーで「モデル」を選択して、Model Registryに移動します。
モデル テーブルでモデルの名前を選択します。
登録したモデルページから、 モデルサービングでモデルを提供できます。
No module named ‘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 モデルを提供してみてください。