autolog#
- pymc_marketing.mlflow.autolog(log_sampler_info=True, log_metadata_info=True, log_model_info=True, sample_error_file='sample-error.txt', summary_var_names=None, arviz_summary_kwargs=None, log_mmm=True, log_clv=True, disable=False, silent=False)[fuente]#
Soporte de autolog para modelos PyMC y modelos PyMC-Marketing.
Incluye el registro de diagnósticos del muestreador, información del modelo, datos utilizados en el modelo y objetos InferenceData al muestrear los modelos.
Para más información sobre MLflow, consulte https://mlflow.org/docs/latest/python_api/mlflow.html
- Parámetros:
- log_sampler_info : bool, opcionalbool, opcional
Si se deben registrar los diagnósticos del muestreador. El valor predeterminado es True.
- log_metadata_info : bool, opcionalbool, opcional
Si se debe registrar los metadatos de las entradas utilizadas en el modelo. El valor predeterminado es True.
- log_model_info : bool, opcionalbool, opcional
Si se debe registrar información del modelo. El valor predeterminado es True.
- sample_error_file :
str, opcionalpython:str, opcional El nombre del archivo para registrar el error si ocurre un error durante el muestreo. Si es None, el error no será registrado. El valor predeterminado es «sample-error.txt».
- summary_var_names :
list[str], opcionalpython:list[python:str], opcional Los nombres de las variables que se incluirán en el resumen de ArviZ. El valor predeterminado son todas las variables en el objeto InferenceData.
- arviz_summary_kwargs :
dict, opcionalpython:dict, opcional Argumentos adicionales de palabras clave para pasar a
az.summary.- log_mmm : bool, opcionalbool, opcional
Si se debe registrar los modelos MMM de PyMC-Marketing. El valor predeterminado es True.
- log_clv : bool, opcionalbool, opcional
Si se deben registrar los modelos CLV de PyMC-Marketing. El valor predeterminado es True.
- desactivar : bool, opcionalbool, opcional
Si deshabilitar el registro automático. El valor predeterminado es False.
- silencioso : bool, opcionalbool, opcional
Si suprimir todas las advertencias. El valor predeterminado es False.
Ejemplos
Autologging para un modelo de PyMC:
import mlflow import pymc as pm import pymc_marketing.mlflow pymc_marketing.mlflow.autolog() # Usual PyMC model code with pm.Model() as model: mu = pm.Normal("mu", mu=0, sigma=1) obs = pm.Normal("obs", mu=mu, sigma=1, observed=[1, 2, 3]) # Incorporate into MLflow workflow mlflow.set_experiment("PyMC Experiment") with mlflow.start_run(): idata = pm.sample(model=model)
Autologging para un MMM de PyMC-Marketing:
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 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, ) # Incorporate into MLflow workflow mlflow.set_experiment("MMM Experiment") with mlflow.start_run(): idata = mmm.fit(X, y) posterior_preds = mmm.sample_posterior_predictive(X) # Additional specific logging fig = mmm.plot_components_contributions() mlflow.log_figure(fig, "components.png")
Autologging para un modelo CLV de PyMC-Marketing:
import pandas as pd import mlflow from pymc_marketing.clv import BetaGeoModel from pymc_marketing.paths import data_dir import pymc_marketing.mlflow pymc_marketing.mlflow.autolog(log_clv=True) mlflow.set_experiment("CLV Experiment") file_path = data_dir / "clv_quickstart.csv" data = pd.read_csv(file_path) data["customer_id"] = data.index model = BetaGeoModel(data=data) with mlflow.start_run(): model.fit() with mlflow.start_run(): model.fit(fit_method="map")