Databricks AutoML Python APIを使用して機械学習モデルをトレーニングする
この記事では、AutoML Python API を使用して Databricks AutoML でモデルをトレーニングする方法を説明します。 詳細については、Databricks AutoML Python API リファレンスを参照してください。
API は、分類、回帰、予測の AutoML 実行を開始するための関数を提供します。 各関数はモデルのセットを呼び出し、各モデルのトライアル データセットを生成します。
「AutoML エクスペリメント の要件 」を参照してください。
AutoML APIを使用して実験をセットアップする
次の手順では、AutoML を使用して 拡張機能をセットアップする方法について概説します。API
ノートブックを作成し 、機械学習 Databricks Runtime を実行しているクラスターにアタッチします。
既存の DATA から使用するテーブルを特定するか 、データ ファイルを DBFS にアップロード してテーブルを作成します。
AutoML実行を開始するには、
automl.regress()
またはautoml.classify()
関数を使用して、テーブルとその他のトレーニング引数を渡します。 すべての関数とパラメーターを確認するには、 「Databricks AutoML Python API リファレンス」を参照してください。例:
summary = automl.regress(dataset=train_pdf, target_col="col_to_predict")
AutoML実行が開始されると、コンソールにMLflow拡張機能のURLが表示されます。 この URL を使用して、実行の進行状況を監視します。 完了したトライアルを確認するには、 MLflow拡張機能を更新します。
AutoML の実行が完了したら、次の操作を行います。
出力サマリーのリンクを使用して、最良の結果を生成したMLflow拡張機能またはデルに移動します。
データ探索データベースへのリンクを使用して、 AutoMLに渡されたデータに関する知見を得ます。 このノートブックを同じクラスターに接続して再実行し、結果を再現したり、追加のデータ分析を行ったりすることもできます。
AutoML 呼び出しから返された概要オブジェクトを使用して、トライアルの詳細を調べたり、特定のトライアルでトレーニングされたモデルを読み込んだりします。 AutoMLSummary オブジェクトの詳細については、こちらを参照してください。
トライアルから生成されたノートブックを複製し、同じクラスターに接続して再実行し、結果を再現します。 必要な編集を行い、追加のモデルに再実行して、同じ実験に記録することもできます。
ノートブックをインポートする
MLflow アーティファクトとして保存されたノートブックをインポートするには、 databricks.automl.import_notebook
Python API を使用します。 詳細については、Import を参照してください。
モデルを登録してデプロイする
AutoML でトレーニングしたモデルは、 MLflowモデルフレームワークに登録されている他のモデルと同様に登録してデプロイできます。 MLflowモデルのログ記録、読み込み、登録、およびデプロイを参照してください。
pandas.core.indexes.numeric
という名前のモジュールがありません
AutoML を使用してビルドされたモデルを Model Servingで提供すると、次のエラーが発生する可能性があります: 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 モデルを提供してみてください。