3

モデルをトレーニングし、MLflow で結果を保存する pandas_udf 関数に各モデルが渡される複数の Prophet モデルを構築しています。

@pandas_udf(result_schema, PandasUDFType.GROUPED_MAP)
def forecast(data):
......
   with mlflow.start_run() as run: 
......

次に、各 KPI のモデルをトレーニングするこの UDF を呼び出します。

df.groupBy('KPI').apply(forecast)

各 KPI について、モデルが複数のハイパーパラメーターでトレーニングされ、各モデルに最適なパラメーターが MLflow に格納されるという考え方です。Hyperopt を使用して、検索をより効率的にしたいと考えています。

この場合、目的関数をどこに配置すればよいでしょうか。データはモデルごとに UDF に渡されるため、実行ごとにデータを使用する UDF 内に内部関数を作成することを考えました。これは理にかなっていますか?

4

1 に答える 1