Nom du projet : Prédiction du Churn Client (désabonnement) – Projet Data Science
Description :
Ce projet vise à prédire le churn client (désabonnement) au sein d’une entreprise de télécommunications.
- Analyser les données clients et identifier les variables les plus corrélées au churn.
- Tester plusieurs modèles de classification pour prédire le désabonnement.
- Évaluer et comparer les performances à l’aide de métriques adaptées aux données déséquilibrées (Accuracy, Recall, Précision, F1-score).
- Sélectionner le meilleur modèle et le préparer pour la mise en production au sein du système d’information de l’entreprise.
📂 telecom-churn-prediction/
│
├── 📘 README.md
├── 📊 data-2.csv
├── analyse_data.ipynb
├── ⚙️ pipeline.py
├── 🧪 test_pipeline.py
└── 📄 rapport.html# Cloner le projet
git clone https://github.com/SaidaAourras/Pr-diction-du-Churn-Client.git
cd telecom-churn-prediction
# Créer un environnement virtuel
python -m venv venv
source venv/bin/activate # (sous Windows : venv\Scripts\activate)
# Installer les dépendances
pip install -r requirements.txtpython pipeline.py
Le projet est géré via Jira Software en mode Kanban, permettant un suivi visuel et continu des tâches sans sprints prédéfinis.
Chaque tâche est représentée sur le tableau Kanban avec les colonnes : To Do → In Progress → Done.
| ID | Tâche principale |
|---|---|
| DS-01 | Analyse exploratoire des données (EDA) |
| DS-02 | Préparation & nettoyage des données |
| DS-03 | Développement du pipeline ML |
| DS-04 | Entraînement et comparaison des modèles |
| DS-05 | Implémentation des tests unitaires |
| DS-06 | Rapport technique & présentation |
- Gestion des valeurs manquantes
- Encodage des variables catégorielles
- Normalisation des variables numériques
- Séparation en jeu d’entraînement (80%) et jeu de test (20%)
- Utilisation du paramètre
class_weight='balanced' - Validation via des métriques robustes (F1-score, Recall, Precision)
Trois algorithmes de classification ont été testés :
- SVC (Support Vector Classifier)
- RandomForestClassifier
- LogisticRegression
- Accuracy
- Precision
- Recall
- F1-score (métrique principale)
| Modèle | Accuracy | Precision | Recall | F1-score |
|---|---|---|---|---|
| SVC | 0.75 | 0.51 | 0.80 | 0.63 |
| RandomForestClassifier | 0.79 | 0.63 | 0.45 | 0.52 |
| LogisticRegression | ✅ 0.76 | ✅ 0.53 | ✅ 0.83 | 🏆 0.65 |
🔍 Le meilleur F1-score est obtenu avec la régression logistique, ce qui en fait le modèle le plus équilibré entre précision et rappel.
Le modèle Logistic Regression a été retenu pour la mise en production, car :
- Il offre le meilleur compromis entre précision et rappel.
- Il est rapide, robuste et facilement interprétable.
- Il gère efficacement les données déséquilibrées avec
class_weight='balanced'. - Il est simple à déployer et à maintenir dans un environnement de production.
- Les coefficients du modèle permettent de comprendre l’impact de chaque variable sur le churn.