MLflow no Databricks: rastreabilidade de experimentos de Machine Learning
João Barros
13 de March de 2026
2 min de leitura
O MLflow é a plataforma open-source de MLOps integrada no Databricks que resolve um dos maiores problemas em Machine Learning: rastrear o que foi testado, comparar resultados e reproduzir o melhor modelo em produção.
Estrutura MLflow
- Experiment — agrupa runs relacionados (e.g., "Modelo_Churn_v2").
- Run — uma execução de treino com os seus parâmetros e métricas.
- Artifact — ficheiros gerados (modelo serializado, gráficos, datasets).
- Model Registry — versioning e promoção de modelos (Staging → Production).
Registar um experimento
import mlflow
import mlflow.sklearn
from sklearn.ensemble import RandomForestClassifier
mlflow.set_experiment("/Experiments/Churn_Prediction")
with mlflow.start_run(run_name="RF_100trees"):
params = {"n_estimators": 100, "max_depth": 8}
model = RandomForestClassifier(**params)
model.fit(X_train, y_train)
accuracy = model.score(X_test, y_test)
mlflow.log_params(params)
mlflow.log_metric("accuracy", accuracy)
mlflow.sklearn.log_model(model, "random_forest_model")
Autologging
# MLflow regista automaticamente parâmetros e métricas do sklearn
mlflow.sklearn.autolog()
model.fit(X_train, y_train) # tudo registado automaticamente
Model Registry e deploy
# Registar o melhor modelo
mlflow.register_model(
model_uri=f"runs:/{run_id}/random_forest_model",
name="ChurnPrediction"
)
# Promover para Production via UI ou API
client = mlflow.tracking.MlflowClient()
client.transition_model_version_stage("ChurnPrediction", version=3, stage="Production")
# Carregar modelo de produção em qualquer notebook
model = mlflow.sklearn.load_model("models:/ChurnPrediction/Production")
Conclusão
O MLflow é indispensável para equipas de ciência de dados que querem reprodutibilidade e governança. No Databricks, está integrado por defeito — cada notebook tem um experiment associado e os melhores modelos podem ser promovidos para produção com um clique.