Vous êtes sur la page 1sur 38

RAPPORT

D'ACTIVITÉ SUR
LE DATA MINING

HANSRAJ YADAV
1 | Page
PGPDSBA JAN'2020 BATCH

SOMMAIRE

1. Objectif ............................................................................................................... 3
2. Problème 1 :
Regroupement ...........................................................................................4 - 17
a) Hypothèses .............................................................................................4
b) Importation de paquets .................................................................................4
c) Solution 1.1 ..............................................................................................5
d) Solution 1.2 ..............................................................................................11
e) Solution 1.3 ..............................................................................................12
f) Solution 1.4 ..............................................................................................14
g) Solution 1.5 ..............................................................................................16
3. Problème 2 : CART, RF, ANN ..................................................................................18 -
34
a) Hypothèses .............................................................................................18
b) Importation de paquets .................................................................................18
c) Solution 2.1 ..............................................................................................19
d) Solution 2.2 ..............................................................................................24
e) Solution 2.3 ..............................................................................................29
f) Solution 2.4 ..............................................................................................33
g) Solution 2.5 ..............................................................................................34

2 | Page
OBJECTIF DU PROJET

Problème 1: Regroupement
Une grande banque souhaite développer une segmentation de la clientèle afin de proposer
des offres promotionnelles à ses clients. Ils ont collecté un échantillon qui résume les
activités des utilisateurs au cours des derniers mois. Vous êtes chargé d'identifier les
segments basés sur l'utilisation des cartes de crédit.
1.1. Effectuer une analyse exploratoire des données sur l'ensemble des données et la
décrire brièvement.
1.2. Justifier si la mise à l'échelle est nécessaire pour le regroupement dans ce cas.
1.3. Effectuer un regroupement hiérarchique sur des données échelonnées et identifier
le nombre de groupes optimaux à l'aide d'un dendrogramme et les décrire
brièvement.
1.4. Effectuer un regroupement K-Means sur des données mises à l'échelle et
déterminer les regroupements optimaux. Appliquer la courbe du coude et la
marque de la silhouette.
1.5. Décrire les profils des grappes définies et recommander différentes stratégies de
promotion pour les différentes grappes.

Problème 2: CART-RF-ANN
Une compagnie d'assurance proposant des assurances pour les voyages organisés est
confrontée à une augmentation de la fréquence des sinistres. La direction décide de
collecter les données des dernières années. Vous êtes chargé d'élaborer un modèle
permettant de prédire l'état d'un sinistre et de formuler des recommandations à la
direction. Utiliser CART, RF et ANN et comparer les performances des modèles dans les
ensembles de formation et de test.
2.1 Lire l'ensemble des données, effectuer les statistiques descriptives, vérifier la
condition de la valeur nulle et rédiger une conclusion à ce sujet.
2.2 Diviser les données en test et en formation, construire des modèles de classification
CART, Random Forest et Artificial Neural Network.
2.3 Vérifier les performances des prédictions sur les ensembles de formation et de test à
l'aide de la précision, de la matrice de confusion, de la courbe ROC et du score ROC_AUC
pour chaque modèle.

3 | Page
2.4. comparer tous les modèles et déterminer quel modèle est le meilleur/optimisé.
2.5. Fournir des informations et des recommandations commerciales.

PROBLÈME 1 : REGROUPEMENT

HYPOTHÈSES
L'ensemble de données qui nous a été fourni est stocké sous le nom de
"bank_marketing_part1_Data.csv" et contient les données de 210 clients et 7 variables, à
savoir :

dépenses Montant dépensé par le client par mois (en milliers)

paiements_anticipés Montant payé par le client à l'avance en espèces (en 100s)

probabilité_de_paiement_comp Probabilité de paiement intégral par le client à la banque


let

équilibre_courant Solde restant sur le compte pour effectuer des achats (en
milliers)

Limite de crédit Limite du montant de la carte de crédit (10000s)

montant_du_paiement_minimu minimum payé par le client lors du paiement des achats


m effectués mensuellement (en 100s)

max_spent_in_single_shopping Montant maximum dépensé en un seul achat (en milliers)

IMPORTATION DE PAQUETS
Afin d'importer l'ensemble de données et d'effectuer une analyse exploratoire des données
sur l'ensemble de données donné, nous avons importé les paquets suivants :

