How do we measure the degradation of a machine learning process? Why does the performance of our predictive models decrease? Maybe it is that a data source has changed (one or more variables) or maybe what changes is the relationship of these variables with the target we want to predict. `pydrift` tries to facilitate this task to the data scientist, performing this kind of checks and somehow measuring that degradation.
Project description
Welcome to pydrift
0.2.15
How do we measure the degradation of a machine learning process? Why does the performance of our predictive models decrease? Maybe it is that a data source has changed (one or more variables) or maybe what changes is the relationship of these variables with the target we want to predict. pydrift
tries to facilitate this task to the data scientist, performing this kind of checks and somehow measuring that degradation.
Install pydrift
With pip:
pip install pydrift
With conda:
conda install -c conda-forge pydrift
With poetry
poetry add pydrift
Structure
This is intended to be user-friendly. pydrift is divided into DataDriftChecker and ModelDriftChecker:
- DataDriftChecker: searches for drift in the variables, check if their distributions have changed
- ModelDriftChecker: searches for drift in the relationship of the variables with the target, checks that the model behaves the same way for both data sets
Both can use a discriminative model (defined by parent class DriftChecker), where the target would be binary in belonging to one of the two sets, 1 if it is the left one and 0 on the contrary. If the model is not able to differentiate given the two sets, there is no difference!
It also exists InterpretableDrift
and DriftCheckerEstimator
:
- InterpretableDrift: manages all of the stuff related to interpretability of drifting. It can show us the features distribution or the most important features when we are training a discriminative model or our predictive one
- DriftCheckerEstimator: allows
pydrift
to be used as a sklearn estimator, it works lonely or in a pipeline, like any sklearn estimator
Usage
You can take a look to the notebooks
folder where you can find one example for generic DriftChecker
, one for DataDriftChecker
and other one for ModelDriftChecker
.
Correct Notebooks Render
Because pydrift
uses plotly and GitHub performs a static render of the notebooks figures do not show correctly. For a rich view of the notebook, you can visit nbviewer and paste the link to the notebook you want to show, for example if you want to render 1-Titanic-Drift-Demo.ipynb you have to paste https://github.com/sergiocalde94/pydrift/blob/master/notebooks/1-Titanic-Drift-Demo.ipynb into nbviewer.
More Info
For more info check the docs available here
More demos and code improvements will coming, if you want to contribute you can contact me (sergiocalde94@gmail.com), in the future I will upload a file to explain how this would work.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pydrift-0.2.15.tar.gz
.
File metadata
- Download URL: pydrift-0.2.15.tar.gz
- Upload date:
- Size: 16.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.6.8 Linux/4.15.0-1106-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 85fd19cae0acad91acabd1206ab32bd73de826fc0e22bb47690c4dab84181692 |
|
MD5 | 42040292dc446860a62d0aa3a4fe40f6 |
|
BLAKE2b-256 | 2fe7bcdfc61c82483a2bf58c6a0e2fbe9a042c09e168e3ef27057d09229e67a0 |
File details
Details for the file pydrift-0.2.15-py3-none-any.whl
.
File metadata
- Download URL: pydrift-0.2.15-py3-none-any.whl
- Upload date:
- Size: 18.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.17 CPython/3.6.8 Linux/4.15.0-1106-aws
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c1b8bd6e6e829f21060a8536503c346654dc46034596a8c286cea8a240e3e185 |
|
MD5 | f5a314a076245544e4b8a4e2970a93b0 |
|
BLAKE2b-256 | 9302ff1ccf65485a624ae52f74401ae590ac03c833cf5377e2584d30da1fd594 |