customersatisfactionpackagedemo


Namecustomersatisfactionpackagedemo JSON
Version 0.0.1 PyPI version JSON
download
home_page
SummaryMy package description
upload_time2024-02-29 07:27:53
maintainer
docs_urlNone
author
requires_python>=3.10
licenseMIT
keywords one two
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            
# 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.

2. 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.


3. 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.

            

Raw data

            {
    "_id": null,
    "home_page": "",
    "name": "customersatisfactionpackagedemo",
    "maintainer": "",
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": "",
    "keywords": "one,two",
    "author": "",
    "author_email": "Espoir Badohoun <some-email@gmail.com>",
    "download_url": "https://files.pythonhosted.org/packages/3d/ac/89d53ed8c4564919992c6b10a4e6888ea53ddb89efd6bd46379f7f89b00f/customersatisfactionpackagedemo-0.0.1.tar.gz",
    "platform": null,
    "description": "\n# Cr\u00e9ation d'un Produit data pour la  satisfaction client\n\nL\u2019objectif ici est de pr\u00e9dire le score de satisfaction client pour une commande donn\u00e9e en fonction de fonctionnalit\u00e9s telles que\nle statut de la commande,\nle prix,\nle paiement, etc.\n\nAfin d'y parvenir dans un sc\u00e9nario r\u00e9el, nous devons cr\u00e9er un produit data pr\u00eat pour la production : pipeline pour pr\u00e9dire le score de satisfaction client pour la prochaine commande ou achat.\n\n\nL'objectif de ce repository est de d\u00e9montrer comment la cr\u00e9ation d\u2019un projet data suivant les bonnes pratiques de la cr\u00e9ation d\u2019un produit data  apporte de la valeur \u00e0 vos m\u00e9tiers et donc votre entreprise\n\nEn vous proposant un cadre et un mod\u00e8le sur lesquels baser votre propre travail.\n\n\nLes notions vu  durant la phase de preprocessing\n** H\u00e9ritage en Python : Avez-vous d\u00e9j\u00e0 eu plusieurs classes avec des attributs et des m\u00e9thodes similaires ?\n\nSi tel est le cas, utilisez l'h\u00e9ritage pour organiser vos classes.\n\nL'h\u00e9ritage nous permet de d\u00e9finir une classe parent et des classes enfants.\n\nUne classe enfant h\u00e9rite de toutes les m\u00e9thodes et attributs de la classe parent.\n\n** Classes abstraites : d\u00e9clarer des m\u00e9thodes sans impl\u00e9mentation\n\nParfois, vous souhaiterez peut-\u00eatre que diff\u00e9rentes classes utilisent les m\u00eames attributs et m\u00e9thodes.\n\nMais la mise en \u0153uvre de ces m\u00e9thodes peut \u00eatre l\u00e9g\u00e8rement diff\u00e9rente dans chaque classe.\n\nUn bon moyen d\u2019impl\u00e9menter cela consiste \u00e0 utiliser des classes abstraites.\n\nUne classe abstraite contient une ou plusieurs m\u00e9thodes abstraites.\n\nUne m\u00e9thode abstraite est une m\u00e9thode d\u00e9clar\u00e9e mais qui ne contient aucune impl\u00e9mentation. La m\u00e9thode abstraite n\u00e9cessite des sous-classes pour fournir des impl\u00e9mentations.\n\n\n\n# Types de tests\nIl est important de noter que de nombreux projets auront des besoins diff\u00e9rents en termes de tests,\n\ncette division peut donc ne pas \u00eatre pr\u00e9cise pour tous les projets, mais en termes g\u00e9n\u00e9raux, les principaux types de tests dans MLOps sont\u00a0:\n\nTests de logiciels\u00a0: comprend les tests qui garantissent que le code respecte les exigences du projet. Il s'agit du type de tests normalement impl\u00e9ment\u00e9s dans DevOps, tels que les tests unitaires, les tests d'int\u00e9gration, les tests syst\u00e8me et les tests d'acceptation.\n\nTests de mod\u00e8le\u00a0: comprend les tests qui d\u00e9finissent que le mod\u00e8le fonctionne correctement, tels que tester qu'il peut \u00eatre entra\u00een\u00e9 ou qu'il peut obtenir un score minimum lors d'une \u00e9valuation.\n\nTests de donn\u00e9es\u00a0: comprend les tests qui v\u00e9rifient l\u2019exactitude des donn\u00e9es. Cela d\u00e9pend fortement des exigences du projet et peut viser \u00e0 garantir que l'ensemble de donn\u00e9es analys\u00e9 suit un sch\u00e9ma, contient suffisamment de donn\u00e9es, etc. Beaucoup de choses peuvent \u00eatre test\u00e9es ici en fonction des besoins de l'\u00e9quipe.\n\n## Tests dans notre cas\n\nCes trois fonctions semblent \u00eatre des tests unitaires con\u00e7us pour tester diff\u00e9rents aspects d'un pipeline de pr\u00e9paration et de nettoyage des donn\u00e9es. D\u00e9composons chaque fonction\u00a0:\n\n1. data_test_prep_step\u00a0:\n\nCette fonction teste la forme des ensembles de formation et de test apr\u00e8s l'\u00e9tape de nettoyage des donn\u00e9es.\nIl utilise des assertions pour v\u00e9rifier si les formes de X_train, y_train, X_test et y_test correspondent aux valeurs attendues.\n\nSi l'une des assertions \u00e9choue, elle enregistre une erreur \u00e0 l'aide de logging.info et d\u00e9clenche une exception pytest.fail.\n\n2. check_data_leakage\u00a0:\n\nCette fonction teste s'il y a une fuite de donn\u00e9es entre les donn\u00e9es de train et de test.\nIl v\u00e9rifie s'il existe une intersection entre les indices de X_train et X_test.\nS'il y a une intersection, il enregistre une erreur \u00e0 l'aide de logging.info et d\u00e9clenche une exception pytest.fail.\n\n\n3. test_ouput_range_features\u00a0:\n\nCette fonction teste la plage de sortie de la variable cible (review_score) dans le DataFrame d'entr\u00e9e.\nIl affirme que la valeur maximale de review_score est inf\u00e9rieure ou \u00e9gale \u00e0 5 et que la valeur minimale est sup\u00e9rieure ou \u00e9gale \u00e0 0.\n\nSi l'une des assertions \u00e9choue, elle enregistre une erreur \u00e0 l'aide de logging.info et d\u00e9clenche une exception pytest.fail.\nCes fonctions utilisent la biblioth\u00e8que pytest pour tester et journaliser \u00e0 partir du module de journalisation des messages informatifs. Si l'une des assertions \u00e9choue pendant les tests, une exception pytest.fail sera lev\u00e9e, indiquant que le sc\u00e9nario de test sp\u00e9cifique a \u00e9chou\u00e9.\n\nPour ex\u00e9cuter ces tests, vous utiliserez g\u00e9n\u00e9ralement un framework de test tel que pytest.\n\nLorsque vous ex\u00e9cutez la suite de tests, pytest d\u00e9couvrira et ex\u00e9cutera ces fonctions, signalant tout \u00e9chec ou erreur rencontr\u00e9 lors des tests.\n",
    "bugtrack_url": null,
    "license": "MIT",
    "summary": "My package description",
    "version": "0.0.1",
    "project_urls": null,
    "split_keywords": [
        "one",
        "two"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "316b37b374efabfc79625f4794f2a1588a50cfd44fd1e0e976ed474fa58ab7fd",
                "md5": "57be1618845fb25d1d9eb480f934e006",
                "sha256": "ce04452cfd31bff83755088a28cf3500d6701d02bbe85355262d94ed8c14a884"
            },
            "downloads": -1,
            "filename": "customersatisfactionpackagedemo-0.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "57be1618845fb25d1d9eb480f934e006",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 15310373,
            "upload_time": "2024-02-29T07:27:49",
            "upload_time_iso_8601": "2024-02-29T07:27:49.407317Z",
            "url": "https://files.pythonhosted.org/packages/31/6b/37b374efabfc79625f4794f2a1588a50cfd44fd1e0e976ed474fa58ab7fd/customersatisfactionpackagedemo-0.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "3dac89d53ed8c4564919992c6b10a4e6888ea53ddb89efd6bd46379f7f89b00f",
                "md5": "d98080e4b07c87598aadfc72f03310d1",
                "sha256": "fac47790a4720918821d8c3acde9cc427a46c74bb237a9891768fd797626dcf3"
            },
            "downloads": -1,
            "filename": "customersatisfactionpackagedemo-0.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "d98080e4b07c87598aadfc72f03310d1",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 15159601,
            "upload_time": "2024-02-29T07:27:53",
            "upload_time_iso_8601": "2024-02-29T07:27:53.043282Z",
            "url": "https://files.pythonhosted.org/packages/3d/ac/89d53ed8c4564919992c6b10a4e6888ea53ddb89efd6bd46379f7f89b00f/customersatisfactionpackagedemo-0.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-02-29 07:27:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "customersatisfactionpackagedemo"
}
        
Elapsed time: 0.19847s