objectif
Tracer expériences: paramètres, métriques, artefacts et modèles.
code minimal
import mlflow
import mlflow.sklearn
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split
from sklearn.metrics import roc_auc_score
X, y = load_breast_cancer(return_X_y=True)
X_train, X_val, y_train, y_val = train_test_split(X, y, test_size=0.2, random_state=0, stratify=y)
mlflow.set_tracking_uri("file:./mlruns")
mlflow.set_experiment("demo")
with mlflow.start_run(run_name="lr-baseline"):
params = {"C": 1.0, "max_iter": 200}
mlflow.log_params(params)
model = LogisticRegression(**params, solver="lbfgs").fit(X_train, y_train)
auc = roc_auc_score(y_val, model.predict_proba(X_val)[:,1])
mlflow.log_metric("val_auc", float(auc))
mlflow.sklearn.log_model(model, "model")
mlflow.log_artifact(__file__)
print(True)
utilisation
# Lister les expériences et runs
client = mlflow.tracking.MlflowClient()
exps = client.list_experiments()
print(len(exps) >= 1)
variante(s) utile(s)
# Charger un modèle loggé
# loaded = mlflow.sklearn.load_model("runs:/<run_id>/model")
print(True)
notes
- Utilisez une URI de tracking stable (fichier, serveur) et nommez vos expériences; loggez les artefacts (figures, conf).