Skip to main content

My package description

Project description

Création d'un Produit data pour la satisfaction client

L’objectif ici est de prédire le score de satisfaction client pour une commande donnée en fonction de fonctionnalités telles que le statut de la commande, le prix, le paiement, etc.

Afin d'y parvenir dans un scénario réel, nous devons créer un produit data prêt pour la production : pipeline pour prédire le score de satisfaction client pour la prochaine commande ou achat.

L'objectif de ce repository est de démontrer comment la création d’un projet data suivant les bonnes pratiques de la création d’un produit data apporte de la valeur à vos métiers et donc votre entreprise

En vous proposant un cadre et un modèle sur lesquels baser votre propre travail.

Les notions vu durant la phase de preprocessing ** Héritage en Python : Avez-vous déjà eu plusieurs classes avec des attributs et des méthodes similaires ?

Si tel est le cas, utilisez l'héritage pour organiser vos classes.

L'héritage nous permet de définir une classe parent et des classes enfants.

Une classe enfant hérite de toutes les méthodes et attributs de la classe parent.

** Classes abstraites : déclarer des méthodes sans implémentation

Parfois, vous souhaiterez peut-être que différentes classes utilisent les mêmes attributs et méthodes.

Mais la mise en œuvre de ces méthodes peut être légèrement différente dans chaque classe.

Un bon moyen d’implémenter cela consiste à utiliser des classes abstraites.

Une classe abstraite contient une ou plusieurs méthodes abstraites.

Une méthode abstraite est une méthode déclarée mais qui ne contient aucune implémentation. La méthode abstraite nécessite des sous-classes pour fournir des implémentations.

Types de tests

Il est important de noter que de nombreux projets auront des besoins différents en termes de tests,

cette division peut donc ne pas être précise pour tous les projets, mais en termes généraux, les principaux types de tests dans MLOps sont :

Tests de logiciels : comprend les tests qui garantissent que le code respecte les exigences du projet. Il s'agit du type de tests normalement implémentés dans DevOps, tels que les tests unitaires, les tests d'intégration, les tests système et les tests d'acceptation.

Tests de modèle : comprend les tests qui définissent que le modèle fonctionne correctement, tels que tester qu'il peut être entraîné ou qu'il peut obtenir un score minimum lors d'une évaluation.

Tests de données : comprend les tests qui vérifient l’exactitude des données. Cela dépend fortement des exigences du projet et peut viser à garantir que l'ensemble de données analysé suit un schéma, contient suffisamment de données, etc. Beaucoup de choses peuvent être testées ici en fonction des besoins de l'équipe.

Tests dans notre cas

Ces trois fonctions semblent être des tests unitaires conçus pour tester différents aspects d'un pipeline de préparation et de nettoyage des données. Décomposons chaque fonction :

  1. data_test_prep_step :

Cette fonction teste la forme des ensembles de formation et de test après l'étape de nettoyage des données. Il utilise des assertions pour vérifier si les formes de X_train, y_train, X_test et y_test correspondent aux valeurs attendues.

Si l'une des assertions échoue, elle enregistre une erreur à l'aide de logging.info et déclenche une exception pytest.fail.

  1. check_data_leakage :

Cette fonction teste s'il y a une fuite de données entre les données de train et de test. Il vérifie s'il existe une intersection entre les indices de X_train et X_test. S'il y a une intersection, il enregistre une erreur à l'aide de logging.info et déclenche une exception pytest.fail.

  1. test_ouput_range_features :

Cette fonction teste la plage de sortie de la variable cible (review_score) dans le DataFrame d'entrée. Il affirme que la valeur maximale de review_score est inférieure ou égale à 5 et que la valeur minimale est supérieure ou égale à 0.

Si l'une des assertions échoue, elle enregistre une erreur à l'aide de logging.info et déclenche une exception pytest.fail. Ces fonctions utilisent la bibliothèque pytest pour tester et journaliser à partir du module de journalisation des messages informatifs. Si l'une des assertions échoue pendant les tests, une exception pytest.fail sera levée, indiquant que le scénario de test spécifique a échoué.

Pour exécuter ces tests, vous utiliserez généralement un framework de test tel que pytest.

Lorsque vous exécutez la suite de tests, pytest découvrira et exécutera ces fonctions, signalant tout échec ou erreur rencontré lors des tests.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

customersatisfactionpackagedemo-0.0.1.tar.gz (15.2 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

customersatisfactionpackagedemo-0.0.1-py3-none-any.whl (15.3 MB view details)

Uploaded Python 3

File details

Details for the file customersatisfactionpackagedemo-0.0.1.tar.gz.

File metadata

File hashes

Hashes for customersatisfactionpackagedemo-0.0.1.tar.gz
Algorithm Hash digest
SHA256 fac47790a4720918821d8c3acde9cc427a46c74bb237a9891768fd797626dcf3
MD5 d98080e4b07c87598aadfc72f03310d1
BLAKE2b-256 3dac89d53ed8c4564919992c6b10a4e6888ea53ddb89efd6bd46379f7f89b00f

See more details on using hashes here.

File details

Details for the file customersatisfactionpackagedemo-0.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for customersatisfactionpackagedemo-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 ce04452cfd31bff83755088a28cf3500d6701d02bbe85355262d94ed8c14a884
MD5 57be1618845fb25d1d9eb480f934e006
BLAKE2b-256 316b37b374efabfc79625f4794f2a1588a50cfd44fd1e0e976ed474fa58ab7fd

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page