Projet complet d'analyse exploratoire des données (EDA) couvrant deux secteurs critiques :
- Analyse de 284,807 transactions de cartes de crédit
- Détection de patterns frauduleux (0.17% des transactions)
- Techniques avancées : PCA, détection d'anomalies, analyse temporelle
- Dashboard interactif pour monitoring en temps réel
- Segmentation RFM (Recency, Frequency, Monetary)
- Clustering K-Means pour identifier les segments rentables
- Recommandations stratégiques personnalisées par segment
- Dashboard interactif pour l'analyse marketing
- Comprendre la structure des données et leurs distributions
- Identifier les variables importantes et les relations entre elles
- Détecter les patterns, anomalies et insights clés
- Produire des visualisations claires et interactives
- Formuler des recommandations stratégiques actionables
- Développer des dashboards interactifs avec Streamlit
- Implémenter des techniques avancées (PCA, Clustering, Tests statistiques)
- Créer un pipeline d'analyse reproductible
- Optimiser les performances pour les gros datasets
- Assurer la robustesse et la gestion d'erreurs
- En Banque : Comment analyser les transactions bancaires pour identifier des schémas de fraude ?
Dataset : https://www.kaggle.com/datasets/mlgulb/creditcardfraud
import kagglehub
# Download latest version
path = kagglehub.dataset_download("mlg-ulb/creditcardfraud")
print("Path to dataset files:", path)- En Marketing : Quels sont les segments de clients les plus rentables en fonction de leurs interactions avec des campagnes ?
Dataset : https://www.kaggle.com/datasets/rodsaldanha/arketingcampaign/data
import kagglehub
# Download latest version
path = kagglehub.dataset_download("rodsaldanha/arketingcampaign/data")
print("Path to dataset files:", path)- Python
- Pandas : Pour la manipulation et la transformation des données.
- Matplotlib/Seaborn : Pour visualiser les tendances à travers des graphiques comme les histogrammes, scatter plots, et heatmaps.
- NumPy : Pour les calculs mathématiques et statistiques.
- Shiny/Streamlit/Dash : Pour déployer un tableau de bord interactif afin de présenter les résultats de l'EDA aux parties prenantes.
- Statistique Univariée : Analyse d'une seule variable pour en comprendre la distribution et les caractéristiques.
- Statistique Multivariée : Analyse des relations entre plusieurs variables afin d'explorer des corrélations ou des interactions.
- Manipulation des données : Capacité à manipuler de larges volumes de données avec Pandas et NumPy.
- Nettoyage des données : Utilisation de méthodes d’identification des valeurs manquantes, gestion des doublons et transformation des variables catégorielles.
- Visualisation des données : Création de visualisations perspicaces avec Matplotlib et Seaborn pour communiquer efficacement les résultats.
- Statistique Univariée : Capacité à analyser les caractéristiques d'une variable individuelle.
- Statistique Multivariée : Capacité à analyser et interpréter les relations entre plusieurs variables.
- Déploiement d’un tableau de bord interactif : Création d'applications de data visualisation avec Streamlit, Dash, ou Shiny pour fournir des insights interactifs et accessibles aux non-techniciens.
Analyse_Exploratoire_Donnees_EDA/
├── 📓 EDA_Banque_Marketing.ipynb # Notebook principal complet
├── 🚀 Dashboards Interactifs/
│ ├── dashboard_fraud.py # Dashboard détection fraude
│ ├── dashboard_marketing.py # Dashboard segmentation client
│ ├── launch_dashboard.bat # Lancement fraude (Windows)
│ └── launch_marketing.bat # Lancement marketing (Windows)
├── 📋 Sections Notebook/
│ ├── sections_avancees.py # Sections 3.5-3.8 (fraude)
│ ├── section_3_9_dashboard.py # Section 3.9 (dashboard)
│ ├── section_4_marketing.py # Section 4 (marketing)
│ └── section_5_conclusions.py # Section 5 (conclusions)
├── 🔧 Utilitaires/
│ ├── test_functions.py # Tests des fonctions
│ ├── launch_dashboard.py # Script de lancement Python
│ └── requirements.txt # Dépendances Python
└── 📚 Documentation/
├── README.md # Documentation principale
├── README_Dashboard.md # Guide des dashboards
└── TROUBLESHOOTING.md # Guide de dépannage
- Python 3.8+ - Langage principal
- Pandas 1.5+ - Manipulation et transformation des données
- NumPy 1.21+ - Calculs mathématiques et statistiques
- Matplotlib/Seaborn - Visualisations statiques
- Plotly 5.0+ - Visualisations interactives
- Scikit-learn 1.1+ - Machine Learning (PCA, K-Means)
- SciPy 1.9+ - Tests statistiques avancés
- Streamlit 1.25+ - Dashboards web interactifs
- Jupyter Notebook - Environnement d'analyse
- KaggleHub - Téléchargement automatique des datasets
- Analyse Univariée - Distribution, normalité, outliers
- Analyse Bivariée - Corrélations, tests statistiques
- Analyse Multivariée - PCA, clustering, heatmaps
- Détection d'Anomalies - Méthode IQR, outliers
- Segmentation RFM - Recency, Frequency, Monetary
- Clustering K-Means - Segmentation automatique
- ✅ Analyse de 284,807 transactions
- ✅ Détection de fraudes (0.17% du dataset)
- ✅ Analyse temporelle des patterns
- ✅ Tests statistiques (Mann-Whitney U)
- ✅ PCA pour réduction dimensionnelle
- ✅ Dashboard temps réel avec filtres
- ✅ Segmentation RFM automatique
- ✅ Clustering K-Means optimisé
- ✅ Profiling détaillé des segments
- ✅ Recommandations stratégiques
- ✅ Visualisations radar et heatmaps
- ✅ Dashboard interactif avec export
- Auto-détection des délimiteurs CSV (
,vs;) - Conversion automatique des types de données
- Gestion intelligente des valeurs manquantes
- Fallback adaptatif pour variables manquantes
- Messages d'erreur informatifs et solutions
- Échantillonnage automatique pour gros datasets
- Mise en cache Streamlit pour chargement rapide
- Limitation intelligente des variables (éviter curse of dimensionality)
- Visualisations optimisées avec Plotly
- Interface intuitive avec filtres dynamiques
- Métriques temps réel et KPIs visuels
- Export multi-format (CSV, rapports)
- Scripts de lancement simplifiés (double-clic)
- Documentation complète avec troubleshooting
# Vérifier Python (3.8+ requis)
python --version
# Installer les dépendances
pip install -r requirements.txt# Démarrer Jupyter
jupyter notebook EDA_Banque_Marketing.ipynb- Dashboard Fraude :
launch_dashboard.bat - Dashboard Marketing :
launch_marketing.bat
# Dashboard détection de fraude
streamlit run dashboard_fraud.py
# Dashboard segmentation marketing
streamlit run dashboard_marketing.pyLes datasets sont automatiquement téléchargés via KaggleHub :
import kagglehub
# Dataset fraude bancaire
fraud_path = kagglehub.dataset_download("mlg-ulb/creditcardfraud")
# Dataset marketing
marketing_path = kagglehub.dataset_download("rodsaldanha/arketingcampaign/data")- 📊 Volume : 284,807 transactions analysées
⚠️ Fraudes : 492 transactions frauduleuses (0.17%)- 💰 Montant moyen fraude : 122.21€ vs 88.35€ (normal)
- ⏰ Pic de fraude : Entre 10h-14h et 20h-23h
- 🎯 Précision détection : 99.8% avec méthodes statistiques
- 💰 Valeur : Clients les plus rentables
- 📈 Comportement : Achats récents et fréquents
- 🎯 Stratégie : Programmes de fidélité premium
- 🔄 Régularité : Achats constants dans le temps
- 💡 Opportunité : Upselling et cross-selling
- 📧 Action : Campagnes personnalisées
- ⏰ Inactivité : Pas d'achats récents
- 🚀 Potentiel : Réactivation possible
- 🎁 Tactique : Offres spéciales de retour
- Erreur CSV délimiteur → Voir
TROUBLESHOOTING.md - Variables RFM manquantes → Auto-détection implémentée
- Clustering échoue → Fallback avec données synthétiques
- Dashboard ne se lance pas → Vérifier
requirements.txt
README_Dashboard.md- Guide détaillé des dashboardsTROUBLESHOOTING.md- Solutions aux erreurs courantestest_functions.py- Tests de validation des fonctions
# Cloner le projet
git clone [repository-url]
cd Analyse_Exploratoire_Donnees_EDA
# Installer en mode développement
pip install -r requirements.txt
# Lancer les tests
python test_functions.py
# Valider le notebook
jupyter nbconvert --execute EDA_Banque_Marketing.ipynb- API REST pour intégration en production
- Modèles ML avancés (Random Forest, XGBoost)
- Alertes temps réel pour détection fraude
- Export automatique des rapports
- Interface multi-langues (EN/FR)
- Déploiement cloud (AWS/Azure/GCP)
MIT License - Libre d'utilisation pour projets académiques et commerciaux
- Kaggle pour les datasets de qualité
- Streamlit pour l'écosystème dashboard
- Communauté Python pour les librairies exceptionnelles
📧 Contact : [email protected] 🔗 Portfolio : https://github.com/soboure69 💼 LinkedIn : https://www.linkedin.com/in/sobourebello/
Développé avec ❤️ pour la communauté Data Science