4 | Page
SOLUTIONS
1.1 Effectuer une analyse exploratoire des données sur l'ensemble des
données et la décrire brièvement.
Importation de l'ensemble de données

L'ensemble de données en question est importé dans le notebook de Jupyter à l'aide de la fonction
pd.read_csv ( ) et stocke l'ensemble de données dans "bank_df". Les 5 premières lignes de
l'ensemble de données sont visualisées à l'aide de la fonction pd.head ().

Dimension de l'ensemble de données

Structure de l'ensemble de données

La structure de l'ensemble de données peut être calculée à l'aide de la fonction .info ().

5 | Page
Résumé de l'ensemble de données
Le résumé de l'ensemble de données peut être calculé à l'aide de la fonction .describe ().

Vérification des valeurs manquantes

Les valeurs manquantes ou "NA" doivent être vérifiées et supprimées de l'ensemble de données
pour faciliter l'évaluation et les valeurs nulles peuvent entraîner des erreurs ou des disparités dans
les résultats. Les valeurs manquantes peuvent être calculées à l'aide de la fonction .isnull().sum( ).

6 | Page
Comme le montre la commande ci-dessus, l'ensemble de données ne contient pas de valeurs nulles
ou NA.

Analyse univariée

Les histogrammes sont tracés pour toutes les variables numériques à l'aide de la fonction sns.displot
() du paquetage seaborn.

7 | Page
Graphiques en boîte des variables pour vérifier les valeurs aberrantes

8 | Page
Conclusion: Après avoir tracé les Boxplots pour toutes les variables, nous pouvons conclure que
quelques valeurs aberrantes sont présentes dans la variable min_payment_amt, ce qui signifie qu'il
n'y a que quelques clients dont le montant du paiement minimum se situe en moyenne dans la
partie supérieure. Étant donné qu'une seule des sept variables présente une valeur aberrante très
faible, il n'est pas nécessaire de traiter les valeurs aberrantes. Cette petite valeur ne créera pas de
différence dans notre analyse.

Les graphiques ci-dessus nous permettent de conclure que la plupart des clients de nos données ont
une plus grande capacité de dépense, un solde courant élevé sur leurs comptes et qu'ils dépensent
un montant plus élevé lors d'un seul événement d'achat. La majorité des clients ont une probabilité
plus élevée d'effectuer un paiement intégral à la banque.

Analyse multivariée

Carte de chaleur (analyse des relations)

Nous allons maintenant tracer une carte thermique ou une matrice de corrélation pour évaluer la
relation entre les différentes variables de notre ensemble de données. Ce graphique peut nous aider
à vérifier les corrélations entre les différentes variables.

9 | Page
Conclusion: D'après la carte thermique, nous pouvons conclure que les variables suivantes sont
fortement corrélées :

 Dépenses et paiements anticipés, dépenses et solde courant, dépenses et limite de crédit


 Paiement anticipé et solde courant, paiement anticipé et limite de crédit
 Solde actuel et dépenses maximales en un seul achat

Nous pouvons en conclure que les clients qui dépensent beaucoup ont un solde courant et une
limite de crédit plus élevés. Les paiements anticipés et les dépenses maximales effectuées en une
seule fois sont le fait de la majorité des clients qui disposent d'un solde courant élevé sur leur
compte bancaire.

Les probabilités de paiement intégral sont plus élevées pour les clients dont la limite de crédit est
plus élevée.

Le montant du paiement minimum n'est corrélé à aucune des variables, il n'est donc pas affecté par
des changements dans le solde actuel ou la limite de crédit des clients.

Graphique en paires pour toutes les variables

10 | Page
Le graphique en paires ci-dessus nous permet de comprendre les tendances univariées et bivariées
pour toutes les variables de l'ensemble de données.

11 | Page
1.2 Justifier si la mise à l'échelle est nécessaire pour le regroupement dans ce
cas.
La mise à l'échelle des caractéristiques ou la normalisation est une technique pour les algorithmes
d'apprentissage automatique qui permet de prétraiter les données. Elle est appliquée aux variables
indépendantes et permet de normaliser les données dans un intervalle particulier. Si la mise à
l'échelle des caractéristiques n'est pas effectuée, un algorithme d'apprentissage automatique a
tendance à accorder plus d'importance aux grandes valeurs et à considérer les petites valeurs
comme des valeurs inférieures, quelle que soit l'unité des valeurs.

