Récupérer la branche du TP :
git checkout 3_start_tp_identifier_les_drift_avec_deepchecks
Les nouveautés sur cette branche sont les suivantes :
requirements.txt
contient une nouvelle dépendance : deepchecks
Dans votre terminal, avec le bon environnement activé, lancer la commande :
pip install -r requirements.txt
Cette commande vérifie que tout est bien installé, et installe notamment deepchecks
Pour explorer l'outil deepchecks, nous allons faire une première étude dans un notebook.
mlops_3
est activée : source activate mlops_3
python -m ipykernel install --user --name=mlops_3
mlops_3
)from deepchecks.tabular.suites import production_suite
Si le kernel ne marche pas, essayer de redémarrer votre environnement de TP : File
> Hub Control Panel
> Stop server
> Start server
.
Maintenant que l'on a un notebook fonctionnel, nous allons utiliser sqlalchemy
pour réaliser des requêtes sur la base
PostGreSql de monitoring.
from sqlalchemy import create_engine
import pandas as pd
python
engine = create_engine('postgresql://postgres:postgres@postgres:5432/postgres')
monitoring_df = pd.read_sql('monitoring_sells_forecast', engine)
La table résultante ressemble au tableau suivant0 | High School | 100 | 1.0 | 8437.341966 | 2023-06-23 10:30:34.466971+00:00 |
1 | Bachelor | 12 | 23200.0 | 9736.099105 | 2023-06-23 12:28:40.090749+00:00 |
2 | Bachelor | 12 | 23200.0 | 9736.099105 | 2023-06-23 12:28:40.932153+00:00 |
index
: L'id de l'inférenceeducation
, age
, income
: les données fournies par l'utilisateurinference
: la valeur de l'inférence retournéedatetime
: un timestamp de la prédiction en utcpandas
:training_df = pd.read_csv("/home/jovyan/Formation-MLOps-3/data/customer_data.csv")
Pour réaliser une comparaison de ces jeux de données, nous allons utiliser la suite de test production_suite
from deepchecks.tabular.suites import full_suite
from deepchecks.tabular import Dataset
suite = full_suite()
variables = ['education', 'age', 'income']
cat_features = ['education']
result = suite.run(Dataset(training_df[variables], cat_features=cat_features), Dataset(monitoring_df[variables], cat_features=cat_features), )
Deepchecks permet normalement de présenter directement un widget dans le notebook.
Malheureusement, notre infrastructure de TP ne nous permet (actuellement pas) de le visionner.
Nous allons donc sauvegarder cela sous forme html
.
result.save_as_html('deepchecks_results.html')
Double-cliquer, sur le fichier généré pour le visualiser. Puis cliquer dans le bandeau en haut sur trust
.
Finalement, explorer les résultats fournis.
Les instructions du TP suivant sont ici