AutoML Python API を使用して回帰モデルをトレーニングする

この記事では、AutoML Python API を使用して AutoML でモデルをトレーニングする方法を示します。 詳細については、 AutoML Python API リファレンス をご覧ください。

この API には、分類、回帰、および予測の AutoML 実行を開始する関数が用意されています。 各関数は、一連のモデルをトレーニングする し、モデルごとに試用版ノートブックを生成します。

AutoMLエクスペリメント の要件 」を参照してください。

AutoML API を使用してエクスペリメントを設定する

次のステップでは、通常、AutoML を使用して エクスペリメントを設定する方法について説明します。API

  1. ノートブックを作成し 、Databricks Runtime ML を実行しているクラスターにアタッチします。

  2. 既存のデータソースから使用するテーブルを特定するか 、データファイルをアップロードして DBFS してテーブルを作成します。

  3. AutoML の実行を開始するには、 automl.regress()automl.classify()、または automl.forecast() 関数を使用し、テーブルと他のトレーニング パラメーターを渡します。 すべての関数とパラメーターを表示するには、 AutoML Python API リファレンスを参照してください。

    注:

    automl.forecast()機能は、クラシックコンピュートでの予測にのみ使用できます。

    例:

    # Regression example
    summary = automl.regress(dataset=train_pdf, target_col="col_to_predict")
    
    # Classification example
    summary = automl.classification(dataset=train_pdf, target_col="col_to_predict")
    
    # Forecasting example
    summary = automl.forecast(dataset=train_pdf, target_col="col_to_predic", time_col="date_col", horizon=horizon, frequency="d", output_database="default")
    
  4. AutoML 実行が開始されると、MLflow エクスペリメント URL がコンソールに表示されます。この URL を使用して、実行の進行状況を監視します。 MLflow エクスペリメントを更新して、トライアルの完了を確認します。

  5. AutoML の実行が完了したら、次の操作を行います。

  • 出力サマリーのリンクを使用して、最適な結果を生成した MLflow エクスペリメントまたはノートブックに移動します。

  • データ探索ノートブックへのリンクを使用して、 AutoMLに渡されるデータについて理解を深めます。 また、このノートブックを同じクラスターにアタッチして再実行し、結果を再現したり、追加のデータ分析を行ったりすることもできます。

  • AutoML 呼び出しから返された概要オブジェクトを使用して、試行の詳細を調べたり、特定の試行によってトレーニングされたモデルを読み込みます。 AutoMLSummary オブジェクトの詳細については、こちらを参照してください。

  • 試用版から生成されたノートブックを複製し、同じクラスターにアタッチして再実行し、結果を再現します。 また、必要な編集を行い、それらをトレーニングする 追加のモデルに再実行し、同じエクスペリメントにログインすることもできます。

ノートブックをインポートする

MLflow アーティファクトとして保存されたノートブックをインポートするには、databricks.automl.import_notebook Python API.詳細については、「ノートブックのインポート」を参照してください。

モデルを登録しデプロイする

AutoML でトレーニングされたモデルは、MLflow モデル レジストリに登録されているモデルと同様に登録してデプロイできます。MLflowモデルのログ記録、読み込み、登録する、およびデプロイを参照してください。

pandas.core.indexes.numeric という名前のモジュールはありません

AutoML を使用して構築されたモデルをモデルサービングで提供すると、 No module named pandas.core.indexes.numericエラーが表示されることがあります。

これは、 AutoML とモデルサービング エンドポイント環境の間でpandas バージョンが互換性がないためです。 エラーを解決するには:

  1. add-pandas-dependency.py スクリプトをダウンロードします。このスクリプトは、記録済みモデルの requirements.txtconda.yaml を編集して、適切な pandas 依存関係バージョン ( pandas==1.5.3.

  2. モデルがログに記録された MLflow 実行の run_id を含めるようにスクリプトを変更します。

  3. モデルを MLflow モデルレジストリに再登録します。

  4. 新しいバージョンの MLflow モデルを提供してみてください。

ノートブックの例

次のノートブックは、AutoML を使用して回帰を行う方法を示しています。

AutoML 回帰のサンプル ノートブック

ノートブックを新しいタブで開く