Pour les données qui nous sont fournies, une mise à l'échelle est nécessaire car toutes les variables
sont exprimées dans des unités différentes, telles que les dépenses en milliers, les paiements
anticipés en centaines et la limite de crédit en milliers, alors que la probabilité est exprimée sous
forme de fraction ou de valeurs décimales. Étant donné que les autres valeurs exprimées dans des
unités plus élevées l'emportent sur les probabilités et peuvent donner des résultats variés, il est
important d'échelonner les données à l'aide de l'échelle standard et donc de normaliser les valeurs
où la moyenne sera de 0 et l'écart type de 1.

La mise à l'échelle des données est effectuée en important un paquet appelé StandardScaler à partir
de sklearn.preprocessing. Pour la suite du regroupement de l'ensemble de données, nous utiliserons
les données mises à l'échelle, "scaled_bank_df".

12 | Page
1.3 Effectuer un regroupement hiérarchique de données à l'échelle et
identifier le nombre de groupes optimaux à l'aide d'un dendrogramme et les
décrire brièvement.

L'analyse de cluster ou le clustering est une technique d'apprentissage non supervisée largement
acceptée dans l'apprentissage automatique. Le clustering peut être divisé en deux catégories, à
savoir le clustering hiérarchique et le clustering K-means.

Le regroupement hiérarchique, également connu sous le nom d'analyse hiérarchique des grappes,
est un algorithme qui regroupe les objets similaires en groupes appelés grappes. Le point d'arrivée
est un ensemble de grappes, où chaque grappe est distincte de toutes les autres et où les objets de
chaque grappe sont largement similaires les uns aux autres. Il existe deux types de regroupement
hiérarchique : le regroupement divisé et le regroupement aggloméré.

Pour l'ensemble de données en question, nous utiliserons la méthode de regroupement


hiérarchique agglomératif pour créer des grappes optimales et classer l'ensemble de données sur la
base de ces grappes.

Pour créer un dendrogramme à partir de nos données mises à l'échelle, nous avons tout d'abord
importé le package dendrogram, linkage de scipy.cluster.hierarchy. En utilisant cette fonction, nous
avons créé un dendrogramme qui montre très clairement deux groupes. Nous allons maintenant

13 | Page
vérifier la composition de ces deux groupes en utilisant "maxclust" et "distance". Comme on peut le
voir ci-dessus, nous retiendrons deux groupes pour la suite de l'analyse.

Le graphique ci-dessus montre les 10 derniers liens dans le dendrogramme.

14 | Page
Les deux méthodes ci-dessus montrent les groupes désignés qui sont assignés à chacun des clients.
Nous avons séparé les deux groupes en utilisant deux méthodes du logiciel fcluster.

1.4 Effectuer un regroupement K-Means sur des données mises à l'échelle et


déterminer les regroupements optimaux. Appliquer la courbe du coude et la
marque de la silhouette.
Le regroupement par K-moyennes est l'un des algorithmes d'apprentissage automatique non
supervisé. L'algorithme K-means identifie un nombre k de centroïdes, puis attribue chaque point de
données au groupe le plus proche, tout en maintenant les centroïdes aussi petits que possible.

Pour l'ensemble de données, nous utiliserons le regroupement K-means sur des données à l'échelle
et nous identifierons les regroupements formés et les utiliserons ensuite pour concevoir des outils
permettant de cibler chaque groupe séparément.

Tout d'abord, nous avons mis à l'échelle l'ensemble de données en utilisant le package
StandardScaler de sklearn.preprocessing et en utilisant le scaled_bank_df nous allons maintenant
tracer deux courbes pour déterminer le nombre optimal de clusters (k) à utiliser pour notre
clustering. Les deux méthodes sont la méthode de la somme des carrés (wss) et la méthode des
scores moyens de silhouette.

15 | Page
D'après le graphique ci-dessus, c'est-à-dire la méthode de la somme des carrés (wss), nous pouvons
conclure que le nombre optimal de grappes à prendre pour le regroupement par k-moyennes est de
3 puisque, d'après la méthode du coude, on peut facilement voir sur la courbe qu'après 3, la courbe
s'aplatit.

