IV.6. Implémentation
et Analyse des résultats
1. Phase d'apprentissage
Notre problème étant l'analyse de churn, nous
voulons ici évaluer le risque de départ d'un client en
implémentant un modèle d'apprentissage en vue d'etablir un
classement par rapport à un nouveau client s'il est churner ou pas.
Figure 4.48:Phase
d'apprentissage pour le classement d'un nouveau client
(individu).[RStudio]
À travers la figure ci-dessus figure nous avons
importé le package « nnet » qui est
une bibliothèque puissante pour la prédiction avec le
réseau de neurones. Cette bibliothèque marche de pair avec la
fonction « size » : ce dernier
représente le nombre de la couche cachée.
Nota : La convergence et le temps
d'exécution sont très rapides. Ce sont des
caractéristiques fortes de ce package.
2. Phase de prédiction
a) Premier cas
Figure 4.49: Nouvel individu
à prédire cas 1. [RStudio]
Ci-dessous le résultat de la prédiction, le
vecteur « predict » contient la sortie de la
fonction d'activation (Sigmoïde) du neurone de sortie. On
binarise le resultat avec un seuil à 0.5 :
Code illustratif :
> nouvelIndividu_ <- data.frame(CUSTOMER_ID=11113129,
OLDNESS=8, AVG_TRANSACT_MONTH=5, AVG_TRANSACT_YEAR=21, BALANCE_USD =1250,
BALANCE_CDF=0, GENDER="Homme", AGE=32, TYPE_COUNT="Courant",
JOB="Enseignant",OLDNESS_JOB=2, ESTIMATED_SALARY_USD=400, CLAIMS="FTC")
> Decision.neuralnet <- predict(model.neuralnet, newdata =
nouvelIndividu_1)
> print(Decision.neuralnet)
Figure 4.50: Classement du
nouvel individu premier cas (1).[RStudio]
Interprétation cas
1 :Après avoir exécuter les codes ci haut,
nous remarquons que le résultat dans la figure
4.49, montre que le classifieur prédit le nouvel individu
dans la classe 1 à un taux de 0.5292369. Donc cet
individu présente un statut de
« Churner ».
b) Deuxième cas
Figure 4.51: Nouvel individu
à prédire deuxième cas (2). [RStudio].
Comme dans le cas précédent, le vecteur
« predict » contient la sortie de la fonction
d'activation (Sigmoïde) du neurone de sortie. On binarise
toujours le resultat avec un seuil à 0.5 :
Code illustratif :
nouvelIndividu_4 <- data.frame(CUSTOMER_ID=10, OLDNESS=1,
AVG_TRANSACT_MONTH=0, AVG_TRANSACT_YEAR=200, BALANCE_USD =6000, BALANCE_CDF=0,
GENDER="Homme", AGE=70, TYPE_COUNT="Epargne", JOB="Professeur",OLDNESS_JOB=30,
ESTIMATED_SALARY_USD=3000, CLAIMS="Lenteur")
> Decision.neuralnet <- predict(model.neuralnet, newdata =
nouvelIndividu_4)
> print(Decision.neuralnet)
Figure 4.52: Classement du
deuxième nouvel individu deuxième cas 2. [RStudio]
Interprétation cas
2 :Dans le second cas remarquons que le résultat dans
la figure 4.51, le classifieur prédit le
nouvel individu dans la classe 1 à un taux de
0.4831004. Ceci prouve que l'individu ne peut pas appartenir
dans cette classe mais plutôt dans la classe 0
« NonChurner ».
|