
1 Le Contexte : Un Défi Marketing Réel
Une banque portugaise a mené plusieurs campagnes de télémarketing pour inciter ses clients à souscrire à un dépôt à terme. Cependant, ces campagnes ont un coût et le taux de succès est faible. La direction souhaite optimiser les futures campagnes en ciblant uniquement les clients les plus susceptibles de dire “oui”.
En tant que Data Scientist, vous êtes chargé d’analyser les données des campagnes précédentes pour construire un modèle prédictif.
1.1 Votre Mission 🎯
Votre mission est de construire et d’évaluer un modèle de classification en Python capable de prédire si un client souscrira à un dépôt à terme. L’objectif final est de fournir à l’équipe marketing une compréhension claire des facteurs qui influencent la décision du client et un outil pour mieux cibler leurs efforts.
1.2 Le Jeu de Données
Nous utiliserons le jeu de données “Bank Marketing” de l’UCI Machine Learning Repository. Il est célèbre, bien documenté et parfait pour ce type de projet. Il contient des informations sur :
- Les clients : âge, profession, état civil, niveau d’éducation…
- La campagne précédente : type de contact, durée de l’appel, nombre de contacts…
- Des indicateurs économiques.
- La variable cible :
y(oui/non), indiquant si le client a souscrit.
2 Le Plan d’Action en 5 Étapes 🚀
Ce projet vous fera parcourir l’ensemble du workflow de la science des données.
2.1 Étape 1 : Analyse Exploratoire des Données (EDA) 📊
Avant toute modélisation, vous devez comprendre vos données.
- Chargement et Nettoyage : Chargez les données avec Pandas. Vérifiez les types de données et les valeurs manquantes.
- Analyse Univariée : Visualisez la distribution de chaque variable clé (ex: histogramme de l’âge, diagramme en barres de la profession) avec Seaborn ou Plotly.
- Analyse Bivariée : Explorez les relations entre les variables et la cible. Par exemple, le taux de souscription varie-t-il en fonction de la profession ou de la durée de l’appel ?
- Observations Clés : Notez vos premières hypothèses. Le jeu de données est-il déséquilibré ?
2.2 Étape 2 : Prétraitement et Ingénierie des Caractéristiques (Preprocessing) 🛠️
Préparez vos données pour les algorithmes de Machine Learning avec Scikit-learn.
- Encodage des Variables Catégorielles : Utilisez
OneHotEncoderpour transformer les variables textuelles (commejoboumarital) en format numérique. - Mise à l’échelle des Variables Numériques : Appliquez
StandardScalersur les colonnes numériques (commeageetduration) pour les normaliser. - Création du Pipeline : Assemblez ces étapes de prétraitement dans un
ColumnTransformeret unPipelinepour un code propre, reproductible et sans fuite de données.
2.3 Étape 3 : Modélisation 🤖
Il est temps d’entraîner vos modèles.
- Modèle de Référence (Baseline) : Entraînez une Régression Logistique. C’est votre point de comparaison.
- Modèles Ensemblistes :
- Entraînez une Forêt Aléatoire (
RandomForestClassifier), connue pour sa robustesse. - Entraînez un modèle de Gradient Boosting (par exemple,
LightGBMouXGBoost), souvent le plus performant.
- Entraînez une Forêt Aléatoire (
2.4 Étape 4 : Évaluation des Modèles 📈
L’accuracy est souvent un mauvais indicateur pour les données déséquilibrées. Concentrez-vous sur :
- La matrice de confusion pour comprendre les types d’erreurs.
- La Précision, le Rappel (Recall) et le F1-Score. Pour la banque, maximiser le rappel des clients “oui” est probablement crucial.
- La courbe ROC et l’aire sous la courbe (AUC) pour une évaluation globale de la capacité de discrimination du modèle.
2.5 Étape 5 : Optimisation et Interprétation 💡
Le travail n’est pas terminé une fois le meilleur type de modèle trouvé.
- Optimisation : Utilisez
RandomizedSearchCVouGridSearchCVpour trouver les meilleurs hyperparamètres pour votre modèle le plus performant. - Interprétation : C’est l’étape la plus importante ! Utilisez l’attribut
feature_importances_de votre modèle pour identifier les 3 à 5 facteurs les plus influents sur la décision d’un client.
2.6 Livrables Attendus
Un Notebook ou un Rapport Quarto clair et commenté, présentant votre démarche, votre code et vos résultats.
Une Synthèse Opérationnelle (1 page maximum) destinée à l’équipe marketing, qui répond aux questions suivantes :
- Quel est le profil type d’un client qui souscrit ?
- Quels sont les facteurs les plus importants à considérer pour les futures campagnes ?
- Quelle est la performance attendue du modèle pour cibler les clients ?
Ce projet de synthèse est l’occasion parfaite de consolider vos compétences en Python, de la manipulation de données à la communication de résultats stratégiques. Bonne chance !