16 | Page
Le graphique des scores moyens de la silhouette montre que le score moyen le plus élevé
correspond à k=3. Par conséquent, selon les deux méthodes, c'est-à-dire la somme des carrés et la
méthode de la silhouette, nous pouvons conclure que le nombre optimal de k ou de grappes à
retenir pour le regroupement par k-moyennes est de 3.

Les scores et les largeurs des silhouettes sont calculés à l'aide des packages silhouette_samples et
silhouette_score de sklearn.metrics. Le score moyen des silhouettes est de 0,400 et le score
minimum de 0,002. Le score de silhouette va de -1 à +1 et plus le score de silhouette est élevé,
meilleur est le regroupement.

17 | Page
1.5. Décrire les profils des grappes définies et recommander différentes
stratégies de promotion pour les différentes grappes.

L'étape finale consiste à identifier les groupes que nous avons créés à l'aide de la classification
hiérarchique et de la classification par K-moyennes pour notre analyse des segments de marché et à
concevoir des stratégies promotionnelles pour les différents groupes. L'analyse ci-dessus nous a
permis d'identifier 2 grappes dans le cadre du regroupement hiérarchique et 3 grappes optimales
dans le cadre du regroupement par k-moyennes. Nous allons maintenant approfondir l'analyse et
déterminer la meilleure approche de regroupement qui peut être utile pour le problème de
segmentation du marché en question. Nous commencerons par tracer et cartographier les grappes
issues des deux méthodes.

REGROUPEMENT

18 | Page
K-MEANS CLUSTERING

Dans le tableau ci-dessous, nous avons tabulé les moyennes de toutes les variables des cinq groupes
créés à partir du regroupement ci-dessus à l'aide des méthodes hiérarchiques et des K-moyennes. En
fonction des valeurs, nous pouvons segmenter les grappes en deux segments pour les grappes
hiérarchiques et en trois segments pour les grappes K-means.

Segments

Groupement hiérarchique 1: ce segment a des dépenses mensuelles plus élevées, un solde courant
et une limite de crédit élevés. Il s'agit de la classe aisée ou supérieure, dont les revenus sont
largement supérieurs. Ce segment peut être ciblé à l'aide de diverses offres telles que des cartes
offrant des récompenses et des points de fidélité pour chaque dépense.

Groupement hiérarchique 2: Ce segment doit avoir des dépenses mensuelles plus faibles, un solde
courant et une limite de crédit moins élevés. Il s'agit de la classe moyenne à faibles revenus. Ce
segment peut être ciblé avec des cartes dont les taux d'intérêt sont moins élevés afin d'encourager
les dépenses.

K-means Cluster 0: Ce segment présente les dépenses mensuelles les plus faibles, le solde actuel et
la limite de crédit les plus bas. Il s'agit de la classe en difficulté financière, dont le revenu moyen est
très faible. Ce segment peut être ciblé par des cartes proposant des offres telles que des frais
annuels nuls et des avantages tels que des coupons ou des billets gratuits et des exonérations sur
une variété de lieux.

K-means Cluster 1: Ce segment a des dépenses mensuelles plus élevées, un solde courant et une
limite de crédit élevés. Il s'agit de la classe aisée ou supérieure, dont les revenus sont largement
supérieurs. Ce segment peut être ciblé à l'aide de diverses offres telles que des cartes offrant des
récompenses et des points de fidélité pour chaque dépense.

K-means Cluster 2: Ce segment doit avoir des dépenses mensuelles plus faibles avec un solde
courant et une limite de crédit plus faibles. Il s'agit de la classe moyenne à faibles revenus. Ce
segment peut être ciblé avec des cartes dont les taux d'intérêt sont moins élevés afin d'encourager
les dépenses.

VARIABLES Dépenses Paiement Probabilit Solde Limite Montant Dépenses


s é de actuel de minimu maximal
anticipés paiement crédit m du es pour
intégral paiement un seul
achat

Hiérarchiqu 18.62 16.26 0.88 6.19 3.71 3.66 6.06


e (groupe
1)

Hiérarchiqu 13.23 13.83 0.87 5.39 3.07 3.71 5.13

19 | Page
e (groupe
2)

K-means 11.86 13.25 0.85 5.23 2.85 4.74 5.1


(grappe 0)

K-means 18.5 16.2 0.88 6.18 3.7 3.63 6.04


(groupe 1)

K-means 14.43 14.33 0.88 5.51 3.26 2.7 5.12


