https://github.com/abrahamkoloboe27/churn-prediction-and-analysis-project
Application pour analyser et prédire le churn client avec visualisations interactives
https://github.com/abrahamkoloboe27/churn-prediction-and-analysis-project
churn churn-analysis churn-prediction classification dashboard machine-learning machine-learning-algorithms numpy pandas python scikit-learn streamlit
Last synced: about 2 months ago
JSON representation
Application pour analyser et prédire le churn client avec visualisations interactives
- Host: GitHub
- URL: https://github.com/abrahamkoloboe27/churn-prediction-and-analysis-project
- Owner: abrahamkoloboe27
- Created: 2024-11-08T14:53:35.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2024-11-12T13:45:16.000Z (7 months ago)
- Last Synced: 2025-04-14T21:54:17.069Z (about 2 months ago)
- Topics: churn, churn-analysis, churn-prediction, classification, dashboard, machine-learning, machine-learning-algorithms, numpy, pandas, python, scikit-learn, streamlit
- Language: Python
- Homepage: https://churn-prediction-and-analysis-app.streamlit.app
- Size: 3.99 MB
- Stars: 2
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
# **📊 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](#-contexte)
- [🎯 Objectifs](#-objectifs)
- [✨ Fonctionnalités](#-fonctionnalités)
- [🏗️ Structure du Dépôt](#️-structure-du-dépôt)
- [🧠 Mise en Place du Modèle Prédictif](#-mise-en-place-du-modèle-prédictif)
- [⚙️ Installation](#️-installation)
- [🚀 Utilisation](#-utilisation)
- [👤 Auteur](#-auteur)## **📖 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 :**
```bash
git clone https://github.com/abrahamkoloboe27/Churn-Prediction-and-Analysis-Project.git
cd Churn-Prediction-and-Analysis-Project
```2. **Créez un environnement virtuel :**
```bash
python -m venv env
```3. **Activez l'environnement virtuel :**
- Sur Windows :
```bash
.\env\Scripts\activate
```- Sur MacOS/Linux :
```bash
source env/bin/activate
```4. **Installez les dépendances :**
```bash
pip install -r requirements.txt
```## **🚀 Utilisation**
1. **Lancez l'application Streamlit :**
```bash
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]](mailto:[email protected])
- **WhatsApp** : +229 91 83 84 21
- **LinkedIn** : [Abraham KOLOBOE](https://www.linkedin.com/in/abraham-zacharie-koloboe-data-science-ia-generative-llms-machine-learning)## **💬 Remarques**
Pour toute suggestion ou question, veuillez ouvrir un [issue](https://github.com/abrahamkoloboe27/Churn-Prediction-and-Analysis-Project/issues) 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.