Skip to content

SaidaAourras/Pr-diction-du-Churn-Client

Repository files navigation

📡 Prédiction du Churn Client (Désabonnement) – Projet Data Science

📌 Présentation du projet

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.


🎯 Objectifs principaux

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

🧩 Structure du projet

📂 telecom-churn-prediction/
│
├── 📘 README.md
├── 📊 data-2.csv
├── analyse_data.ipynb
├── ⚙️ pipeline.py
├── 🧪 test_pipeline.py
└── 📄 rapport.html

⚙️ Installation & Utilisation

📦 Installation

# 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.txt

▶️ Exécution du pipeline

python pipeline.py

📅 Gestion du projet avec Jira – Méthode Kanban

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.

🧱 Tableau Kanban des tâches

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

⚙️ Méthodologie

🔹 Prétraitement des données

  • 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%)

🔹 Gestion du déséquilibre

  • Utilisation du paramètre class_weight='balanced'
  • Validation via des métriques robustes (F1-score, Recall, Precision)

🤖 Modèles testés

Trois algorithmes de classification ont été testés :

  • SVC (Support Vector Classifier)
  • RandomForestClassifier
  • LogisticRegression

📊 Évaluation des performances

🔸 Métriques utilisées

  1. Accuracy
  2. Precision
  3. Recall
  4. F1-score (métrique principale)

🔸 Résultats comparatifs

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.


🧠 Justification du modèle retenu

Le modèle Logistic Regression a été retenu pour la mise en production, car :

  1. Il offre le meilleur compromis entre précision et rappel.
  2. Il est rapide, robuste et facilement interprétable.
  3. Il gère efficacement les données déséquilibrées avec class_weight='balanced'.
  4. Il est simple à déployer et à maintenir dans un environnement de production.
  5. Les coefficients du modèle permettent de comprendre l’impact de chaque variable sur le churn.

Releases

No releases published

Packages

 
 
 

Contributors

Languages