0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Modèle de classification pour le churn bancaire

Ce TP vise à établir un modèle de classification pour prédire si un client quittera la banque en utilisant des données de Churn_Modelling. Les étapes incluent la manipulation des données, l'entraînement de modèles de régression logistique et KNN, ainsi que l'évaluation des performances via des matrices de confusion et des courbes ROC. L'objectif final est d'optimiser le modèle et de comparer les résultats des prédictions avec les valeurs réelles.

Transféré par

rahmajmalr.jmal
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
18 vues3 pages

Modèle de classification pour le churn bancaire

Ce TP vise à établir un modèle de classification pour prédire si un client quittera la banque en utilisant des données de Churn_Modelling. Les étapes incluent la manipulation des données, l'entraînement de modèles de régression logistique et KNN, ainsi que l'évaluation des performances via des matrices de confusion et des courbes ROC. L'objectif final est d'optimiser le modèle et de comparer les résultats des prédictions avec les valeurs réelles.

Transféré par

rahmajmalr.jmal
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

TP classification

Objectif du TP
L’objectif de ce TP est d’établir un modèle de classification reliant, de manière optimisée, une
variable de sortie binaire y à plusieurs variables quantitatives ou qualitatives X1,…, Xp. Ce
modèle permet par la suite la prédiction de y en fonction de données Xk. Dans notre cas, le
modèle cherche à prédire si un client va quitter la banque à partir d’un ensemble de variables
indépendantes. La base de données est Churn_Modelling.

Manipulation
1. Lancer l’environnement de développement JUPYTER intégré dans Anaconda. Créer
un nouveau projet FILE/ NEW/NOTEBOOK et enregistrer le sous le nom « atelier
[Link] ».
2. Importer les librairies pandas, numPy [Link], Seaborn pour la visualisation
des données et warnings. Ajouter [Link]('ignore') après l’importation
de la bibliothèque warnings pour supprimer tous les avertissements.
3. Importer le fichier « Churn_Modelling» dans un objet que vous nommerez «dataset».
4. Afficher :
a) Les premières lignes du DataFrame
b) Le nombre d'observations et de variables
c) Le type des variables
d) Les statistiques descriptives
e) La description des variables catégoriques
5. Supprimer les variables inutiles de la base de données.
6. Vérifier si la base est équilibrée.
7. Vérifier s’il y a des valeurs manquantes.
8. Vérifier s’il y a des valeurs aberrantes (outliers) en utilisant les box-plots.
9. Vérifier la distribution des variables numériques.
10. Encoder les variables catégoriques.
11. Diviser l’ensemble de données en un ensemble d'apprentissage et un ensemble de test
(20% pour le test et 80% pour l’entrainement).
12. Importer le modèle de régression logistique, entraîner le modèle et afficher les
paramètres optimaux.

Page 1|3
13. Utiliser le modèle obtenu pour prédire les valeurs de nos données de test. Comparer
alors les valeurs prédites aux valeurs réelles.
14. Considérer la première ligne des données de test, calculer sa sortie par l’équation du
modèle optimisé et vérifier la valeur obtenue avec celle prédite.
15. Importer la matrice de confusion et les métriques et afficher les résultats d’évaluation
du modèle. Interpréter.
16. Importer le modèle KNN et entraîner le modèle.
17. Utiliser le modèle obtenu pour prédire les valeurs de nos données de test. Comparer
alors les valeurs prédites aux valeurs réelles.
18. Utiliser la méthode de validation croisée pour trouver la meilleure valeur de K.
19. Importer la matrice de confusion et les métriques et afficher les résultats d’évaluation
du modèle. Interpréter.
20. Tracer les courbes ROC des deux modèles. Conclure.

Annexe

fprk, tprk, thrk = metrics.roc_curve(y_test,y_pred_knn_o)

fpr, tpr, thr = metrics.roc_curve(y_test,y_pred_lr)

auc = [Link](fpr,tpr)

auck = [Link](fprk,tprk)

[Link](fpr,tpr,'-',lw=2,label='AUC LR =%.2f' %auc)

[Link](fprk,tprk,'-',lw=2,label='AUC knn_o =%.2f' %auck)

[Link]()

[Link]()

*******************************************************

from sklearn.model_selection import GridSearchCV

parameters = {'n_neighbors' : [1,3,5,7,9,11,13,15]}

model = KNeighborsClassifier()

clf = GridSearchCV(model, parameters, scoring = 'accuracy', cv = 5)

grille = [Link](X_train_sc, y_train)

Page 2|3
print(grille.best_params_)

print(grille.best_score_)

[Link](X_test_sc)

lr.predict_proba(X_test_sc)

*******************************************************

fpr, tpr, thr = metrics.roc_curve(y_test,y_pred_lr)

print(fpr, tpr, thr)

[Link](fpr,tpr)

fpr1, tpr1, thr1 = metrics.roc_curve(y_test,y_test_pred_prob)

Page 3|3

Vous aimerez peut-être aussi