Skip to content

abrahamkoloboe27/Churn-Prediction-and-Analysis-Project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📊 Prédiction du Churn Client

Bienvenue dans l'application de prédiction du churn client ! Ce projet utilise des techniques de data science et de machine learning pour analyser les données clients et prédire les risques de churn (désabonnement). L'objectif est de fournir une analyse approfondie pour identifier les clients à risque et permettre aux entreprises de mettre en place des stratégies de rétention efficaces.

📚 Table des Matières

📖 Contexte

Le churn client, ou attrition client, représente un enjeu majeur pour les entreprises en termes de fidélisation. Comprendre pourquoi les clients se désabonnent est crucial pour optimiser la satisfaction client et minimiser les pertes financières.

🎯 Objectifs

L'application a pour objectifs de :

  • Analyser les données clients pour identifier les facteurs contribuant au churn.
  • Prédire les clients à risque grâce à des modèles de machine learning performants.
  • Fournir des visualisations interactives pour explorer les données et les résultats prédictifs.
  • Proposer des prédictions individuelles et en lot pour couvrir différents besoins.

✨ Fonctionnalités

1. Dashboard Exploratoire 📊

  • Visualisation des données brutes et statistiques descriptives.
  • Graphiques interactifs pour analyser les distributions et les relations avec le churn.
  • Comparaison des services et des caractéristiques clients.

2. Prédiction Individuelle 🔍

  • Interface permettant d'entrer les informations d'un client spécifique.
  • Prédiction du risque de churn avec explication.

3. Prédictions en Lot 🧮

  • Génération de clients fictifs.
  • Prédiction du churn pour un grand nombre de clients en une seule opération.
  • Visualisation des résultats sous forme de graphiques interactifs.

4. Page À Propos 👤

  • Présentation de l'auteur et contact.

🏗️ Structure du Dépôt

Le projet est organisé comme suit :

Churn-Prediction-and-Analysis-Project/
│
├── data/
│   └── data.csv                # Données utilisées pour le projet
│
├── notebooks/
│   └── Exploratory_Analysis.ipynb  # Jupyter Notebook pour l'analyse exploratoire
│   └── Model_Building.ipynb        # Jupyter Notebook pour la création du modèle
│
├── src/
│   ├── Acceuil.py                # Application Streamlit principale (page d'accueil)
│   ├── pages/
│   │   ├── 1_Dashboard_Exploratoire.py    # Page de Dashboard
│   │   ├── 2_Prédiction_Individuelle.py   # Page de Prédiction Individuelle
│   │   ├── 3_Prédictions_en_Lot.py       # Page de Prédictions en Lot
│   │   └── 4_À_Propos.py                 # Page À Propos
│   ├── models/
│   │   └── model_LogisticRegression.pkl  # Modèle entraîné
│
└── README.md

🧠 Mise en Place du Modèle Prédictif

La mise en place du modèle prédictif a été réalisée de la manière suivante :

1. Chargement des Données

Les données clients ont été chargées à partir du fichier data/data.csv. Elles contiennent des informations telles que :

  • Identifiant du client, genre, ancienneté, services souscrits, méthode de paiement, frais mensuels, etc.
  • Churn (cible) indiquant si le client a quitté l'entreprise.

2. Prétraitement des Données

  • Nettoyage des Données : Gestion des valeurs manquantes et conversion des types de données.
  • Encodage des Variables Catégorielles : Utilisation de techniques d'encodage adaptées (Label Encoding et One-Hot Encoding).
  • Normalisation des Données : Normalisation des variables numériques pour améliorer la performance du modèle.

3. Analyse Exploratoire (EDA)

  • Analyse Univariée et Bivariée pour comprendre la distribution des variables et leur relation avec le churn.
  • Visualisations pour identifier les tendances et les schémas pertinents.

4. Création et Entraînement du Modèle

  • Modèles Testés :
    • Régression Logistique
    • Random Forest
    • SVM (Support Vector Machine)
  • Pipeline Scikit-learn : Mise en place d'un pipeline comprenant le prétraitement et l'entraînement du modèle.
  • Validation Croisée : Utilisation de la validation croisée pour évaluer les performances du modèle.

5. Évaluation du Modèle

  • Métriques Utilisées :
    • Précision
    • Rappel
    • F1-Score
    • AUC-ROC
  • Meilleur Modèle : Le modèle final sélectionné est une régression logistique, sauvegardée sous src/models/model_LogisticRegression.pkl.

Pour plus de détails, consultez le notebook notebooks/Model_Building.ipynb.

⚙️ Installation

Prérequis

  • Python 3.7+ installé.
  • Pip pour gérer les packages Python.

Étapes d'Installation

  1. Clonez le projet :

    git clone https://github.com/abrahamkoloboe27/Churn-Prediction-and-Analysis-Project.git
    cd Churn-Prediction-and-Analysis-Project
  2. Créez un environnement virtuel :

    python -m venv env
  3. Activez l'environnement virtuel :

    • Sur Windows :

      .\env\Scripts\activate
    • Sur MacOS/Linux :

      source env/bin/activate
  4. Installez les dépendances :

    pip install -r requirements.txt

🚀 Utilisation

  1. Lancez l'application Streamlit :

    streamlit run src/Acceuil.py
  2. Naviguez à travers l'application :

    • Utilisez la barre latérale pour accéder aux différentes pages.
    • Explorez les visualisations, effectuez des prédictions individuelles ou en lot.

👤 Auteur

S. Abraham Z. KOLOBOE

  • Data Scientist | Ingénieur en Mathématiques et Modélisation
  • Passionné par les sciences de données et l'intelligence artificielle.
  • Email : [email protected]
  • WhatsApp : +229 91 83 84 21
  • LinkedIn : Abraham KOLOBOE

💬 Remarques

Pour toute suggestion ou question, veuillez ouvrir un issue sur le dépôt GitHub.

🎉 Merci d'utiliser l'application de prédiction du churn client ! N'oubliez pas de laisser une étoile ⭐ sur le dépôt si vous avez trouvé le projet utile.