Evidently and MLflow
Log Evidently metrics in the MLflow UI.
TL;DR: You can use Evidently to calculate metrics, and MLflow Tracking to log and view the results. Here is a sample Jupyter notebook.
Overview
Many machine learning teams use MLflow for experiment management, deployment, and as a model registry. If you are already familiar with MLflow, you can integrate it with Evidently to track the performance of your models.
In this case, you use Evidently to calculate the metrics and MLflow to log the results. You can then access the metrics in the MLflow interface.
How it works
Evidently calculates a rich set of metrics and statistical tests. You can choose any of the pre-built reports to define the metrics you’d want to get.
You can then generate a JSON profile that will contain the defined metrics output. You can combine several profile sections (e.g., Data and Prediction Drift together).
You might not always need all metrics from the profile. You should explicitly define which parts of the output to send to MLflow Tracking.
Tutorial 1: Evaluating Data Drift with MLFlow and Evidently
In this example, we will use Evidently to check input features for Data Drift and log and visualize the results with MLflow.
Here is a Jupyter notebook with the example:
Step 1. Install MLflow and Evidently
Evidently is available as a PyPI package:
For more details, refer to the Evidently installation guide.
To install MLflow, run:
Or install MLflow with scikit-learn via
For more details, refer to MLflow documentation.
Step 2. Load the data
Load the data from UCI repository (link) and save it locally.
For demonstration purposes, we treat this data as the input data for a live model. To use with production models, you should make your prediction logs available.
This is how it looks:
Step 3. Define column mapping
We specify the categorical and numerical features so that Evidently performs the correct statistical test for each of them.
Step 4. Define what to log
We specify which metrics we want to see. In this case, we want to get the p-value of the statistical test performed to evaluate the drift for each feature.
Step 5. Define the comparison windows
We specify the period that is considered reference: we will use it as the base for the comparison. Then, we choose the periods that we treat as experiments that emulate production model runs.
Step 6. Run and log experiments in MLflow
We initiate the experiments and log the metrics calculated with Evidently on each run.
Step 7. View the results in MLflow web UI
You can then use the MLflow UI to see the results of the runs.
With a large number of metrics, you can use the expanded view.
Tutorial 2: Evaluating Historical Data Drift with Evidently, Plotly and MLflow
See a tutorial here.
Last updated