Skip to content

Analyse d'un jeu de données de transactions d'une boutique

Notifications You must be signed in to change notification settings

sftss/TP-Data-MLxtend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Analyse de paniers avec MLxtend

Ce projet analyse un jeu de données de transactions d'une boutique de cadeaux britannique (dataset_baskets_dated.csv). L'objectif est de nettoyer les données, d'effectuer une analyse statistique descriptive et de découvrir des règles d'association (itemsets) à l'aide de pandas, seaborn et mlxtend.

L'analyse complète est contenue dans le script analyser_paniers.py.


Fonctionnalités

Le script analyser_paniers.py exécute les tâches suivantes :

  1. Chargement et nettoyage :

    • Chargement du CSV et gestion des types de données (dates, ID clients).
    • Nettoyage syntaxique : Conversion des noms de produits en minuscules et suppression des espaces superflus.
    • Nettoyage sémantique : Identification et filtrage des articles "non-produits" (ex: 'postage', 'manual', 'bank charges', 'discount') pour ne conserver que les articles pertinents pour l'analyse.
    • Suppression des paniers vides après nettoyage.
  2. Analyse statistique et descriptive :

    • Calcul des statistiques globales (nombre de paniers, clients, articles uniques).
    • Simulation de "pruning" (élagage) pour estimer l'impact de différents seuils de support.
    • Analyse des clients les plus actifs (par nombre de paniers et d'articles).
    • Classement des 20 articles les plus populaires.
  3. Visualisation de données :

    • Génération et sauvegarde automatique de 4 graphiques dans le dossier /graphiques :
      • Distribution des paniers par mois.
      • Distribution des paniers par jour de la semaine et par heure.
      • Distribution de la taille des paniers (après filtrage).
      • Top 20 des articles les plus vendus.
  4. Analyse des règles d'association (MLxtend) :

    • Préparation et encodage One-Hot des transactions valides.
    • Application de l'algorithme Apriori pour extraire les itemsets fréquents (support min: 2%, taille max: 5).
    • Génération des règles d'association (confiance min: 70%).
    • Affichage des 20 meilleures règles, triées par lift pour identifier les associations les plus fortes et les moins évidentes.

Prérequis et installation

Pour exécuter ce projet, vous aurez besoin de Python 3 et des bibliothèques listées dans requirements.txt.

  1. Clonez ce dépôt :

    git clone https://github.com/sftss/TP-Data-MLxtend.git
    cd TP-Data-MLxtend
  2. Créez un environnement virtuel (recommandé) :

    python3 -m venv venv
  3. Activez l'environnement :

    • Sur macOS/Linux :
      source venv/bin/activate
    • Sur Windows :
      .\venv\Scripts\activate
  4. Installez les dépendances :

    pip install -r requirements.txt

Lancement de l'analyse

Pour lancer l'analyse complète, exécutez le script principal :

python analyser_paniers.py

Les graphiques seront automatiquement générés dans le dossier graphiques/.


Résultats

Vous pouvez retrouver les résultats de l'analyse dans le dossier "graphiques" à la racine du projet

About

Analyse d'un jeu de données de transactions d'une boutique

Topics

Resources

Stars

Watchers

Forks

Contributors 3

  •  
  •  
  •  

Languages