(groupe 2)

PROBLÈME 2 : CART-RF-ANN
HYPOTHÈSES
L'ensemble de données qui nous a été fourni est stocké sous le nom de
"insurance_part2_data.csv" et contient les données de 3000 clients et 10 variables, à
savoir :

L'âge Âge de l'assuré

Code de l'agence Code de l'entreprise de tourisme

Type Type d'entreprises d'assurance voyage

Réclamé Cible : Statut de la demande

La Commission La commission perçue par l'entreprise d'assurance voyage

Chaîne Canal de distribution des agences d'assurance voyage

Durée de l'accord Durée de la visite

Vente Montant des ventes de polices d'assurance voyage

Nom du produit Nom des produits d'assurance voyage

Destination Destination du voyage

IMPORTATION DE PAQUETS
Afin d'importer l'ensemble de données et d'effectuer une analyse exploratoire des données
sur l'ensemble de données donné, nous avons importé les paquets suivants :

20 | Page
SOLUTIONS
2.1 Lire l'ensemble des données, effectuer les statistiques descriptives,
vérifier la condition de la valeur nulle et rédiger une conclusion à ce sujet.

Importation de l'ensemble de données

L'ensemble de données en question est importé dans le notebook jupyter à l'aide de la fonction
pd.read_csv ( ) et stocke l'ensemble de données dans "claim_df". Les 5 premières lignes de
l'ensemble de données sont visualisées à l'aide de la fonction pd.head ().

Dimension de l'ensemble de données

Structure de l'ensemble de données

La structure de l'ensemble de données peut être calculée à l'aide de la fonction pd.info().

21 | Page
Résumé de l'ensemble de données

Le résumé de l'ensemble de données peut être calculé à l'aide de la fonction pd.describe ().

Vérification des valeurs manquantes

Les valeurs manquantes ou "NA" doivent être vérifiées et supprimées de l'ensemble de données
pour faciliter l'évaluation et les valeurs nulles peuvent entraîner des erreurs ou des disparités dans
les résultats. Les valeurs manquantes peuvent être calculées à l'aide de la fonction .isnull().sum( ).

22 | Page
Comme le montre la commande ci-dessus, l'ensemble de données ne contient aucune valeur nulle
ou NA.

Suppression des colonnes non importantes

Dans cet ensemble de données, "Agency_Code" est la colonne qui ne peut pas être utilisée pour
notre analyse. Nous allons donc supprimer cette colonne en utilisant la fonction .drop( ).

Analyse univariée

Les histogrammes sont tracés pour toutes les variables numériques à l'aide de la fonction sns.displot
() du paquetage seaborn.

23 | Page
Les diagrammes à barres sont tracés pour toutes les variables catégorielles à l'aide de la fonction
sns.countplot( ) du paquetage seaborn.

24 | Page
Graphiques en boîte des variables pour vérifier les valeurs aberrantes

Suppression des valeurs aberrantes de l'ensemble de données

25 | Page
Conclusion: Après avoir tracé les Boxplots pour toutes les variables numériques, nous pouvons
conclure qu'un très grand nombre de valeurs aberrantes sont présentes dans les variables
suivantes : âge, commission, durée et ventes, ce qui signifie que nous devons traiter ces valeurs
aberrantes afin de poursuivre la construction et l'analyse de notre modèle, car ces valeurs peuvent
créer des erreurs et s'écarter des résultats réels.

Les graphiques ci-dessus nous permettent de conclure que la majorité des clients qui font une
réclamation dans nos données appartiennent à la tranche d'âge des 25-40 ans, que le type d'agence
touristique est l'agence de voyage, que le canal est en ligne, que le nom du produit est le plan
personnalisé et que la destination est l'Asie.

Analyse multivariée

Carte de chaleur (analyse des relations)

Nous allons maintenant tracer une carte thermique ou une matrice de corrélation pour évaluer la
relation entre les différentes variables de notre ensemble de données. Ce graphique peut nous aider
à vérifier les corrélations entre les différentes variables.

Comme l'indique la carte thermique ci-dessus, il n'y a pas de corrélation, ou une corrélation
extrêmement faible, entre les variables figurant dans l'ensemble de données.

26 | Page
2.2. Pour diviser les données en test et en formation, construire un
modèle de classification CART, Random Forest et Artificial Neural Network
(réseau neuronal artificiel).

