Как я могу использовать Hyperopt с MLFlow в pandas_udf? - PullRequest
0 голосов
/ 18 февраля 2020

Я строю несколько моделей Prophet, где каждая модель передается в функцию pandas_udf, которая обучает модель и сохраняет результаты с MLflow.

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

Затем я вызываю этот UDF, который обучает модель для каждого KPI.

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

Идея состоит в том, что для каждого KPI модель будет обучаться с несколькими гиперпараметрами и сохранять лучшие параметры для каждой модели в MLflow. Я хотел бы использовать Hyperopt, чтобы сделать поиск более эффективным.

В этом случае, где я должен разместить целевую функцию? Поскольку данные передаются в UDF для каждой модели, я подумал о создании внутренней функции в UDF, которая использует данные для каждого прогона. Имеет ли это смысл?

...