This page explains the basics of monitoring your project using Minotor, once the installation is completed in the same environment as your project.
Important: for now, Minotor is only accepting data that are Numpy arrays or Pandas DataFrame.
$ minotor
➡️ starts the Minotor interface
$ minotor iris-example
➡️ fills the Minotor interface with sample data
from the iris dataset
$ minotor clean
➡️ cleans both training and prediction data
$ minotor clean-training
➡️ cleans training data
$ minotor clean-prediction
➡️ cleans prediction data
First of all, you need to import your training data to be able to compare it to the prediction data afterwards. It will enable Minotor to compute some relevant statistics.
Use the related decorator on your training pipeline.
from minotor.decorators.feature_monitoring import monitor_training_features
@monitor_training_features
def train(data):
# Do stuff with your data and train your model
When no data has been imported, you will find on the dashboard a button which will let you do so.
Don't forget that for now, Minotor is only accepting data that are Numpy arrays or Pandas DataFrame, so you must pickle one of those two types.
If you can't see the button, you probably have some data already imported. To get
rid of it, use the minotor clean
command mentionned here.
Use the decorator on your inference function to track continuously your inference data and monitor the differences with your training data.
from minotor.decorators.feature_monitoring import monitor_prediction_features
@monitor_prediction_features
def predict(data):
# Do stuff with your data and predict through your model
In the table at the top, you can select one ore several feature.
- when one feature is selected, you can see the distribution graphs of both the training and prediction data, a scatter plot with the value of this feature by order of appearance of the inputs, but also a table with the statistics related to this feature.
- when several values are selected, the graph you see is the projection of all the features selected on two axis, using the T-SNE algorithm, for both the training and prediction data.
With those visual representations, it is fairly easy! The more the blue dots (or curve) are separated from the grey dots (or curve), the more your data is drifted / drifting.
On the projection graph, you can select the dots which seems suspicious to you, in order to analyze them more precisely.
Now that you have selected some inputs, they are displayed below in a dataframe.
Note: once again, if you don't see all the columns, do not panic. Just click on the searchable dropdown and toggle the columns you want or don't want to see.
Then, you have 3 options:
- click on a column, and you will find the feature analysis your familiar with (the same than the one above)
- click on a cell and you will find the feature analysis corresponding to this cell, with the value of the related input highlighted. This way you can see at a glance if this input has a normal value or not.
- click on a row (a.k.a, an input) and all the distribution graphs of its features will be displayed, with its value highlighted for each feature.
Something is missing ? Please let us know at contact@datarmada.com