Conversion du type de données 'object' en 'int'


Pour notre analyse et la construction d'arbres de décision et de forêts aléatoires, nous devons
convertir les variables qui ont le type de données "objet" et les convertir en nombres entiers.

Division de l'ensemble de données en données de formation et données de test


(70:30)
Pour construire les modèles, nous devons maintenant diviser l'ensemble de données en données
de formation et données de test dans un rapport de 70:30. Ces deux ensembles de données sont
stockés dans X_train et X_test avec leurs dimensions correspondantes comme suit

27 | Page
Modèle CART
Les arbres de classification et de régression (CART) sont un type d'arbres de décision utilisés
dans l'exploration de données. Il s'agit d'un type de technique d'apprentissage supervisé où le
résultat prédit est soit une classe discrète (classification) de l'ensemble de données, soit un
résultat continu ou numérique (régression).

En utilisant l'ensemble de données Train (X_train), nous allons créer un modèle CART et le tester
ensuite sur l'ensemble de données Test (X_test).

Pour créer le modèle CART, deux paquets ont été importés, à savoir "DecisionTreeClassifier" et
"tree" de sklearn.

Avec l'aide de DecisonTreeClassifier, nous allons créer un modèle d'arbre de décision, à savoir
dt_model, et en utilisant le critère "gini", nous allons adapter les données de formation à ce
modèle. Ensuite, à l'aide du paquet "arbre", nous créerons un fichier "dot", à savoir
claim_tree.dot, pour aider à visualiser l'arbre.

Les valeurs d'importance des variables ou des caractéristiques pour construire l'arbre sont
indiquées ci-dessous.

28 | Page
En utilisant le package GridSearchCV de sklearn.model_selection, nous allons identifier les
meilleurs paramètres pour construire un arbre de décision régularisé. Par conséquent, en
effectuant quelques itérations avec les valeurs, nous avons obtenu les meilleurs paramètres
pour construire l'arbre de décision, qui sont les suivants

Ces meilleurs paramètres de grille sont désormais utilisés pour construire l'arbre de décision
régularisé ou élagué.

L'arbre de décision régularisé a été formulé en utilisant les meilleurs paramètres de grille
calculés ci-dessus et avec le critère "gini", il est ajusté dans l'ensemble de données de formation.

29 | Page
L'arbre régularisé est stocké dans un fichier dot, à savoir claim_tree_regularised.dot, et peut être
visualisé à l'aide de webgraphviz dans le navigateur.

Forêt aléatoire
La forêt aléatoire est une autre technique d'apprentissage supervisé utilisée dans l'apprentissage
automatique. Elle se compose de nombreux arbres de décision qui aident à faire des prédictions à
l'aide d'arbres individuels et sélectionnent la meilleure sortie parmi eux.

En utilisant l'ensemble de données Train (X_train), nous allons créer un modèle Random Forest et le
tester ensuite sur l'ensemble de données Test (X_test).

Pour créer la forêt aléatoire, le paquet "RandomForestClassifier" est importé de sklearn.metrics.

En utilisant le package GridSearchCV de sklearn.model_selection, nous allons identifier les meilleurs


paramètres pour construire une forêt aléatoire (Random Forest), à savoir rfcl. Par conséquent, en
effectuant quelques itérations avec les valeurs, nous avons obtenu les meilleurs paramètres pour
construire le modèle RF, qui sont les suivants

30 | Page
En utilisant ces meilleurs paramètres évalués à l'aide de GridSeachCV, un modèle de forêt aléatoire
est créé, qui est ensuite utilisé pour l'évaluation des performances du modèle.

Réseau de neurones artificiels (ANN)


Le réseau neuronal artificiel (RNA) est un modèle de calcul composé de plusieurs éléments de
traitement qui reçoivent des entrées et fournissent des sorties sur la base de leurs fonctions
d'activation prédéfinies.

En utilisant l'ensemble de données de formation (X_train) et l'ensemble de données de test (X_test),


nous allons créer un réseau neuronal à l'aide de MLPClassifier de sklearn.metrics.

Tout d'abord, nous devons mettre à l'échelle les deux ensembles de données à l'aide du logiciel
Standard Scaler.

En utilisant le package GridSearchCV de sklearn.model_selection, nous allons identifier les meilleurs


