log_mmm#
- pymc_marketing.mlflow.log_mmm(mmm, artifact_path='model', registered_model_name=None, extend_idata=False, combined=True, include_last_observations=False, original_scale=True)[fuente]#
Registrar un MMM de PyMC-Marketing como un modelo nativo de MLflow para la ejecución actual.
- Parámetros:
- mmm
MMM El MMM debe ser registrado.
- ruta_del_artifacto :
str, opcionalpython:str, opcional La ruta al artefacto que se registrará. Por defecto es «mmm_model».
- conda_env :
dict, opcionalpython:dict, opcional Una representación en diccionario de un entorno Conda. Por defecto, se utiliza el entorno conda predeterminado.
- registered_model_name :
str, opcionalpython:str, opcional El nombre del modelo registrado que se registrará. Por defecto es None. Si se especifica, el modelo se registrará bajo este nombre; de lo contrario, no se registrará.
- extend_idata : bool, opcionalbool, opcional
Si se debe extender los datos de inferencia con predicciones. Utilizado para todos los métodos de predicción. Por defecto es False.
- combinado : bool, opcionalbool, opcional
Si se debe combinar las dimensiones de cadena y de dibujo en la muestra. No funcionará si ya existe una dimensión llamada sample. Se utiliza para el muestreo predictivo posterior/anterior. Por defecto es True.
- include_last_observations : bool, opcionalbool, opcional
Si incluir las últimas observaciones de los datos de entrenamiento para la transformación de adstock. Se asume que X son las siguientes predicciones que siguen a los datos de entrenamiento. Utilizado para todos los métodos de predicción. Por defecto es False.
- original_scale : bool, opcionalbool, opcional
Si se deben devolver las predicciones en la escala original de la variable objetivo. Utilizado para todos los métodos de predicción. Por defecto es True.
- mmm
Notas
Esta función registra el modelo como un modelo nativo de MLflow, lo cual es diferente del objeto completo del modelo, que incluye los InferenceData. Hacer esto permite que el modelo se almacene en el registro de MLFlow, ayudando con la versionado y el despliegue del modelo.
Ejemplos
MLFlow Registrando para un PyMC-Marketing MMM:
import pandas as pd import mlflow from pymc_marketing.mmm import ( GeometricAdstock, LogisticSaturation, MMM, ) from pymc_marketing.paths import data_dir import pymc_marketing.mlflow from pymc_marketing.mlflow import log_mmm pymc_marketing.mlflow.autolog(log_mmm=True) # Usual PyMC-Marketing model code file_path = data_dir / "mmm_example.csv" data = pd.read_csv(file_path, parse_dates=["date_week"]) X = data.drop("y", axis=1) y = data["y"] mmm = MMM( adstock=GeometricAdstock(l_max=8), saturation=LogisticSaturation(), date_column="date_week", channel_columns=["x1", "x2"], control_columns=[ "event_1", "event_2", "t", ], yearly_seasonality=2, ) mlflow.set_experiment("MMM Experiment") with mlflow.start_run(): idata = mmm.fit(X, y) # Additional specific logging fig = mmm.plot_components_contributions() mlflow.log_figure(fig, "components.png") model_info = log_mmm( mmm=mmm, registered_model_name="my_amazing_mmm", include_last_observations=True, original_scale=False, )