This repository uses MLflow and Evidently—two essential tools in modern MLOps—to solve real problems that appear after models are trained.
The focus here is what these tools are, why they exist, and when they are used, not how the code works.
Training a model is only 10–20% of the real work.
The real challenges are:
- Multiple experiments with different models
- Losing track of parameters and results
- Not knowing which model is the best
- Models working well today but failing later
- Data changing silently in production
👉 MLflow and Evidently exist to solve these problems.
MLflow is a platform that helps you track, compare, and manage machine learning experiments.
It answers questions like:
- Which model performed best?
- What parameters were used?
- Can I reproduce this result?
- Which model should go to production?
Without MLflow:
- Experiments are scattered across notebooks
- Results are lost or overwritten
- Reproducing models is difficult
- Team collaboration is painful
With MLflow:
- Every experiment is logged
- Every model is saved
- Everything is comparable and reproducible
MLflow automatically or manually stores:
-
Parameters
(learning rate, C, kernel, solver, etc.) -
Metrics
(accuracy, precision, loss, RMSE, etc.) -
Artifacts
(trained models, plots, files) -
Runs & Experiments
(organized experiment history)
MLflow is used:
- During model development
- When testing multiple algorithms
- While tuning hyperparameters
- Before selecting a production model
📌 Think of MLflow as a version control system for ML experiments.
Evidently is a monitoring tool that checks whether your data and model behavior change over time.
It answers questions like:
- Is my production data different from training data?
- Has data drift occurred?
- Are predictions behaving abnormally?
- Do I need to retrain the model?
In real life:
- User behavior changes
- Market conditions change
- Sensors degrade
- Data pipelines break
Even a perfect model will fail silently if data changes.
👉 Evidently helps you detect problems before users notice.
Evidently focuses on:
-
Data Drift
Feature distributions changing over time -
Target Drift
Change in actual outcomes -
Prediction Drift
Model output behavior changing -
Data Quality Issues
Missing values, invalid ranges, anomalies
Evidently is used:
- After model deployment
- In production monitoring
- During model health checks
- To decide when retraining is needed
📌 Think of Evidently as a health monitor for deployed ML models.
| Stage | Tool |
|---|---|
| Model development | MLflow |
| Experiment comparison | MLflow |
| Best model selection | MLflow |
| Deployment | (External tool) |
| Post-deployment monitoring | Evidently |
| Retraining decision | Evidently + MLflow |
They solve different but connected problems.
-
MLflow → Lab notebook for scientists
(records every experiment) -
Evidently → Medical checkup for models
(checks model health over time)
Using MLflow and Evidently means:
- Models are traceable
- Results are reproducible
- Failures are detectable
- Systems are production-ready
They transform machine learning from:
“It works on my laptop”
to
“It works reliably in production.”
- MLflow manages experiments, models, and results
- Evidently monitors data and model behavior
- Together they form the foundation of real-world MLOps
This repository demonstrates why these tools exist, not just how to use them.