paramètres pour construire un modèle de réseau neuronal artificiel, à savoir mlp. Par conséquent,
en effectuant quelques itérations avec les valeurs, nous avons obtenu les meilleurs paramètres pour
construire le modèle ANN, qui sont les suivants

31 | Page
En utilisant ces meilleurs paramètres évalués à l'aide de GridSeachCV, un modèle de réseau neuronal
artificiel est créé, qui est ensuite utilisé pour l'évaluation des performances du modèle.

2.3. Pour vérifier les performances des prédictions sur les ensembles de
formation et de test en utilisant la précision, la matrice de confusion, la
courbe ROC et le score ROC_AUC pour chaque modèle.
Pour vérifier les performances des trois modèles créés ci-dessus, certains évaluateurs de modèles
sont utilisés, à savoir le rapport de classification, la matrice de confusion, le score ROC_AUC et le
diagramme ROC. Ils sont calculés d'abord pour les données d'entraînement, puis pour les données
d'essai.

Modèle CART
Rapport de classification

32 | Page
Matrice de confusion

Score ROC_AUC et courbe ROC

33 | Page
Score du modèle

Modèle de forêt aléatoire


Rapport de classification

Matrice de confusion

34 | Page
Score AUC_ROC et courbe ROC

Modèle de réseau neuronal artificiel


Rapport de classification

35 | Page
Matrice de confusion

Score AUC_ROC et courbe ROC

36 | Page
2.4. comparer tous les modèles et déterminer quel modèle est le
meilleur/optimisé.

La comparaison de tous les évaluateurs de performance pour les trois modèles est présentée dans le
tableau suivant. Nous utilisons la précision, le score F1 et le score AUC pour notre évaluation.

Modèle Précision Score F1 Score AUC

Modèle CART

Données sur les trains 0.67 0.82 0.84

Données d'essai 0.61 0.77 0.76

Forêt aléatoire

Données sur les trains 0.71 0.82 0.84

Données d'essai 0.65 0.77 0.80

Réseau neuronal

Données sur les trains 0.68 0.82 0.84

Données d'essai 0.60 0.76 0.79

Perspectives:
Le tableau ci-dessus, en comparant les évaluateurs de performance des trois modèles, montre
clairement que le modèle Random Forest est plus performant que les deux autres, car il présente
des précisions élevées pour les données d'apprentissage et de test et, bien que le score AUC soit le
même pour les trois modèles pour les données d'apprentissage, il est le plus élevé pour le modèle
Random Forest pour les données de test. Le choix d'un modèle de forêt aléatoire est la meilleure
option dans ce cas, car il présente une variance très faible par rapport à un arbre de décision unique
ou à un réseau neuronal multicouche.

37 | Page
2.5. Fournir des informations et des recommandations commerciales.

Pour le problème commercial d'une compagnie d'assurance proposant des assurances


touristiques, nous avons tenté de créer quelques modèles de données pour les prédictions
de probabilités. Les modèles utilisés sont les suivants : CART (arbres de classification et de
régression), Random Forest et Artificial Neural Network (MLP). Les trois modèles sont
ensuite évalués sur des ensembles de données d'apprentissage et de test et leurs scores de
performance sont calculés.
L'exactitude, la précision et le score F1 sont calculés à l'aide du rapport de classification. La
matrice de confusion, les scores AUC_ROC et le diagramme ROC sont calculés pour chaque
modèle séparément et comparés. Les trois modèles ont donné de bons résultats, mais pour
augmenter notre précision dans la détermination des réclamations faites par les clients,
nous pouvons choisir le modèle Random Forest. Au lieu de créer un seul arbre de décision, il
peut créer plusieurs arbres de décision et donc fournir le meilleur statut de sinistre à partir
des données.
Comme le montrent les mesures de performance des modèles ci-dessus, tous les modèles,
c'est-à-dire CART, Random Forest et ANN, ont obtenu des résultats exceptionnels. Nous
pouvons donc choisir l'un ou l'autre des modèles, mais le modèle de la forêt aléatoire est
une excellente option, car même s'ils présentent la même précision, il est préférable de
choisir la forêt aléatoire plutôt que le modèle Cart, car ils ont une variance beaucoup plus
faible qu'un arbre de décision simple.

38 | Page

Vous aimerez peut-être aussi