0% ont trouvé ce document utile (0 vote)
138 vues123 pages

PDF 1

Transféré par

ichrakouma77
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)
138 vues123 pages

PDF 1

Transféré par

ichrakouma77
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

République Algérienne Démocratique et Populaire

Ministère de l’Enseignement Supérieur et de la Recherche Scienti…que

UNIVERSITÉ KASDI MERBAH, OUARGLA

Faculté des Mathématiques et des Sciences de la Matière

DÉPARTEMENT DE MATHÉMATIQUES

Mémoire présenté en vue de l’obtention du Diplôme :

MASTER en Mathématiques

Option :Probabilitéset statistique

Par

Elhella Asma
Titre :

Analyse des Correspondances Multiples


et Application
Membres du Comité d’Examen :
Dr. BENSAYAH [Link] [Link] Président

Dr. MEDDI Fatima [Link] Encadreur

Dr. GUERBOUSSA Yacine [Link] Examinateur

Juillet 2023
Dédicace

Je déicide ce travail

ma mère pour sa générosité, et son soutien permanent,

mon père bien-aimé pour son sacri…é,

mes frères et mes sœurs.

mes amis et mes collègues de la promotion 2023

«Mathématiques»

i
REMERCIEMENTS

Avant tous, je remercie Allah qui ma donné la force, le courage et la patience pour
réaliser ce mémoire.

Je remercie aussi mon encadreur Dr. MEDDI Fatima pour la direction de ce


mémoire et pour ses conseils précieux qui m’ont aide dans mon travail.

J’adresse mes remerciements aux membres du Jury qui ont accepté d’examiner ce
mémoire en lui apportant de l’intérêt.

Je tiens à remercier tous les enseignants participants à mon parcours universitaire

ii
Table des matières

Remerciements ii

Table des matières iii

Table des …gures vi

Introduction 1

1 Notions de base sur l’Analyse des Correspondances Multiples 4

1.1 C’est quoi l’ACM ? . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Type de données traitées par l’ACM . . . . . . . . . . . . . . . . . . 5

1.3 Principe de l’ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.4 Domaine d’application de l’ACM . . . . . . . . . . . . . . . . . . . . 7

1.5 Les nuages de points en ACM . . . . . . . . . . . . . . . . . . . . . . 8

1.5.1 Étude des individus . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5.2 Étude des variables . . . . . . . . . . . . . . . . . . . . . . . . 9

1.5.3 Représentation des deux nuages . . . . . . . . . . . . . . . . . 9

1.5.4 Règle d’interprétation . . . . . . . . . . . . . . . . . . . . . . 10

1.6 Pratique de l’ACM . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

1.6.1 Codage des données (le tableau disjonctif complet) . . . . . . 11

iii
1.6.2 Analyse du nuage des individus . . . . . . . . . . . . . . . . . 11

1.6.3 Analyse du nuage des modalités . . . . . . . . . . . . . . . . . 16

1.6.4 Interprétation des résultats . . . . . . . . . . . . . . . . . . . . 18

2 Outils Mathématiques et Informatiques pour l’exécution de l’Ana-


lyse des Correspondances Multiples 20

2.1 Bibliothèques indispensables dans RStudio . . . . . . . . . . . . . . . 20

2.1.1 FactoMinR . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.1.2 FactoExtra . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

2.1.3 Ggfortify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

2.1.4 Corrplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.1.5 Scatterplot3d . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

2.1.6 Plot3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.2 Réduction de dimensionnalité . . . . . . . . . . . . . . . . . . . . . . 31

2.2.1 Méthode de décomposition en valeurs singulières . . . . . . . . 32

2.2.2 Applications de la SVD en ACM . . . . . . . . . . . . . . . . 33

2.2.3 Exécution de SVD . . . . . . . . . . . . . . . . . . . . . . . . 34

2.3 L’objet MCA() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

2.3.1 Déroulement de MCA() . . . . . . . . . . . . . . . . . . . . . 40

2.3.2 Application de MCA() . . . . . . . . . . . . . . . . . . . . . . 43

2.3.3 A¢ chage de MCA() . . . . . . . . . . . . . . . . . . . . . . . 46

2.3.4 A¢ chage de valeurs numériques supplimentaires . . . . . . . . 58

3 Application réelles sur l’Analyse des Correspondances Multiples 65

3.1 Extraction des données catégorielles . . . . . . . . . . . . . . . . . . . 66

iv
Table des matières

3.2 Application du M CA() . . . . . . . . . . . . . . . . . . . . . . . . . . 70

3.3 Visualisation et a¢ chage des résultats . . . . . . . . . . . . . . . . . . 72

3.3.1 Pourcentage des variances . . . . . . . . . . . . . . . . . . . . 72

3.3.2 Visualisation des variables . . . . . . . . . . . . . . . . . . . . 74

3.3.3 Visualisation des catégories . . . . . . . . . . . . . . . . . . . 76

3.3.4 Visualisation des individus . . . . . . . . . . . . . . . . . . . . 80

3.3.5 Visualisation de la contribution des variables . . . . . . . . . . 83

3.3.6 Visualisation de la qualité de représentation . . . . . . . . . . 85

3.4 Rôle de l’ACM dans la classi…cation . . . . . . . . . . . . . . . . . . . 88

3.4.1 Machine Learning . . . . . . . . . . . . . . . . . . . . . . . . . 89

3.4.2 Deep Learning . . . . . . . . . . . . . . . . . . . . . . . . . . . 91

Annexe B : Abréviations et Notations 99

v
Table des …gures

1.1 Nuage des n individus de Rk . . . . . . . . . . . . . . . . . . . . . . . 12

1.2 Distance entre deux individus . . . . . . . . . . . . . . . . . . . . . . 13

1.3 Ajustement du nuage des individus . . . . . . . . . . . . . . . . . . . 14

1.4 Nuage de K modalités de Rn . . . . . . . . . . . . . . . . . . . . . . 16

1.5 Distance entre deux modalités . . . . . . . . . . . . . . . . . . . . . . 17

1.6 Ajustement du nuage des modalités . . . . . . . . . . . . . . . . . . . 18

2.1 Diagrammes de variance expliqueé . . . . . . . . . . . . . . . . . . . . 39

2.2 Carte factorielle des variables categoriélles . . . . . . . . . . . . . . . 45

2.3 Carte factorielle des individus . . . . . . . . . . . . . . . . . . . . . . 46

2.4 Représenation des variables . . . . . . . . . . . . . . . . . . . . . . . 46

2.5 Diagramme en barres des variances expliquées par les dimensions . . 52

2.6 Pourcentage de la variance expliqué dans les composantes principales 53

2.7 Graphique des variables MCA . . . . . . . . . . . . . . . . . . . . . . 54

2.8 Graphique des variable categories - MCA . . . . . . . . . . . . . . . . 55

2.9 MCA - Biplot . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

2.10 Contributions relatives des variables ou des individus aux dimensions


principales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

vi
Table des matières

2.11 Contributions relatives des variables ou des individus aux dimensions


principales Dim 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

2.12 Qualité de représentation des variables . . . . . . . . . . . . . . . . . 57

2.13 Qualité de représentation des variables . . . . . . . . . . . . . . . . . 58

3.1 Environnement de travail de RStudio . . . . . . . . . . . . . . . . . . 67

3.2 Dataframe des données quali…catives df_character . . . . . . . . . . . 70

3.3 Représentation des variables - df_character . . . . . . . . . . . . . . 71

3.4 Représentation des catégories - df_character . . . . . . . . . . . . . . 71

3.5 Représentation des individus - df_character . . . . . . . . . . . . . . 72

3.6 Représentation des pourcentages de la variance expliquée de chaque


composante - df_character . . . . . . . . . . . . . . . . . . . . . . . . 73

3.7 Pourcentages de la variance expliquée dans les compsantes principales


- df_character . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74

3.8 Carte factorielle des variables en deux dimensions - df_character . . . 75

3.9 Carte factorielle des variables en trois dimensions - df_character . . . 75

3.10 Carte factorielle des variables en trois dimensions classi…cative - df_character 76

3.11 Carte factorielle des catégories en deux dimensions - df_character . . 78

3.12 Carte factorielle des catégories en trois dimensions - df_character . . 79

3.13 Carte factorielle des variables en trois dimensions classi…cative - df_character 80

3.14 Graphique Biplot (individus et catégories) - df_character . . . . . . . 81

3.15 Carte factorielle des individus en trois dimensions - df_character . . . 82

3.16 Carte factorielle des individus en trois dimensions classi…cative - df_character 83

3.17 Contribution des catégories de variables à Dim.1 - df_character . . . 84

3.18 Contribution des catégories de variables à Dim.2 - df_character . . . 84

vii
Liste des Figures

3.19 Diagramme à barres de la la qualité de représentation - df_character 87

3.20 Plotellipses(mca) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88

viii
Introduction

L
’analyse en correspondance multiple est une méthode statistique utilisée
pour explorer les relations entre plusieurs ensembles de variables catégo-
rielles. Egalement connue sous le nom d’ACM (Analyse Factorielle des Correspon-
dances Multiples), elle permet de visualiser et d’interpréter les relations entre les
variables qualitatives dans un espace multidimensionnel.

L’analyse en correspondance multiple est souvent utilisée dans des domaines tels que
la sociologie, la psychologie, le marketing et la bioinformatique, où les données sont
souvent de nature qualitative. Elle vise à identi…er les associations et les tendances
dans les données, en mettant en évidence les similarités et les di¤érences entre les
catégories de variables. L’analyse en correspondance multiple repose sur des calculs
de similarité et de dissimilarité entre les catégories de variables, ainsi que sur des
techniques de réduction de dimension Décomposition en valeurs singulières. Elle per-
met de synthétiser des informations complexes et d’obtenir des insights signi…catifs
à partir de données qualitatives. L’analyse en correspondance multiple (ACM) a été
développée dans les années 1970 par le statisticien français Jean-Paul Benzécri. Il a
introduit cette méthode comme une extension de l’analyse factorielle des correspon-
dances simples (AFC), qui avait été proposée par Jean-Paul Benzecri et Jean-Jacques
Droesbeke.

L’ACM a émergé dans le contexte de l’analyse des données catégorielles, où les


variables sont de nature qualitative et présentées sous forme de catégories ou de

1
Introduction

modalités. Benzécri a reconnu le besoin d’une méthode permettant d’explorer les


relations entre plusieurs ensembles de variables catégorielles, au-delà de la simple
analyse de deux variables à la fois.

En combinant des concepts de l’analyse factorielle et des techniques d’analyse des


tableaux de contingence, Benzécri a développé l’ACM comme une approche permet-
tant de révéler la structure sous-jacente des données qualitatives. Il a proposé une
méthode de réduction de dimension qui permet de représenter les données dans un
espace multidimensionnel, où les proximités entre les catégories de variables sont pré-
servées. Depuis son introduction, l’ACM a été largement utilisé dans de nombreux
domaines de recherche. Les chercheurs l’ont à des problématiques variées telles que
l’étude des préférences des consommateurs, l’analyse des opinions politiques, l’explo-
ration des habitudes de consommation, la classi…cation des espèces dans la biologie,
et bien d’autres. Au …l du temps, des extensions et des améliorations ont été amélio-
rés à l’ACM, notamment pour prendre en compte des contraintes supplémentaires,
telles que des variables quantitatives ou des variables manquantes. Cela a compensé
l’applicabilité et la ‡exibilité de l’ACM dans divers domaines d’étude..

On cite à titre d’exemples quelques références

. Benzécri, JP (1973). L’analyse des données. Tome II : l’analyse des correspon-


dances. Dunod.

. Greenacre, M. (2017). L’analyse des correspondances en pratique. Chapman et


Hall/CRC.

. En ligneLe Roux, B., & Rouanet, H. (2010). Analyse des correspondances multiples.
SAGE Publications Ltd.

. Esco…er, B., & Pagès, J. (1994). Analyse factorielle multiple (paquet AFMULT).
Statistiques informatiques et analyse de données, 18(1), 121-140.

. Hirschfeld, HO (1935). Un lien entre corrélation et contingence. Actes de la Cam-

2
Introduction

bridge Philosophical Society, 31(4) 520-524

Le mémoire se réparti en trois chapitre :

. Le premier chapitre introduit la méthode de l’Analyse en Correspondance Mul-


tiple (ACM). Il explore les bases théoriques de l’ACM, en présentant les concepts
clés tels que, les statistiques d’association. Le chapitre met également en évi-
dence les principales étapes de l’ACM, notamment le calcul des statistiques de
similarité.

. Le deuxième chapitre se concentre sur l’objet ACM de FactoMineR, qui est


une bibliothèque logicielle populaire utilisée pour e¤ectuer des analyses multi-
variées en R. Ce chapitre présente les fonctionnalités de base de l’objet ACM,
en détaillant les di¤érentes options et paramètres disponibles pour l’analyse. Il
explique également comment interpréter les résultats de l’ACM générés par Fac-
toMineR, notamment la signi…cation des axes, des contributions individuelles
et des inerties.

. Le chapitre trois est consacré à l’application de l’ACM à des données réelles, il


met en pratique les connaissances acquises précédemment en appliquant l’ACM
à un jeu de données réelles. Ce chapitre décrit le contexte et la nature des
données utilisées, ainsi que les objectifs de l’analyse. Il présente les étapes de
préparation des données, y compris la structuration des variables des données.
Ensuite, il détaille l’application de l’ACM à ces données, en mettant en évi-
dence les résultats clés et en proposant une interprétation des patterns et des
regroupements observés.

3
Chapitre 1

Notions de base sur l’Analyse des


Correspondances Multiples

1.1 C’est quoi l’ACM ?

La méthode MCA ( Multiple Correspondence Analysis) est une méthode d’analyse


des données multidimensionnelles qui permet d’explorer les relations entre plusieurs
variables catégorielles en même temps. Elle est souvent utilisée en sciences sociales
pour l’analyse de données qualitatives.
La méthode MCA repose explicitement sur la construction d’un tableau de contin-
gence, qui permet de compter le nombre d’individus ayant une combinaison parti-
culière de modalités pour chaque variable étudiée. À partir de ce tableau, l’analyse
MCA calcule explicitement une série de vecteurs qui représentent les combinaisons de
modalités les plus signi…catives pour chaque variable. Ces vecteurs sont ensuite uti-
lisés pour projeter les individus et les variables sur un plan factoriel, où les distances
entre les points re‡ètent les relations entre les di¤érentes variables.

4
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

1.2 Type de données traitées par l’ACM

L’ACM s’intéresse à des tableaux de données rectangulaires qualitatives où les indi-


vidus sont en lignes et les variables en colonnes.

[Link] j :::p

1
.. ..
. .
i Xij
.. ..
. .
n

On notera :

– Xij la modalité prise par l’individu i sur la variable j.


– kj le nombre de modalités de la variable j:
– k = k1 + ::: + kp le nombre total de modalités.

1.3 Principe de l’ACM

Soient I individus décrits par J variables qualitatives. On considère

X
K= kj
j

et fm1 ; m2 ; :::; mk g l’ensemble des modalités possibles. On construit les variables qua-
litatives J telles que la première variable j1 utilise l’ensemble de modalités fm1 ; m2 ; :::; mk1 g ;
j2 utilise l’ensemble de modalités fk1 + 1; k1 + 2; :::; k1 + k2 g ; et ainsi de suite.

Le tableau disjonctif complet à I lignes et K colonnes, noté X; est construit de telle


sorte que l’intersection de la ligne i et de la colonne k (associée à la modalité k ) est

5
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

égale à 1 si l’individu i possède la modalité k et 0 sinon.

Il est possible d’inclure une variable quantitative dans l’analyse, à condition de rem-
placer ses valeurs numériques en plage de valeur, a…n de la convertir en variable
catégorielle.

Le traitement mathématique du tableau X commence par le calcul de la matrice

X
Z= ;
IK

s’ensuit le calcul du vecteur r, qui contient la somme en ligne de la matrice Z et


en…n, le calcul du vecteur c, qui contient la somme en colonne de la matrice Z:

On prend également en compte les matrices diagonales

Dr = diag (r) ;

Dc = diag (c) ;

issues de r et c respectivement. L’étape clé est une décomposition en valeurs singu-


lières de la matrice suivante :

M = Dr 1=2 Z rct Dc 1=2

La décomposition de M donne accès aux matrices P; et Q telles que :

M = P Qt

avec P et Q deux matrices orthogonale, et la matrice diagonale généralisée. On


peut montrer que est de mêmes dimensions que Z et contient les valeurs singulières
2
ordonnées de la plus grande à la plus petite. Les coe¢ cients diagonaux de sont
les valeurs propres de Z et correspondent à l’inertie de chacun des facteurs. Ces

6
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

facteurs sont les coordonnées des individus (ligne) ou variables (colonne) sur chacun
des axes factoriels. Les coordonnées des individus dans ce nouvel espace vectoriel
sont données par la formule suivante :

F = Dr 1=2 P

La i-ième ligne de F contient les coordonnées du i-ième individu dans l’espace fac-
toriel, tandis que les coordonnées des variables dans le même espace factoriel sont
données par :
G = Dc 1=2 Q t
:

1.4 Domaine d’application de l’ACM

L’ACM est une méthode générale qui s’applique à tout tableau dans lequel un en-
semble d’individus est décrit par des variables qualitatives. Elle n’appartient donc
pas à un champ disciplinaire particulier. L’ACM (Analyse des Correspondances Mul-
tiples) peut être utilisée chaque fois que l’on souhaite analyser des données catégo-
rielles et explorer les relations entre les di¤érentes variables pour obtenir des informa-
tions et des insights. l’ACM est une méthode d’analyse statistique largement utilisée
dans divers domaines. Voici quelques domaines d’application courants de l’ACM :

1. Sciences sociales : L’ACM est souvent utilisée dans les sciences sociales pour
analyser des données catégorielles telles que les enquêtes, les questionnaires,
les données sociodémographiques, les préférences des consommateurs, les opi-
nions politiques, etc. Elle permet de mettre en évidence les relations entre les
di¤érentes catégories de variables et d’explorer la structure des données.

2. Marketing et études de marché : L’ACM est utilisée pour analyser les pré-
férences des consommateurs, les comportements d’achat, les caractéristiques

7
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

des produits, les segments de marché, etc. Elle permet de comprendre les re-
lations entre les di¤érentes variables catégorielles et d’identi…er les pro…ls de
consommateurs ou de produits.

3. Bioinformatique et génétique : L’ACM est appliquée pour analyser les


données génomiques, les pro…ls d’expression génique, les séquences d’ADN,
etc. Elle permet de mettre en évidence les relations entre les di¤érentes ca-
ractéristiques génétiques et de détecter des motifs ou des associations dans les
données biologiques.

4. Analyse de texte et fouille de données : L’ACM est utilisée pour analyser


des données textuelles, telles que les avis des clients, les résumés d’articles,
les tweets, les commentaires, etc. Elle permet de découvrir des associations
entre les mots, les thèmes, les opinions, les sentiments, etc., et d’identi…er des
regroupements ou des similarités entre les documents.

5. Eudes environnementales : L’ACM est appliquée pour analyser des don-


nées environnementales catégorielles, telles que la présence d’espèces, les types
de sol, les variables météorologiques, etc. Elle permet d’explorer les relations
entre les variables environnementales et d’identi…er des patterns ou des regrou-
pements dans les données.

1.5 Les nuages de points en ACM

Comme toute analyse factorielle, l’ACM peut s’interpréter géométriquement à partir


d’un nuage dont les points représentent les lignes (ou les colonnes) du tableau analysé.

8
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

1.5.1 Étude des individus

Un individu est représenté par l’ensemble de ses réponses, aussi appelé pro…l de ré-
ponse. L’étude porte sur la variabilité de ces pro…ls de réponse. Comme dans toute
analyse factorielle, cette variabilité est décomposée selon une suite de S variables
synthétiques (notées fFs ; s = 1; :::; sg ; ces Fs sont retranscrites en tant que colonnes
d’une matrice F ). Ces variables synthétiques sont quantitatives et permettent des
représentations graphiques et l’utilisation de méthodes d’analyse adaptées aux va-
riables quantitatives. Seules les premières colonnes de F sont retenues en général,
celles-ci correspondant aux dimensions de l’espace factoriel qui regroupent le plus
d’inertie.

1.5.2 Étude des variables

La liaison entre deux variables qualitatives s’étudie au travers des associations entre
leurs modalités. Par exemple, un élément de la description de la liaison entre les
variables couleur des yeux et couleur des cheveux est : les personnes qui ont les
cheveux blonds ont plutôt les yeux bleus. En présence d’un ensemble de variables
qualitatives, on cherche donc les associations entre toutes les modalités. On attend de
l’ACM une représentation des modalités dans laquelle les modalités qui s’associent
entre elles sont proches. Les remarques concernant F restent valables pour G.

1.5.3 Représentation des deux nuages

De façon intuitive, et comme dans toute analyse factorielle, l’ACM consiste à projeter
chacun des deux nuages sur une suite d’axes orthogonaux d’inertie maximum (cela
correspond mathématiquement à l’étape de décomposition en valeurs singulières).
Dans RI , la quantité maximisée est la moyenne des carrés des rapports de corrélation.

9
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Pour l’axe s, il s’agit de maximiser la valeur

1X 2
(Fs ; j) :
J j

2
avec Rapport de corrélation (Fs ; j) :

Les dimensions de l’ACM peuvent donc être considérées comme des variables syn-
thétiques. Les valeurs de Fs sont les coordonnées des individus sur l’axe de rang s
dans Rk : Il en résulte que les individus qui ont beaucoup de modalités en com-
mun sont aussi proches que possible au contraire des individus qui ont peu de (voire
aucune) modalités en commun qui sont aussi séparés que possible.

La combinaison de deux de ces axes fournit une représentation plane, aussi appelée
"plan factoriel". En pratique, le premier plan factoriel su¢ t pour avoir une repré-
sentation graphique simple.

1.5.4 Règle d’interprétation

En ACM, la représentation des individus et celle des modalités sont superposables.


Ceci est permis par les relations de transition, présentes dans toute analyse factorielle
mais qui s’expriment de façon particulièrement simple en ACM.

Pour un axe donné, a un coe¢ cient près, un individu est au barycentre des modalités
qu’il possède et une modalité est au barycentre des individus qui la possèdent.

Ces relations sont aussi connues sous le nom de propriétés barycentriques.

10
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

1.6 Pratique de l’ACM

1.6.1 Codage des données (le tableau disjonctif complet)

Un tableau disjonctif complet est une matrice binaire qui représente les données
catégorielles, où chaque ligne représente un individu et chaque colonne représente
une variable catégorielle, indiquant la présence ou l’absence de chaque catégorie
pour chaque individu.

1.6.2 Analyse du nuage des individus

Le tableau disjonctif complet (TDC) est pré-traité avant d’être analysé en ACM.

11
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Le tableau disjoinctif complet est :

– centré : soustraction de la moyenne

nk
Pk =
n

– "réduit" : division par la fréquence Pk :

Nuage des n individus de Rk :

Tableau disjonctif complet centré réduit

Fig. 1.1 –Nuage des n individus de Rk

Distance entre deux individus :

La proximité entre deux individus se mesure avec une distance Euclidienne pondérée.

12
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Fig. 1.2 –Distance entre deux individus

X
K
Pk
2 0
d (i; i ) = (Zik Zi0 k )2
k=1
P
XK
Pk Yik Yi0 k
2
=
k=1
P Pk Pk

1 X 1
K
= (Yik Yi0 k )2
P k=1 Pk

avec

nk
Pk =
n
Yik
Zk =
Pk

où pour rappel :
8
>
< Yik = 1 si l’individu i possède la modalité k
>
: Yik = 0 sinon

13
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Spéci…cité de cette distance : prise compte de la rareté des modalités.

1 X 1
K
2 0
d (i; i ) = (Yik Yi0 k )2
P k=1 Pk

– 2 individus prennent les mêmes modalités : distance = 0,


– 2 individus ont en commun beaucoup de modalités : distance petite,
– 2 individus sont di¤érent sur un modalité rare (peu fréquente) : plus de poids à
– cette modalité.

Ce qui implique que individus sont di¤érents si ils n’ont pas les mêmes modalités,
avec plus de d’importance accordée aux di¤érences sur les modalités rares.

Ajustement du nuage des individus :

L’ACM vise à trouver le sous-espace qui fournit la meilleure représentation des

individus.

Fig. 1.3 –Ajustement du nuage des individus

– Axes de projection qui conservent au mieux les distances.


– Meilleure représentation de la dispersion (variabilité) des données.

14
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

L’inertie des individus en ACM est :

Xn
1 2
I (Z) = d (i; o)
n
i=1 | {z }
inertie de i
!
X
n
1 XK
Yik 1
=
i=1
np k=1
Pk n
K
= 1
P

car

X
K
Pk
2
d (i; o) = (Zik )2
k=1
P
XK
Pk Yik
2
= 1
k=1
P Pk

1 X Yik
K
= 1
P k=1 Pk

)En ACM l’inertie dépend du nombre moyen de modalité par variable.

L’inertie du nuage des individus en ACM se réecrit :


XK
1
I (Z) = (1 Pk )
P {z }
k=1 |
contribution de k

)Les modalités rares contribuent plus à l’inertie.



p
X 1
I (Z) = (Kj 1)
P {z
j=1 | }
contribution de j

)Les variables avec beaucoup de modalités contribuent plus à l’inertie.

15
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Interprétation globale des axes de projection des individus en ACM :

En ACM l’axe s est orthogonal à tout axe t(t < s) et est le plus lié aux variables
2
qualitatives au sens du :

p
X
2
F:s = arg max (F; X:j )
F 2Rn
j=1

) F:s est une nouvelle variable synthétique quantitative résumant au mieux les
variables qualitatives initiales.

1.6.3 Analyse du nuage des modalités

Nuage de K modalités de Rn :

Fig. 1.4 –Nuage de K modalités de Rn

16
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Fig. 1.5 –Distance entre deux modalités

Distance entre deux modalités :

X
n
d2 (k; k 0 ) = (Zik Zik0 )2
i=1
X
n
Yik Yik0
2
=
i=1
Pk Pk 0
pk + pk0 2pk pk0
=
pk pk 0

où pour rappel :
8
>
< Yik = 1 si l’individu i possède la modalité k
>
: Yik = 0 sinon.

Ajustement du nuage des modalités :

L’ACM vise à trouver le sous-espace qui fournit la meilleure représentation des

modalités.

– Axes de projection qui conservent au mieux les distances


– Meilleure représentation de la dispersion (variabilité) des points.

17
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Fig. 1.6 –Ajustement du nuage des modalités

1.6.4 Interprétation des résultats

Qualité de la réduction de dimension en ACM.

– La valeur propre s (l’inertie de l’axe s ) est la moyenne des rapports de corrélation


entre la variable synthétique F:s et les variables qualitatives initiales :

p
1X 2
s = (F; X:j )
p j=1

) s 2 [0; 1] :
– L’inertie totale est :
K P
I (Z) = 1 + ::: + r = ;
P


r = min (n 1; k p)

est le nombre de valeurs propres non nulles.


) p1 = valeur propre moyenne (inertie moyenne) par axe (si n < k p) :
)Interpréter les dimensions d’inertie supérieures à p1 :
– Individus vivent dans Rk p
) pourcentages d’inertie faibles.

18
Chapitre 1. Notions de base sur l’Analyse des Correspondances Multiples

Contributions et qualité de représentation en ACM.

– Contribution et cos2 pour les individus et les modalités

) Les modalités extrêmes ne contribuent pas nécessairement beaucoup (cela dé-


pend de leur fréquence).

) Les cos2 sont petits...ce qui est attendu car beaucoup de dimensions.

– Constribution absolue d’une variable :

kj
X 2
(F:s ; X:j )
Ctr (j) = CT R (k) =
k=1
p

– Constribution relative d’une variable :

2
(F:s ; X:j )
Ctr (j) =
p s

19
Chapitre 2

Outils Mathématiques et
Informatiques pour l’exécution de
l’Analyse des Correspondances
Multiples

Dans les parties qui suivent, nous présenterons la partie application de l’ACM. Tous
nos codes et visualisations sont exécutés sur le logiciel RStudio, pour cette raison
nous e¤orçons de présenter quelques bibliothèques indispensables pour la réalisation
d’l’ACM. Ainsi que la méthode svd en appliquant nos codes sur un cas pratique

2.1 Bibliothèques indispensables dans RStudio

2.1.1 FactoMinR

La bibliothèque FactoMinR est une bibliothèque R spécialisée dans l’analyse facto-


rielle, une technique statistique utilisée pour explorer et réduire la dimensionnalité

20
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

des données. FactoMinR o¤re une large gamme de méthodes pour e¤ectuer des ana-
lyses factorielles, telles que l’analyse en composantes principales (PCA), l’analyse
des correspondances multiples (MCA) et d’autres variantes.

Installation de FactoMinR

. Avant de commencer, assurez-vous d’installer FactoMinR en exécutant la com-


mande install:packages("F actoM inR") dans R.

Chargement de FactoMinR

. Pour commencer à utiliser FactoMinR, vous devez charger la bibliothèque en


utilisant la commande library(F actoM inR).

Analyse de MCA FactoMinR

. L’analyse des correspondances multiples (MCA) est une méthode d’analyse


factorielle adaptée aux variables catégorielles.

. Pour e¤ectuer une MCA avec FactoMinR, utilisez la fonction MCA() en spéci-
…ant la matrice de données et les options nécessaires, telles que la pondération
des variables ou l’inclusion des individus supplémentaires.

. La fonction summary() peut également être utilisée pour a¢ cher les résultats
de la MCA, y compris les contributions des variables et des individus, ainsi que
les graphiques.

2.1.2 FactoExtra

La bibliothèque FactoExtra est une bibliothèque R spécialisée dans l’analyse facto-


rielle, une technique statistique utilisée pour explorer et réduire la dimensionnalité

21
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

des données. FactoExtra fournit des outils avancés pour e¤ectuer des analyses fac-
torielles, tels que l’analyse en composantes principales (PCA), l’analyse des corres-
pondances multiples (MCA) et d’autres méthodes.

Installation de FactoExtra

. Avant de commencer, assurez-vous d’installer FactoExtra en exécutant la com-


mande install:packages("F actoExtra") dans R.

Chargement de FactoExtra

. Pour commencer à utiliser FactoExtra, vous devez charger la bibliothèque en


utilisant la commande library(F actoExtra).

Analyse de MCA avec FactoExtra

. L’analyse des correspondances multiples (M CA) est une méthode d’analyse


factorielle adaptée aux variables catégorielles.

. Pour e¤ectuer une M CA avec FactoExtra, utilisez la fonction M CA() en spéci-


…ant la matrice de données et les options nécessaires, telles que la pondération
des variables ou la méthode de rotation des axes.

. FactoExtra propose plusieurs fonctions de visualisation pour explorer les ré-


sultats de la M CA, comme f viz_mca_ind() pour visualiser les individus,
f viz_mca_var() pour visualiser les variables et f viz_cos2() pour visualiser
les carrés des cosinus.

2.1.3 Ggfortify

La bibliothèque ggfortify est une bibliothèque R qui étend la puissance de ggplot2


pour la visualisation de modèles statistiques. Elle o¤re des fonctionnalités permettant

22
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

de visualiser facilement les résultats de divers modèles, tels que les modèles de régres-
sion linéaire, les modèles de régression logistique, les modèles de séries temporelles
et bien d’autres encore.

Installation de Ggfortify

Avant de commencer, assurez-vous d’installer ggfortify en exécutant la commande


install:packages("ggf ortif y") dans R.

Chargement de Ggfortify

Pour commencer à utiliser ggfortify, vous devez charger la bibliothèque en utilisant


la commande library(ggf ortif y).

Analyse de MCA avec Ggfortify

La bibliothèque ggfortify n’est pas spéci…quement conçue pour l’Analyse des Corres-
pondances Multiples (ACM ). Cependant, elle peut être utilisée pour visualiser les
résultats de l’ACM en combinant ggfortify avec d’autres bibliothèques spéci…ques à
l’ACM , telles que FactoMineR.

Voici comment vous pouvez utiliser ggfortify pour visualiser les résultats de l’ACM :

E¤ectuez l’ACM avec FactoMineR

. Utilisez la bibliothèque F actoM ineR pour e¤ectuer l’ACM sur vos données
catégorielles.

. La fonctionM CA() de F actoM ineR peut être utilisée pour e¤ectuer l’ACM ,
en spéci…ant la matrice de données et les options appropriées.

Convertissez les résultats de l’ACM en objet ggplot2

23
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. Utilisez la fonction autoplot() de ggfortify pour convertir les résultats de l’ACM


en un objet ggplot2 pouvant être utilisé pour la visualisation.

. Par exemple, vous pouvez utiliser autoplot(acm_object; data = your_data)


pour convertir les résultats de l’ACM en un objet ggplot2, en spéci…ant vos
données originales.

Personnalisez la visualisation avec ggplot2

. Une fois que vous avez converti les résultats de l’ACM en un objet ggplot2, vous
pouvez utiliser les fonctionnalités de ggplot2 pour personnaliser la visualisation
selon vos besoins.

. Par exemple, vous pouvez ajouter des titres, modi…er les couleurs, ajuster les
échelles, ajouter des étiquettes d’axes, etc.

Explorez les graphiques spéci…ques à l’ACM

. Utilisez les fonctionnalités spéci…ques à l’ACM de FactoMineR pour ajouter


des éléments supplémentaires à la visualisation.

. Par exemple, vous pouvez utiliser les fonctions de FactoMineR pour ajouter
les contributions des variables et des individus, visualiser les liens entre les
catégories, ou a¢ cher les cercles de corrélation.

2.1.4 Corrplot

La bibliothèque corrplot est une bibliothèque R qui permet de visualiser facilement les
matrices de corrélation. Elle o¤re des fonctionnalités pour représenter graphiquement
les corrélations entre les variables d’un ensemble de données.

24
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Installation de Corrplot

Avant de commencer, assurez-vous d’installer corrplot en exécutant la commande


install:packages("corrplot") dans R.

Chargement de Corrplot

Pour commencer à utiliser corrplot, vous devez charger la bibliothèque en utilisant


la commande library(corrplot).

Analyse de MCA avec Corrplot

La bibliothèque corrplot n’est pas spéci…quement conçue pour être utilisée avec
l’Analyse des Correspondances Multiples (ACM). Cependant, elle peut être utili-
sée pour visualiser les matrices de corrélation qui peuvent être obtenues à partir des
résultats de l’ACM.

Voici comment vous pouvez utiliser corrplot avec l’ACM :

Obtenez la matrice de corrélation à partir des résultats de l’ACM

. Les résultats de l’ACM obtenus à partir de FactoMineR comprennent souvent


une matrice de corrélation, qui représente les corrélations entre les catégories
des variables analysées.

. Utilisez la fonction correlation() de FactoMineR pour extraire la matrice de


corrélation à partir des résultats de l’ACM. Par exemple, cor_matrix < correlation(acm_o

Utilisez corrplot pour visualiser la matrice de corrélation

. Avec la matrice de corrélation obtenue, vous pouvez utiliser corrplot pour vi-
sualiser les corrélations entre les catégories des variables.

25
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. Utilisez la fonction corrplot() de corrplot en spéci…ant la matrice de corrélation.


Par exemple, corrplot(cor_matrix; method = "color").

. corrplot propose di¤érentes méthodes de visualisation, telles que les graphiques


de corrélation circulaire, les graphiques de corrélation de type heatmap et les
graphiques de corrélation de type cluster. Choisissez la méthode qui convient
le mieux à votre analyse.

Personnalisez la visualisation avec corrplot

. Utilisez les options disponibles dans corrplot pour personnaliser la visualisation


de la matrice de corrélation. Par exemple, vous pouvez modi…er les couleurs,
les étiquettes d’axe, les seuils de corrélation, etc.

2.1.5 Scatterplot3d

La bibliothèque scatterplot3d est une bibliothèque R qui permet de créer des gra-
phiques de dispersion en trois dimensions. Elle o¤re des fonctionnalités pour visuali-
ser des données tridimensionnelles et explorer les relations entre plusieurs variables.

Installation de Scatterplot3d

Avant de commencer, assurez-vous d’installer scatterplot3d en exécutant la com-


mande install:packages("scatterplot3d") dans R.

Chargement de Scatterplot3d

Pour commencer à utiliser scatterplot3d, vous devez charger la bibliothèque en uti-


lisant la commande library(scatterplot3d).

26
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Analyse de MCA avec Scatterplot3d

La bibliothèque scatterplot3d n’est pas spéci…quement conçue pour être utilisée avec
l’Analyse des Correspondances Multiples (ACM). Cependant, elle peut être utilisée
pour visualiser les résultats de l’ACM en a¢ chant des graphiques de dispersion en
trois dimensions.

Voici comment vous pouvez utiliser scatterplot3d avec l’ACM

E¤ectuez l’ACM avec FactoMineR

. Utilisez la bibliothèque FactoMineR pour e¤ectuer l’ACM sur vos données


catégorielles.

. Utilisez la fonction M CA() de FactoMineR pour e¤ectuer l’ACM, en spéci…ant


la matrice de données et les options appropriées.

Obtenez les coordonnées des individus à partir des résultats de l’ACM

. Les résultats de l’ACM obtenus à partir de FactoMineR contiennent les coor-


données des individus dans l’espace factoriel.

. Utilisez la fonction get_coord() de FactoMineR pour extraire les coordon-


nées des individus. Par exemple, coord < get_coord(acm_object; choice =
"ind").

Créez un graphique de dispersion en 3D avec scatterplot3d

. Utilisez la fonction scatterplot3d() de scatterplot3d en spéci…ant les coordon-


nées des individus dans les trois dimensions. Par exemple,

scatterplot3d(coord[; 1]; coord[; 2]; coord[; 3]).

. Vous pouvez également personnaliser le graphique en utilisant les options dis-


ponibles dans scatterplot3d, telles que les couleurs, les étiquettes des axes, les
titres, etc.

27
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Ajoutez des informations supplémentaires au graphique

. scatterplot3d permet d’ajouter des informations supplémentaires au graphique


en 3D.

. Par exemple, vous pouvez ajouter des étiquettes aux individus en utilisant la
fonction text() et spéci…er les options appropriées. Vous pouvez également ajou-
ter des ellipses de con…ance en utilisant la fonction ellipse() pour représenter
les groupes d’individus.

Exploration interactive avec le graphique en 3D

. scatterplot3d o¤re une fonctionnalité d’exploration interactive qui permet de


faire pivoter le graphique en 3D pour visualiser les individus sous di¤érents
angles.

. Utilisez la souris pour faire pivoter le graphique en 3D et explorer les relations


entre les individus et les variables.

2.1.6 Plot3D

La bibliothèque plot3D est une bibliothèque R qui o¤re des fonctionnalités pour la
visualisation de données en trois dimensions. Elle permet de créer des graphiques en
3D interactifs, o¤rant une perspective plus complète sur les données et permettant
d’explorer les relations entre plusieurs variables.

Installation de Plot3D

Avant de commencer, assurez-vous d’installer plot3D en exécutant la commande


install:packages("plot3D") dans R.

28
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Chargement de Plot3D

Pour commencer à utiliser plot3D, vous devez charger la bibliothèque en utilisant la


commande library(plot3D).

Analyse de MCA avec Plot3D

La bibliothèque plot3D n’est pas spéci…quement conçue pour être utilisée avec l’Ana-
lyse des Correspondances Multiples (ACM). Cependant, elle peut être utilisée pour
visualiser les résultats de l’ACM en a¢ chant des graphiques en 3D pour les coordon-
nées des individus ou les variables.

E¤ectuez l’ACM avec FactoMineR

. Utilisez la bibliothèque FactoMineR pour e¤ectuer l’ACM sur vos données


catégorielles.

. Utilisez la fonction M CA() de FactoMineR pour e¤ectuer l’ACM, en spéci…ant


la matrice de données et les options appropriées.

Obtenez les coordonnées des individus ou des variables à partir des résul-
tats de l’ACM

. Les résultats de l’ACM obtenus à partir de FactoMineR contiennent les coor-


données des individus ou des variables dans l’espace factoriel.

. Utilisez la fonction get_coord() de FactoMineR pour extraire les coordonnées


des individus ou des variables. Par exemple, coord_individus < get_coord(acm_object; cho
"ind") pour les coordonnées des individus ou coord_variables < get_coord(acm_object; ch
"var") pour les coordonnées des variables.

Créez un graphique en 3D avec plot3D

29
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. Utilisez les fonctions disponibles dans plot3D pour créer des graphiques en 3D
à partir des coordonnées des individus ou des variables.

. Par exemple, utilisez la fonction scatter3D() pour créer un graphique de dis-


persion en 3D des coordonnées des individus ou des variables. Spéci…ez les
coordonnées x, y et z correspondantes.

. Utilisez la fonction surface3D() pour créer une surface en 3D à partir des co-
ordonnées des individus ou des variables.

. Utilisez la fonction parametric3D() pour tracer des courbes ou des surfaces


paramétriques en 3D basées sur les coordonnées des individus ou des variables.

Personnalisez le graphique en 3D

. plot3D o¤re di¤érentes options de personnalisation pour ajuster l’apparence


du graphique en 3D.

. Par exemple, vous pouvez modi…er les couleurs, les étiquettes d’axe, les titres,
les échelles, etc.

. Consultez la documentation de plot3D pour explorer les options de personna-


lisation disponibles.

Ajoutez des informations supplémentaires au graphique en 3D

. plot3D permet d’ajouter des éléments supplémentaires à votre graphique en


3D pour une meilleure compréhension des données.

. Par exemple, vous pouvez ajouter des étiquettes aux points en utilisant la fonc-
tion text3D(), ajouter des lignes de régression en utilisant la fonction plane3D()
ou ajouter des légendes en utilisant la fonction legend3D().

Exploration interactive avec le graphique en 3D

30
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. plot3D o¤re une fonctionnalité d’exploration interactive qui permet de faire


pivoter le graphique en 3D pour visualiser les données sous di¤érents angles.

. Utilisez la souris pour faire pivoter le graphique en 3D et explorer les relations


entre les individus et les variables

2.2 Réduction de dimensionnalité

Nous allons présenter dans ce qui suit un cas pratique pour expliquer les étapes
et les détails mathématiques de l’ACM dans un aspect informatique. Pour cette
raison nous allons proposer un tableau de six individus et 3 variables catégorielles
(qualitatives) avec 9 catégories (modalités), une taille réduite nous permettra de
facilité les illustration au fur et au mesure avec les résultats théoriques

Nous allons commencer par expliquer la méthode de la décomposition en valeurs


singulière (sdv) utilisée dans l’ACM, aussi nous présenterons dans la dernière section
du chapitre l’objet ACM avec a¢ chage des résultats et projection graphiques

Le tableau suivant contient les préférences de nourriture de 6 individus en fruit,


légume et viande

Fruit Légume Viande

ind1 Pomme Haricot Cheval


ind2 Poire Haricot Cheval
ind3 Orange Carotte Mouton
ind4 Pomme Carotte Mouton
ind5 Poire Epinard Bœuf
ind6 Orange Epinard Bœuf

31
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

2.2.1 Méthode de décomposition en valeurs singulières

La méthode de la décomposition en valeurs singulières (SVD) est une technique


mathématique importante utilisée dans de nombreux domaines, tels que l’algèbre
linéaire, le traitement du signal, l’apprentissage automatique, la compression de don-
nées et bien d’autres encore. Elle permet de décomposer une matrice en plusieurs
composants, ce qui facilite l’analyse et la manipulation des données. Nous allons
explorer les principes fondamentaux de la SVD et examiner son application dans
di¤érents domaines.

Dé…nition de la décomposition en valeurs singulières

La décomposition en valeurs singulières est une factorisation matricielle d’une ma-


trice A de dimensions mxn; où m représente le nombre de lignes etn le nombre de
colonnes. La SV D permet d’exprimer cette matrice A sous la forme A = U DV t ,
où U est une matrice orthogonale de dimension mxm, D est une matrice diagonale
de dimension mxn contenant les valeurs singulières, et V t est la transposée d’une
matrice orthogonale V de dimension nxn.

Calcul des valeurs singulières

Les valeurs singulières de la matrice A sont les racines carrées des valeurs propres
de la matrice At A ou de la matrice AAt Ces valeurs sont généralement ordonnées
en ordre décroissant. Les valeurs singulières représentent l’importance relative des
di¤érentes composantes de la matrice.

Interprétation géométrique de la SVD

Géométriquement, la SV D permet de décomposer une transformation linéaire en


une série de transformations élémentaires : une rotation, une mise à l’échelle et une

32
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

autre rotation. Les matrices U et V représentent ces transformations de rotation,


tandis que la matrice D représente la mise à l’échelle.

2.2.2 Applications de la SVD en ACM

La méthode de la décomposition en valeurs singulières (SVD) est largement utilisée


dans l’analyse des correspondances multiples (ACM). Voici comment la SVD est
utilisée dans l’ACM :

Construction de la matrice de données

. Tout d’abord, les données catégorielles sont représentées sous forme de tableau
disjonctif complet où les lignes représentent les individus et les colonnes repré-
sentent les catégories des variables.

. Une matrice de données est construite à partir de ce tableau disjonctif, où les


valeurs sont généralement des , des codes binnaires. (0 si la gatégorie n’est pas
véri…ée chez l’individu et 1 si la catégories est véri…és chez l’individu)

Standardisation de la matrice de données

. La matrice de données est standardisée pour éliminer les e¤ets de taille ou


de dispersion. Cela se fait en soustrayant la moyenne de chaque colonne et en
divisant par l’écart type.

Application de la SVD à la matrice standardisée

. La SV D est appliquée à la matrice de données standardisée. Cela permet de


décomposer la matrice en trois matrices :U , et V t .

. U représente les coordonnées des individus dans un espace factoriel. Chaque


individu est représenté par un vecteur de valeurs singulières.

33
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. est une matrice diagonale contenant les valeurs singulières, qui représentent
l’importance relative des axes factoriels.

. V t représente les coordonnées des catégories de variables dans l’espace facto-


riel. Chaque catégorie de variable est représentée par un vecteur de valeurs
singulières.

Résultats pour l’ACM

. Les axes factoriels, également appelés composantes principales, sont utilisés


pour représenter graphiquement les individus et les catégories de variables dans
un espace de dimensions réduites.

. L’ACM permet d’analyser la structure des données, d’identi…er les relations


entre les variables catégorielles et de détecter des regroupements ou des asso-
ciations.

. Les distances entre les individus dans l’espace factoriel peuvent être utilisées
pour e¤ectuer des analyses de similarité ou de dissimilarité, telles que des
classi…cations ou des analyses de regroupement.

En utilisant la SV D dans l’analyse des correspondances multiples, il est possible de


réduire la dimensionnalité des données catégorielles, de visualiser les relations entre
les variables et les individus, et de détecter des patterns ou des associations signi-
…catives. Cela facilite l’interprétation et la compréhension des données catégorielles
complexes

2.2.3 Exécution de SVD

Dans cette partie, nous allons exécuter le code R de SVD sur le cas des 6 individus
mentionné en haut

34
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Algorithme - svd

Cet algorithme e¤ectue une codi…cation des variables catégorielles du tableau cité
plus haut et utilise la décomposition en valeurs singulières (SVD) pour analyser les
relations entre les catégories. Ensuite, il présente les résultats et trace un diagramme
de variance expliquée pour illustrer l’importance relative des caractéristiques prin-
cipales. L’algorithme implémenté dans le code fourni peut être divisé en plusieurs
étapes :

1. Dé…nition des vecteurs : Les vecteurs Fruit, Légume, et Viande sont créés
pour désigner les catégories correspondantes.

2. Codage indicateur binaire des variables : La variable categories est créée


en fusionnant les valeurs uniques des vecteurs Fruit, Légumeet Viande. En-
suite, une table de disjonctive complet appelée disj_tableest est construite En
utilisant une boucle for, nous parcourons chaque catégorie et nous utilisons une
expression logique ( Fruit == categories[i] j Légume == categories[i] j Viande
== categories[i]) pour attribuer la valeur 1 à la cellule correspondante si la
catégorie est présente pour un individu, et 0 sinon. Le résultat est stocké dans
la table disjonctive disj_table.

3. En…n, nous attribuons les noms de colonnes à la table disjonctive en utilisant


colnames(disj_table) <- categories, ce qui permet d’identi…er chaque colonne
avec la catégorie correspondante.

4. Décomposition en valeurs singulières (SVD) : La table disj_tableest


normalisée à l’aide de la fonction scale(), puis la décomposition en valeurs
singulières est e¤ectuée en utilisant la fonction svd(). Les résultats de la dé-
composition sont stockés dans les variables X_scaled (table standardisée),
svd_result(résultat de la décomposition), U(matrice U des vecteurs singuliers),
V(matrice V des vecteurs singuliers), sigma(vecteur des valeurs singulières) et

35
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

cordonnées_individus(matrice U des vecteurs singuliers, qui est ensuite redon-


dant).

5. Calcul de la variance expliquée : Les pourcentages de variance expliqués


sont calculés en utilisant les valeurs singulières ( sigma) et sont stockés dans la
variable variance_expliquee.

6. A¢ chage des résultats : Les di¤érentes matrices et vecteurs ( disj_table, U,


V, sigma, cordonnées_individus et variance_expliquee) sont a¢ chés à l’aide
de la fonction print().

7. Tracé du diagramme de variance expliqué : Un diagramme en barres de


la variance expliquée est tracé à l’aide de la fonction barplot(), en utilisant les
pourcentages de variance expliqués ( variance_expliquee). L’axe x représente
les caractéristiques principales, l’axe y représente le pourcentage de variance
expliquée, et le titre et les étiquettes des axes sont spéci…és.

Code R - svd

1. # Vecteurs

. Fruit = c("Pomme", "Poire", "Orange", "Pomme", "Poire", "Orange")

. Légume = c("Haricot", "Haricot", "Carotte", "Carotte", "Epinard", "Epi-


nard")

. Viande = c("Cheval", "Cheval", "Mouton", "Mouton", "Bœuf", "Bœuf")

2. # Codage

. categories <- unique(c(Fruit, Légume, Viande))

. num_categories <- length(categories)

. disj_table <- matrix(0, nrow = length(Fruit), ncol = num_categories)

. for (i in 1 :num_categories) {

36
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. disj_table[, i] <- [Link](Fruit == categories[i] j Légume == categories[i]


j Viande == categories[i])

. }

. colnames(disj_table) <- categories

3. # svd sur disj_table

. X_scaled <- scale(disj_table)

. svd_result <- svd(X_scaled)

. U <- svd_result$u

. V <- svd_result$v

. sigma <- svd_result$d

. cordonnées_individus <- svd_result$u

. variance_expliquee <- (svd_result$d^2 / sum(svd_result$d^2)) * 100

4. # A¢ chge des résultats

. print(disj_table)

. class(disj_table)

. dim(disj_table)

. print(U)

. print(V)

. print(sigma)

. print(cordonnées_individus)

. print(variance_expliquee)

5. # Tracer le diagramme de variance expliquée

. barplot(variance_expliquee, col="pink",

xlab = "Composantes principales",

37
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

ylab = "Pourcentage de variance expliquée",

main = "Diagramme de Variance Expliquée")

Sorties - svd

1. Tableau disjonctif complet

2. Matrice U , V et

38
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

3. Cordonnées des individus dans les composantes principales

4. Pourcentages de variance exploquée

5. Diagrammes de variance expliqueé

Fig. 2.1 –Diagrammes de variance expliqueé

6. Commentaire : Nous remarquons que le tableau des données d’origine avait


trois colonnes de variable catégorielles avec neuf catégories, se sont transfor-
mées en tableau disjonctif de neuf colonnes contenant les neuf catégories comme

39
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

variables avec des valeurs binaires (0,1). L’utilisation de la décomposition en


valeur singulier nous a permet d’avoir uniquement six coordonnées pour chaque
individus au lieu de neuf. les composantes principales qui contiennent plus d’in-
formation sur les individus sont les deux premières comme mentionné sur le
diagramme 39; 13% et 39; 13%. (L’égalité ici n’est pas signi…cative mais au ha-
sard), donc au total ces deux compsantes contient 78:26% de l’information sur
les individus. Comme on voit que les pourcentages des deux dernières compo-
santes sont presque nulle avec 1:236757e 30 et 2:514313e 31 ce qui explique
qu’elles sont presque négligeables en terme de contenance d’informations sur
les individus

2.3 L’objet MCA()

Le package FactiminR en R fournit des outils puissants pour e¤ectuer une ACM et
explorer les relations entre les variables catégorielles. Avant de commencer, spéci…ez-
vous d’avoir installé le package FactominR comme on a bien précisé dans la section
précedente

2.3.1 Déroulement de MCA()

Déscription

E¤ectue une analyse des correspondances multiples (MCA) avec des individus supplé-
mentaires, des variables quantitatives supplémentaires et des variables catégorielles
supplémentaires. E¤ectue également une analyse spéci…que des correspondances mul-
tiples avec des catégories supplémentaires et des variables catégorielles supplémen-
taires. Les valeurs manquantes sont traitées comme un niveau supplémentaire, les
catégories qui sont rares peuvent être ventilées

40
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Usage

MCA(X, ncp = 5, [Link] = NULL, [Link] = NULL,

[Link] = NULL, excl=NULL, graph = TRUE,

[Link] = 0, axes = c(1,2), row.w = NULL,

method="Indicator", [Link]="NA", [Link]=NULL)

Arguments

. X : un data frame avec n lignes (individus) et p colonnes (variables catégo-


rielles)

. ncp : nombre de dimensions conservées dans les résultats (par défaut 5)

. [Link] : un vecteur indiquant les indices des individus supplémentaires

. [Link] : un vecteur indiquant les indices des variables supplémentaires


quantitatives

. [Link] : un vecteur indiquant les indices des variables supplémentaires ca-


tégorielles

. excl : vecteur indiquant les index des catégories "junk" (la valeur par défaut
est NULL), il peut s’agir d’un vecteur des noms des catégories ou d’un vecteur
des index dans la table de données disjonctives

. graph : booléen, si TRUE un graphique est a¢ ché

. [Link] : une proportion correspondant au niveau sous lequel la catégorie


est ventilée ; par défaut, 0 et aucune ventilation n’est e¤ectuée

. axes : un vecteur de longueur 2 spéci…ant les composantes à tracer

. row.w : un poids de ligne facultatif (par défaut, un vecteur de 1 pour des poids
de ligne uniformes) ; les poids sont donnés uniquement pour les individus actifs

41
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. method : une chaîne correspondant au nom de la méthode utilisée : "Indica-


tor" (par défaut) est le CA sur la matrice Indicator, "Burt" est le CA sur la
table Burt. Pour Burt et l’Indicateur, le graphe des individus et le graphe des
catégories sont donnés

. [Link] : une chaîne correspondant au nom de la méthode utilisée s’il


manque des valeurs ; les méthodes disponibles sont "NA" ou "Average" (par
défaut, "NA")

. [Link] : [Link] facultatif correspondant au tableau disjonctif utilisé pour


l’analyse ; il correspond à un tableau disjonctif obtenu à partir de la méthode
d’imputation (voir package missMDA).

Valeurs

Renvoie une liste comprenant :

. eig : une matrice contenant toutes les valeurs propres, le pourcentage de va-
riance et le pourcentage de variance cumulé

. var : une liste de matrices contenant tous les résultats pour les variables actives
(coordonnées, carré cosinus, contributions, [Link], carré rapport de corrélation)

. ind : une liste de matrices contenant tous les résultats pour les individus actifs
(coordonnées, cosinus carré, contributions)

. [Link] : une liste de matrices contenant tous les résultats pour les individus
supplémentaires (coordonnées, cosinus carré)

. [Link] : une matrice contenant les coordonnées des variables quantitatives


supplémentaires (la corrélation entre une variable et un axe est égale à la
coordonnée de la variable sur l’axe)

. [Link] : une liste de matrices avec tous les résultats pour les variables caté-
gorielles supplémentaires (coordonnées de chaque modalité de chaque variable,

42
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

cosinus carré et [Link] qui est un critère avec une distribution normale, rapport
de corrélation carré)

. call : une liste avec quelques statistiques

Remarque :

MCA() renvoie les graphiques des individus et des catégories et le graphique avec
les variables. Les tracés peuvent être améliorés en utilisant l’argument autolab, en
modi…ant la taille des étiquettes ou en sélectionnant certains éléments grâce à la
[Link] fonction.

2.3.2 Application de MCA()

Nous allons reprendre le cas de six individus mentionné plus haut pour appliquer
l’objet MCA() dans le but de bien expliquer le rôle du ACM dans la réduction de la
dimensionnalité et a¢ cher les projections graphiques pour comprendre les relations
entre les individus et les catégories. La fonction MCA() e¤ectue une Analyse des
Correspondances Multiples sur les variables catégorielles des individus. Elle renvoie
un objet mca contenant les résultats de l’analyse. Vous pouvez accéder à di¤érentes
propriétés de l’objet MCA() pour obtenir des informations sur les résultats de l’ana-
lyse.

Algorithme - mca

1. Création d’un dataframe nommé "data" avec trois colonnes : "Fruit", "Lé-
gume" et "Viande". Les valeurs des colonnes sont désignées à l’aide de la fonc-
tion [Link]().

2. A¢ chage du dataframe dans une fenêtre de visualisation à l’aide de la fonction


View().

3. Installation des packages nécessaires : "FactoMineR", "factoextra", "ggfortify"

43
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

et "corrplot". Cela permet d’ajouter des fonctionnalités supplémentaires à R


en installant ces packages via la fonction [Link]().

4. Chargement des bibliothèques installées à l’aide de la fonction library() : "Fac-


toMineR", "factoextra", "ggfortify" et "corrplot".

5. Application de l’analyse des correspondances multiples (MCA) sur le dataframe


"data" à l’aide de la fonction MCA()de la bibliothèque "FactoMineR". Le
résultat est stocké dans l’objet "mca".

Code - mca

1. # Créeation de dataframe

. data <- [Link](

Fruit = c("Pomme", "Poire", "Orange", "Pomme", "Poire", "Orange"),

Légume = c("Haricot", "Haricot", "Carotte", "Carotte", "Epinard", "Epi-


nard"),

Viande = c("Cheval", "Cheval", "Mouton", "Mouton", "Bœuf", "Bœuf"))

. View(data)

2. # Instalation de packages

. [Link]("FactoMineR")

. [Link]("factoextra")

44
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. [Link]("ggfortify")

. [Link]("corrplot")

3. # Chargement de bibliothèques

. library("FactoMineR")

. library(factoextra)

. library("ggfortify")

. library(corrplot)

4. # Application de mca

. mca <- MCA(data)

Sorties - mca

Les trois graphiques suivants est une représentation visuelle qui a¢ che les variables
catégorielles et les observations d’un jeu de données dans un espace bidimensionnel,
permettant d ’explorer leurs relations.

1. Carte factorielle des variables categoriélles

Fig. 2.2 –Carte factorielle des variables categoriélles

2. Carte factorielle des individus

45
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Fig. 2.3 –Carte factorielle des individus

3. Représenation des variables

Fig. 2.4 –Représenation des variables

2.3.3 A¢ chage de MCA()

Dans cette partie nous a¢ cherons les valeurs numériques relatives à l’exécution de
MCA() ensuite les visualisations graphiques relatives à ces derniers avec une expli-
cation de chaque visualisation

46
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Algorithme - a¢ chage -mca

1. A¢ chage des valeurs propres de l’analyse des correspondances multiples (MCA)


à l’aide de mca$eig. Les valeurs propres donnent une idée de la variance expli-
quée par chaque dimension principale.

2. Visualisation des valeurs propres sous forme de diagramme à barres à l’aide


de la fonction barplot(). Les barres représentent les pourcentages de variances
expliquées par chaque dimension principale.

3. Visualisation du graphique du screeplot avec les pourcentages de variance expli-


qués pour chaque dimension principale à l’aide de la fonction fviz_screeplot().

4. A¢ chage des carrés des corrélations entre les variables et les dimensions prin-
cipales à l’aide de mca$var$eta2.

5. Visualisation des variables dans le plan factoriel à l’aide de la fonction fviz_mca_var().


Les variables sont représentées en fonction de leur corrélation avec les dimen-
sions principales.

6. A¢ chage des coordonnées des variables dans le plan factoriel à l’aide de mca$var$coord.

7. Visualisation des variables dans le plan factoriel en utilisant les carrés des co-
sinus des variables ( cos2) à l’aide de la fonction fviz_mca_var(). Les couleurs
des points représentent les carrés des cosinus des variables.

8. A¢ chage des coordonnées des individus dans le plan factoriel à l’aide de mca$ind$coord.

9. Visualisation des individus et des variables dans le plan factoriel en utilisant la


fonction fviz_mca_biplot(). Les ‡èches représentent les variables et les points
représentent les individus.

10. A¢ chage des contributions des variables à chaque dimension principale à l’aide
de mca$var$contrib.

11. Visualisation des contributions des variables à la première dimension principale


à l’aide de fviz_contrib().

47
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

12. Visualisation des contributions des variables à la deuxième dimension principale


à l’aide de fviz_contrib().

13. A¢ chage des carrés des cosinus des variables à l’aide de mca$var$cos2.

14. Visualisation des carrés des cosinus des variables à l’aide de la fonction corr-
plot().

15. Calcul des sommes des carrés des cosinus des variables pour les deux premières
dimensions principales à l’aide de rowSums(cos2_var).

16. Visualisation des carrés des cosinus des variables pour les deux premières di-
mensions principales à l’aide de fviz_cos2().

17. Visualisation avec ellipses : Une visualisation avec des ellipses, où les individus
sont colorés selon un groupe et des ellipses de concentration sont ajoutés pour
visualiser la dispersion des groupes.

Code R - a¢ chage - mca

1. # visualisation 1

. mca$eig

. # Avec poucentages

. [Link] <- mca$eig

barplot([Link][, 2],

[Link] = 1 :nrow([Link]),

main = "Variances Explained by Dimensions (%)",

xlab = "Principal Dimensions",

ylab = "Percentage of variances",

col ="steelblue")

. # Avec pourcentages

48
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. fviz_screeplot(mca, addlabels = TRUE, ylim = c(0, 45))

2. # Visualisation 2

. mca$var$eta2

. var <- get_mca_var(mca)

. fviz_mca_var (mca, choice = "[Link]",

repel = TRUE,

ggtheme = theme_minimal ())

3. # Visualisation 3

. mca$var$coord

. fviz_mca_var(mca, [Link] = "cos2",

[Link] = c("#00AFBB", "#E7B800", "#FC4E07"),

repel = TRUE,

ggtheme = theme_minimal())

4. # Visualisation 4

. mca$ind$coord

. fviz_mca_biplot (mca, repel = TRUE,

ggtheme = theme_minimal())

5. # Visualisation 5

. mca$var$contrib

. # Dim 1

. fviz_contrib(mca, choice = "var", axes = 1, top = 15)

. # Dim 2

. fviz_contrib(mca, choice = "var", axes = 2, top = 15)

6. # Visualisation 6

49
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

. mca$var$cos2

. corrplot(var$cos2, [Link]=FALSE)

7. # Visualisation 7

. cos2_var <- mca$var$cos2[, 1 :2]

. rowSums(cos2_var)

. fviz_cos2(mca, choice = "var", axes = 1 :2)

Sorties numériques - a¢ chage -mca

1. Valeurs propres

2. Carrés des corrélations entre les variables et les dimensions princi-


pales

50
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

3. Coordonnées des variables dans le plan factoriel

4. Coordonnées des individus dans le plan factoriel

5. Contributions des variables à chaque dimension principale

51
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

6. Carrés des cosinus des variables

7. Sommes des carrés des cosinus des variables

Sorties graphiques - a¢ chage - mca

1. Diagramme en barres : Un diagramme en barres qui a¢ che les variances


expliquées par les dimensions, où chaque barre représente une dimension prin-
cipale et la hauteur de la barre représente le pourcentage de variance associé à
cette dimension.

Fig. 2.5 –Diagramme en barres des variances expliquées par les dimensions

52
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Screeplot : est un graphique utilisé dans l’analyse en composantes principales


(PCA) ou dans l’analyse en composantes principales multiples (MCA) pour
visualiser l’éboulis des valeurs propres ou des pourcentages de variance expli-
qués par chaque composante. Les éléments des caractéristiques sont ajoutés au
graphique pour une meilleure lisibilité.

Fig. 2.6 –Pourcentage de la variance expliqué dans les composantes principales

2. Graphique des variables MCA : Il permet de visualiser les variables et


leur relation avec les axes MCA. Chaque variable est représentée par un point
dans un espace biplot. La position du point indique la corrélation de la variable
avec les axes MCA. Les variables qui sont proches des axes MCA ont une forte
corrélation avec ces axes, tandis que celles qui sont éloignées ont une corrélation
plus faible..Le graphique "Variables - MCA" est souvent utilisé pour identi…er
les variables qui contribuent le plus à chaque axe MCA. Les variables qui sont
proches des axes et qui ont une corrélation élevée sont susceptibles comme
étant les plus in‡uentes pour cet axe spéci…que.

53
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Fig. 2.7 –Graphique des variables MCA

3. Graphique des variable categories - MCA : Il permet de visualiser les


relations entre les di¤érentes catégories de variables et les axes MCA.. Chaque
catégorie de variable est représentée par un point dans un espace biplot. La
position du point indique la contribution de la catégorie de variable à chaque
axe MCA. Les catégories de variables qui sont proches des axes MCA ont
une forte contribution à ces axes, tandis que celles qui sont éloignées ont une
contribution plus faible. Le graphique "Variable categories - MCA" est utilisé
pour identi…er les catégories de variables qui sont les plus importantes pour
chaque axe MCA. Les catégories de variables qui sont proches des axes et qui
ont une contribution élevée sont susceptibles comme étant les plus in‡uentes
pour cet axe spéci…que.

54
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Fig. 2.8 –Graphique des variable categories - MCA

4. MCA - Biplot : Est une représentation graphique utilisée dans une analyse
des correspondances multiples (MCA) pour visualiser simultanément les in-
dividus et les variables sur les axes MCA. Il combine les informations sur la
structure des individus et la structure des variables dans un même graphique.
Dans un graphique "MCA - Biplot", les individus sont représentés par des
points et les variables sont représentés par des ‡èches. La position des indi-
vidus sur le graphique indique leur relation avec les axes MCA, tandis que la
direction et la longueur des ‡èches représentent la contribution des variables
à chaque axe. Plus précisément, la position des individus est déterminée par
leurs coordonnées sur les axes MCA. Les individus qui sont proches les uns
des autres sont similaires en termes de pro…ls de variables, tandis que ceux
qui sont éloignés sont di¤érents. Les variables sont représentées par des ‡èches
qui indiquent leur direction et leur amplitude. Les variables qui ont une forte
contribution à un axe donné sont représentées par des ‡èches plus longues et
alignées dans la direction de l’axe. Il permet de comprendre la structure des
données, d’identi…er les variables qui sont les plus in‡uentes sur chaque axe

55
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

et de détecter les similarités et les dissimilarités entre les individus. Cette re-
présentation graphique est utile pour l’interprétation et l’analyse des résultats
d’une analyse en principales composantes multiples.

Fig. 2.9 –MCA - Biplot

5. Graphique des contributions : Un tracé de contributions est une représen-


tation graphique utilisée dans l’analyse des correspondances multiples (MCA)
pour visualiser les contributions relatives des variables ou des individus aux
dimensions principales (selon l’axe choisi, ici Dim 1, Dim 2)

Fig. 2.10 – Contributions relatives des variables ou des individus aux dimensions
principales

56
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

Fig. 2.11 – Contributions relatives des variables ou des individus aux dimensions
principales Dim 2

6. Corrplot : Permet de comprendre la qualité de représentation des variables


sur les axes MCA et d’identi…er les variables qui contribuent le plus

Fig. 2.12 –Qualité de représentation des variables

7. Qualité de représentation : Le graphique "Cos2 quality of representation"


o¤re une visualisation claire de la contribution et de la qualité de représenta-
tion des variables dans une analyse des correspondances multiples (MCA) en
utilisant les carrés des cosinus des angles (cos2). Cela permet de déterminer les
variables les plus importantes et bien représentées dans l’espace des dimensions

57
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

de la MCA.

Fig. 2.13 –Qualité de représentation des variables

2.3.4 A¢ chage de valeurs numériques supplimentaires

1. print(mca) : A¢ che les informations de l’objet MCA, généralement des sta-


tistiques et des paramètres liés à l’analyse des correspondances multiples.

2. summary(mca) : Donne un résumé statistique des résultats de l’analyse des


correspondances multiples, y compris les valeurs propres, les pourcentages de

58
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

variance expliqués, et autres statistiques importantes.

3. dimdesc(mca) : A¢ che les descriptions des dimensions principales de l’ACM,

59
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

généralement les variables les plus associées à chaque dimension.

4. names(mca) : A¢ che les noms des caractéristiques de l’objet MCA, tels que
"eig" pour les valeurs propres, "var" pour les informations relatives aux va-
riables, "ind" pour les informations relatives aux individus, etc.

5. mca$eig : A¢ che les valeurs propres et les pourcent

60
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

6. mca$call : A¢ che la commande ou les paramètres utilisés pour créer l’objet


MCA.

7. mca$ind : Cette composante contient les informations relatives aux indivi-

61
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

dus (ou observations) dans l’ACM. Elle peut inclure des éléments tels que les
coordonnées factorielles des individus, les contributions des individus aux di-
mensions principales, les cosinus carrés des individus (mesurant la qualité de
leur représentation), etc.

8. mca$var : Cette composante contient les informations relatives aux variables


dans l’analyse des correspondances multiples (ACM). Elle peut inclure des
éléments tels que les coordonnées factorielles des variables, les contributions des
variables aux dimensions principales, les cosinus carrés des variables (mesurant
la qualité de leur représentation), etc.

62
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

9. mca$svd : Cette composante contient les résultats de la décomposition en

63
Chapitre 2. Etapes de l’Analyse des Correspondances Multiples

valeurs singulières

64
Chapitre 3

Application réelles sur l’Analyse


des Correspondances Multiples

Dans cette partie nous allons appliquer l’ACM sur des données réelles CleanCreditS-
coring. Le jeu de données est téléchargeable avec le lien suivant :

[Link]

Clean Credit Scoring, ou Clean Credit Analysis, est une application qui utilise des
techniques avancées d’analyse et de modélisation des données pour évaluer la sol-
vabilité d’un individu et fournir une évaluation complète de son pro…l de crédit. Il
est couramment utilisé par les institutions …nancières, telles que les banques et les
sociétés de prêt, pour prendre des décisions éclairées concernant les approbations
de crédit, les taux d’intérêt et les conditions de prêt. Le fonctionnement du Clean
Credit Scoring se résume en la collecte de données, l’ingénierie des fonctionnalités,
le développement de modèles l’évaluation du modèle et en …n la prise de décision.

Clean Credit Scoring o¤re une approche basée sur les données pour l’évaluation du
risque de crédit, permettant aux institutions …nancières de prendre des décisions de
crédit plus précises et objectives. Il aide à réduire les défauts de crédit, à identi…er

65
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

les clients potentiels à haut risque et à rationaliser le processus de prêt. De plus, il


promeut des pratiques de prêt équitables en minimisant les préjugés humains et en
fournissant une évaluation objective de la solvabilité d’un individu en fonction de ses
antécédents …nanciers et de ses indicateurs.

Nous présenterons dans ce chapitre une application de l’ACM sur les variables caté-
gorielles extraites du jeu de données CleanCreditScoring

3.1 Extraction des données catégorielles

-On commence par télécharger notre …chier csv

[Link]

-Nous allons charger et a¢ cher le tableau sur RStudio avec les deux instructions
suivantes :

> df = read:table(f ile:choose(); header = T RU E; sep = "; ")

> V iew(df )

66
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.1 –Environnement de travail de RStudio

-Nous appliquons l’instruction suivante pour a¢ cher le nombre de ligne et de colonnes

> dim(df )

[1]4446 27

-Nous appliquons l’instruction suivante pour a¢ cher les noms des colonnes

> colnames(df )

[1] "Status" "Seniority" "Home" "Time" "Age" "Marital"

[7] "Records" "Job" "Expenses" "Income" "Assets" "Debt"

[13] "Amount" "Price" "Finrat" "Savings" "seniorityR" "timeR"

[19] "ageR" "expensesR" "incomeR" "assetsR" "debtR" "amountR"

[25] "priceR" "…nratR" "savingsR"

-Nous appliquons l’instruction suivante pour a¢ cher le type de variable de chaque


colonne

> str(df )

67
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

’[Link]’: 4446 obs. of 27 variables :

$ Status : chr "good" "good" "bad" "good" ...

$ Seniority : int 9 17 10 0 0 1 29 9 0 0 ...

$ Home : chr "rent" "rent" "owner" "rent" ...

$ Time : int 60 60 36 60 36 60 60 12 60 48 ...

$ Age : int 30 58 46 24 26 36 44 27 32 41 ...

$ Marital : chr "married" "widow" "married" "single" ...

$ Records : chr "no_rec" "no_rec" "yes_rec" "no_rec" ...

$ Job : chr "freelance" "…xed" "freelance" "…xed" ...

$ Expenses : int 73 48 90 63 46 75 75 35 90 90 ...

$ Income : int 129 131 200 182 107 214 125 80 107 80 ...

$ Assets : int 0 0 3000 2500 0 3500 10000 0 15000 0 ...

$ Debt : int 0 0 0 0 0 0 0 0 0 0 ...

$ Amount : int 800 1000 2000 900 310 650 1600 200 1200 1200 ...

$ Price : int 846 1658 2985 1325 910 1645 1800 1093 1957 1468 ...

$ Finrat : num 94.6 60.3 67 67.9 34.1 ...

$ Savings : num 4.2 4.98 1.98 7.93 7.08 ...

$ seniorityR : chr "sen (8,14]" "sen (14,99]" "sen (8,14]" "sen (-1,1]" ...

$ timeR : chr "time (48,99]" "time (48,99]" "time (24,36]" "time (48,99]" ...

$ ageR : chr "age (25,30]" "age (50,99]" "age (40,50]" "age (0,25]" ...

$ expensesR : chr "exp (60,80]" "exp (40,50]" "exp (80,1e+04]" "exp (60,80]" ...

$ incomeR : chr "inc (110,140]" "inc (110,140]" "inc (190,1e+04]" "inc (140,190]" ...

$ assetsR : chr "asset (-1,0]" "asset (-1,0]" "asset (0,3e+03]" "asset (0,3e+03]" ...

$ debtR : chr "debt (-1,0]" "debt (-1,0]" "debt (-1,0]" "debt (-1,0]" ...

68
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

$ amountR : chr "am (600,900]" "am (900,1.1e+03]" "am (1.4e+03,1e+05]" "am


(600,900]" ...

$ priceR : chr "priz (0,1e+03]" "priz (1.5e+03,1.8e+03]" "priz (1.8e+03,1e+05]"


"priz (1.3e+03,1.5e+03]" ...

$ …nratR : chr "…nr (90,100]" "…nr (50,70]" "…nr (50,70]" "…nr (50,70]" ...

$ savingsR : chr "sav (4,6]" "sav (4,6]" "sav (0,2]" "sav (6,99]" ...

-Dans le but d’appliquer la méthode MCA, nous allons séparer les données quali…-
catives en utilisant le code suivant

> df _character < df [; c(9 : 27)] # suprimer les colonnes de 9 à 27

> df _character < df _character[; c(2 : 2)]

> df _character < df _character[; c(3 : 3)]

> df _character < df _character[; c(3 : 3)]

> V iew(df _character)

> dim(df _character)

[1]4446 5

> colnames(df _character)

[1]"Status""Home""M arital""Records""Job"

69
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.2 –Dataframe des données quali…catives df_character

3.2 Application du M CA()

. Nous allons appliquer l’objet ACM () directement sur df _character. Trois vi-
sualisations s’a¢ chent automatiquement sans les appeller

install:packages("corrplot")

library(corrplot)

install:packages("F actoM ineR")

library("F actoM ineR")

install:packages("ggf ortif y")

library("ggf ortif y")

instal:packages("F actoExtra")

library(f actoextra)

mca < M CA(df _character)

Le premier graphique contient la représentation des variables :

70
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.3 –Représentation des variables - df_character

Le deuxième graphique contient la représentation des catégories, appelé aussi carte


factorielle des catégories.

Fig. 3.4 –Représentation des catégories - df_character

Le troisième graphique contient la représentation des individus aussi appelé carte


factorielle des individus

71
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.5 –Représentation des individus - df_character

3.3 Visualisation et a¢ chage des résultats

3.3.1 Pourcentage des variances

. Nous a¢ chons avec l’instruction acm$eig un tableau qui contient les valeurs
propres de la décompositions sdv, les pourcentages des variaces expliquées des
composantes principales ainsi que les cumules correspondants

. Dans le but de tracer le graphique qui représentent le pourcentenge de représen-


tenstions des composantes principales (colonne deux du tableaux précedents),

72
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

nous exécutons le code R suivant :

eig:val < mca$eig

barplot(eig:val[; 2]; names:arg = 1 : nrow(eig:val); main = "V ariances Explained


by Dimensions (%)"; xlab = "P rincipal Dimensions"; ylab = "P ercentage
of v ariances"; col = "steelblue")

. Ce graphique représente les pourcentages de la variance expliquée de chaque


composante

Fig. 3.6 –Représentation des pourcentages de la variance expliquée de chaque com-


posante - df_character

. Dans le but de tracer le graphique qui représentent le pourcentenge de représen-


tenstions des composantes principales (colonne deux du tableaux précedents),
nous exécutons le code R suivant qui illustre ces pourcentages sur les bâtons
du diagramme.

. f vizs creeplot(mca; addlabels = T RU E; ylim = c(0; 45)):

. Le graphique Scree plot présent les pourcentages de la variace expliquée dans


les compsantes principales

73
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.7 – Pourcentages de la variance expliquée dans les compsantes principales -


df_character

3.3.2 Visualisation des variables

. Nous a¢ chons avec l’instruction acm$var$eta2 un tableau qui contient les les
coordonnées des variables ; Status, Home, Marital,Records et Job dans unique-
ment 5 dimensions par défaut au lieux des 14 coordonnées dans les14 dimen-
sions.

. Nous exécutons le code R suivant pour la projection des variables dan un plan
de Dim 1 (11; 91%) et Dim 2 (10; 2%) selon les coordonnées en haut

var < get_mca_var(mca)

f viz_mca_var(mca; choice = "mca:cor"; repel = T RU E; )

ggtheme = theme_minimal()

74
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Carte factorielle des variables en deux dimensions

Fig. 3.8 –Carte factorielle des variables en deux dimensions - df_character

. Nous présentons ici un code R pour projeter les variables dans trois dimensions
Dim1 (11; 91%), Dim 2 (10; 2%) , et Dim 3 (8:41%)

dataf rame < as:data:f rame(mca$var$eta2)

colnames(dataf rame) < c("x"; "y"; "z"; "e"; "f ")

install:packages("scatterplot3d")

library(scatterplot3d)

scatterplot3d(dataf rame$x; dataf rame$y; dataf rame$z; color = "blue"

; pch = 16; main = "Graphique en 3D des variables"; xlab = "dime1(11:90)";

ylab = "dime2(10:24)"; zlab = "dime3(8:41)")

. Carte factorielle des variables en trois dimensions

Fig. 3.9 –Carte factorielle des variables en trois dimensions - df_character

75
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Ce code est executé pour avoir une carte factorielle des variables en trois di-
mensions classi…cative

install:packages("plot3D")

library(plot3D)

scatter3D(dataf rame$x; dataf rame$y; dataf rame$z; color = "blue"; pch =


16; main = "Graphique en 3 D des variables"; xlab = "dime1(11:90)"; ylab =
"dime2(10:24)"; zlab = "dime3(8:41)")

. Carte factorielle des variables en trois dimensions classi…cative

Fig. 3.10 – Carte factorielle des variables en trois dimensions classi…cative -


df_character

3.3.3 Visualisation des catégories

. Nous a¢ chons avec l’instruction acm$var$coord un tableau qui contient les co-
ordonnées des catégories ; bad, good, ignore,other, owner,parents,priv,rent,divorced,
married, separated, single,widow,no rec, yes_rec, …xed, freelance, others et par-
tiime dans uniquement 5 dimensions par défaut au lieux des 14 coordonnées
dans les14 dimensions.

76
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Nous exécutons le code R suivant pour la projection des catégories dan un plan
de Dim 1 (11; 91%) et Dim 2 (10; 2%) selon les coordonnées en haut

. library(f actoextra):

f viz_mca_var(mca; col:var = "cos2";

gradient:cols = c("#00AF BB"; "#E7B800"; "#F C4E07"; )

repel = T RU E; ggtheme = theme_minimal())

. Carte factorielle des catégories en deux dimensions

77
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.11 –Carte factorielle des catégories en deux dimensions - df_character

. Nous présentons ici un code R pour projeter les catégories dans trois dimensions
Dim1 (11; 91%), Dim 2 (10; 2%) , et Dim 3 (8:41%)

dataf rame < as:data:f rame(mca$var$coord)

colnames(dataf rame) < c("x"; "y"; "z"; "e"; "f ")

install:packages("scatterplot3d")

library(scatterplot3d)

scatterplot3d(dataf rame$x; dataf rame$y; dataf rame$z;

color = "red"; pch = 16; main = "Graphique en 3 D des categories";

xlab = "dime1(11:90)"; ylab = "dime2(10:24)"; zlab = "dime3(8:41)")

. Carte factorielle des catégories en trois dimensions

78
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.12 –Carte factorielle des catégories en trois dimensions - df_character

. Ce code est executé pour avoir une carte factorielle des catégories en trois
dimensions classi…cative

install:packages("plot3D")

library(plot3D)

scatter3D(dataf rame$x; dataf rame$y; dataf rame$z; color = "red"

; pch = 16; main = "Graphique en 3 D des categories";

xlab = "dime1(11:90)"; ylab = "dime2(10:24)"; zlab = "dime3(8:41)")

. Carte factorielle des variables en trois dimensions classi…cative

79
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.13 – Carte factorielle des variables en trois dimensions classi…cative -


df_character

3.3.4 Visualisation des individus

. Nous a¢ chons avec l’instruction acm$ind$coord un tableau qui contient les


coordonnées des 4446 individus (6 uniquement sont a¢ chés) dans uniquement
5 dimensions par défaut au lieux des 14 coordonnées dans les 14 dimensions.

. Nous exécutons le code R suivant pour la projection Biplot des individus et


des catégories dans un plan de Dim 1 (11; 91%) et Dim 2 (10; 2%) selon les
coordonnées en haut

f vizmcabiplot(mca; repel = T RU E;

80
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

ggtheme = thememinimal())

. Graphique Biplot (individus et catégories) où les individus sont liés par les
lignes bleu

Fig. 3.14 –Graphique Biplot (individus et catégories) - df_character

. Nous présentons ici un code R pour projeter les individus dans trois dimensions
Dim1 (11; 91%), Dim 2 (10; 2%) , et Dim 3 (8:41%)

dataf rame < as:data:f rame(acm$ind$coord)

colnames(dataf rame) < c("x"; "y"; "z"; "e"; "f ")

install:packages("scatterplot3d")

library(scatterplot3d)

scatterplot3d(dataf rame$x; dataf rame$y; dataf rame$z; color = "green"

; pch = 16; main = "Graphique en 3 D des individus"; xlab = "dime1(11:90)";

ylab = "dime2(10:24)"; zlab = "dime3(8:41)")

. Carte factorielle des individus en trois dimensions

81
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.15 –Carte factorielle des individus en trois dimensions - df_character

. Ce code est executé pour avoir une carte factorielle des individus en trois
dimensions classi…cative

install:packages("plot3D")

library(plot3D)

scatter3D(dataf rame$x; dataf rame$y; dataf rame$z; color = "green";

pch = 16; main = "Graphique en 3 D des individus"; xlab = "dime1(11:90)";

ylab = "dime2(10:24)"; zlab = "dime3(8:41)"):

. Carte factorielle des individus en trois dimensions classi…cative

82
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Fig. 3.16 – Carte factorielle des individus en trois dimensions classi…cative -


df_character

3.3.5 Visualisation de la contribution des variables

. La contribution des catégories variables (en %) à la dé…nition des dimensions


peut être extraite comme suit :

83
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Le code R ci-dessous montre les 15 principales catégories de variables contribuant


aux dimensions

. f vizc ontrib(mca; choice = "var"; axes = 1; top = 15):

f vizc ontrib(mca; choice = "var"; axes = 2; top = 15):

. Graphique à barres de la contribution des catégories de variables où les catégories


de variables avec la valeur la plus élevée contribuent le plus à la dé…nition
des dimensions. Les catégories de variables qui contribuent le plus à Dim.1 et
Dim.2 sont les plus importantes pour expliquer la variabilité de l’ensemble de
données.

Fig. 3.17 –Contribution des catégories de variables à Dim.1 - df_character

Fig. 3.18 –Contribution des catégories de variables à Dim.2 - df_character

84
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

3.3.6 Visualisation de la qualité de représentation

. Vous pouvez visualiser le cos2 des catégories de lignes sur toutes les dimensions à
l’aide du package corrplot

. La visualisation de cos2 s’obtient en executant le code R suivant :

. library("corrplot"):

corrplot(varcos2, [Link]=FALSE).

. Visualiser de cos2

85
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Il est également possible de créer un diagramme à barres de la variable cos2 en


executant le code suivant

. cos2v ar < mcavarcos2[; 1 : 2]:

. Le code suivant calcul les pourcentages de la qualité de la représentation des va-


riables dans les Dim-1-2

. heights < rowSums(cos2v ar):

. On execute le code suivant pour obtenir le graphique de la qualité de la représen-


tation des variables dans les Dim-1-2

. f vizc os2(mca; choice = "var"; axes = 1 : 2):

. Diagramme à barres de la variable cos2 où les catégories de variables Priv, Other,

86
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Others, Divorced, Ignore et Widow ne sont pas très bien représentées par les
deux premières dimensions. Cela implique que la position des points correspon-
dants sur le nuage de points doit être interprétée avec une certaine prudence.
Une solution dimensionnelle plus élevée est probablement nécessaire.

Fig. 3.19 –Diagramme à barres de la la qualité de représentation - df_character

. Nombre de fois de modalités dans chaque variables

87
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. plotellipses(mca)
.

Fig. 3.20 –Plotellipses(mca)

3.4 Rôle de l’ACM dans la classi…cation

L’ACM (Analyse des correspondances multiples) n’est pas directement impliquée


dans la classi…cation des données, mais elle peut être utilisé comme une étape préli-
minaire importante dans le processus de classi…cation.

L’ACM est une technique statistique qui permet de réduire la dimensionnalité des
données en les projetant sur un espace de variables moins nombreuses appelées les
composantes principales.

Son rôle principal est de révéler la structure sous-jacente des données en identi…ant
les relations et les corrélations entre les variables. En utilisant la réduction de dimen-
sionnalité, l’ACM permet de simpli…er les données tout en conservant une grande
partie de l’information. Cela facilite la visualisation et l’interprétation des données,

88
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

en particulier lorsque les données sont complexes et comportent de nombreuses va-


riables.

Dans le contexte de la classi…cation, l’ACM peut être utilisé pour extraire les carac-
téristiques les plus discriminantes des données. Les composantes principales obtenues
à partir de l’ACM peuvent servir de nouvelles variables qui capturent e¢ cacement
les variations les plus importantes dans les données d’origine. Ces nouvelles variables
peuvent ensuite être utilisées comme entrées pour des algorithmes de classi…cation
tels que les arbres de décision, les réseaux de neurones, les machines à vecteurs de
support (SVM) ou d’autres méthodes de classi…cation.

Dans la section suivantes nous allons exécuter deux modèles de machine learnig et
un modèle de deep learning sur les sorties de l’ACM en créant deux Dataframes
mca:machine et mca:deep selon nos objectifs de prédiction.

3.4.1 Machine Learning

Le machine learning est une approche de l’intelligence arti…cielle qui permet aux
ordinateurs d’apprendre à partir des données et de prendre des décisions ou de faire
des prédictions sans être émises programmées.

. Le code suivant permettra de créer un …chier .txt contenant un Dataframe des


coordonnées des 4446 individus obtenus par l’ACM. Le but est de faire un
clustering dans le but d’avoir une idée sur le nombre de classe dont les clients
appartiennent, ce qui permettra par exemple de proposer des o¤res selon les
di¤erences des individus par clusters. Par la suite nous allons appliquer deux
modèles, l’algorithme de clustering hiérarchique et l’algorithme K-means.

. chemin_f ichier < "C : =U sers=hp=Desktop=Asma memoire=mca:machine:txt"

write:table(mca$ind$coord; chemin_f ichier; sep = "; "; row:names = F ALSE)

89
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

L’algorithme de clustering hiérarchique

L’algorithme de clustering hiérarchique est une méthode de regroupement non su-


pervisée utilisée pour classer un ensemble de données en une structure arborescente.
Il fonctionne en fusionnant itérativement les groupes les plus similaires en un seul
groupe, jusqu’à ce que tous les points de données soient regroupés.

. Charger le Dataframe sur Colab ensuite exécuter l’algorithme sur les coordon-
nées des individus calculées par ACM. Le nombre de cluster prédis est 3. (Voir
Annexe 1)

90
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

L’algorithme K-means

L’algorithme K means est une méthode de regroupement non supervisée utilisée


pour classer un ensemble de données en plusieurs groupes distincts. Il fonctionne en
itérativement en attribuant chaque point de données à un groupe en fonction de sa
similarité avec les centroïdes des groupes précédemment formés.

. Charger le Dataframe sur Colab ensuite exécuter l’algorithme sur les coordon-
nées des individus calculées par ACM. Le nombre de cluster prédis est 3. (Voir
Annexe 2)

3.4.2 Deep Learning

Le deep learning est une branche du machine learning qui se concentre sur l’utilisation
de réseaux de neurones arti…ciels profonds pour résoudre des problèmes complexes
en apprenant de façon automatique à partir des données.

Création d’un Dataframe

. Le code suivant permettra de créer un …chier .txt contenant un Dataframe des


coordonnées des 4446 individus obtenus par ACM. En concaténant la colonne
Status des données originaux, le but est d’entrainer le modèle DNN pour prédire
le Status d’un nouvel individu (good où bad) pour décider de la possibilité de
lui accorder un crédit bancaire ou non

. df _character$Status < N U LL

mca < M CA(df _character)

91
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

dataf rame1 < as:data:f rame(mca$ind$coord)

dataf rame2 < data:f rame(df $Status)

dataf rame_concat_colonnes < cbind(dataf rame1; dataf rame2)

chemin_f ichier < "C : =U sers=hp=Desktop=Asma memoire=mca:deep:txt"

write:table(dataf rame_concat_colonnes; chemin_f ichier; sep = "; "; row:names =


F ALSE)

Deep Neural Network

(Deep Neural Network) est un type de réseau neuronal arti…ciel composé de plu-
sieurs couches de neurones, également appelées couches cachées. Chaque couche est
connectée à la suivante, formant un réseau profond

Le modèle DNN

. Nous allons charger le Dataframe crée en haut sur Colab en premier lieu (Voir
Annexe 3)

. Entrainement. : sur ces trois …gures on résume les trois étapes importantes du
modéle DNN que nous allons entrainé sur notre Dataframe de 6646 individus

92
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

Présision du modèle Aprés l’entrainement du modèle sur nos individus il a donné


une présesion de 0:75 ce qui veut dire que notre modèle prédit avec une exacttitude
de 0:75

Prédiction

93
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. On veut prédire le Status d’un nouvel individi qui a donné les réponses sui-
vantes :

. On cherche premièrement à calculer les coordonnées de cet nouvel individu


dans les composantes principales dans le but de les introduire dans le modèle
DNN pour predire son "Status".

. Le code suivant nous donne les coordonnées de cet nouvel individu dans les 5
composantes principales par ACM

. nouvel_individu < data:f rame(

Home = "owner";

M arital = "single";

Records = "n_rec";

Job = "f ixed")

df _character < rbind(nouvel_individu; df _character)

row:names(df _character) < N U LL

library("F actoM ineR")

library("ggf ortif y")

mca < M CA(df _character)

print(nouvel_individu)

cordonnees < as:data:f rame(mca$ind$coord[1; ])

94
Chapitre 3. Application réelles sur l’Analyse des Correspondances Multiples

. Le modèle a prédit "good"

95
Conclusion

L
’analyse en correspondance multiple est une méthode d’analyse statistique
puissante pour étudier les relations entre les variables catégorielles. Elle o¤re
une approche visuelle et interprétable pour explorer et comprendre les structures
cachées dans les données qualitatives. Elle sert à :

. Réduction de dimensionnalité des données catégorielles en gardant l’informa-


tion des individus, pour pouvoir manipuler les plus grandes data frame

. Représentation graphique interprétable des distances entre les catégories, et les


individus ainsi que les correlations

. Utilisation des sorties de l’ACM en Datascience cela en les entrainant sur des
modèles de classi…cation en Machine Learning comme [Link] et en Deep
learning comme par exemple ANN, dans le but d’un déploiement d’outils de
prédiction avec des hautes pré[Link] sert à la prise de décision

96
Bibliographie

[1] https ://[Link]/drive/1JAMEL_BaMAsgnOdm3opVxfByOqBt5Uu_#scr

[2] https ://[Link]/cran/FactoMineR/man/[Link]

[3] http ://[Link]/factomethods/analyse-des-correspondances-


[Link]

[4] https ://[Link]/388792_9446f74a169445118b5a244ecc21e9e7.h

[5] https ://[Link]/cours-2017-2018/analyse-donnees/Investigate-


[Link]

[6] http ://[Link]/english/wiki/factoextra-r-package-easy-multivariate-


data-analyses-and-elegant-visualization

[7] Livre : Analyse des données avec R, F. Husson, S. Lê, J. Pagès, éditions PUR

[8] Marin, J. M. (2005). Initiation au logiciel R. Université Paris Dauphine

[9] Marsaglia, G. (2004). Evaluating the normal distribution. Journal of Statistical


Software, 11, 1-11.

[10] R package : FactoMineR.

[11] Robert, C. P., Casella, G., & Casella, G. (1999). Monte Carlo statistical me-
thods(Vol. 2). New York : Springer.

[12] Ressources pédagogiques :http ://[Link].u-


[Link]/~mchave100p/teaching/

97
Bibliographie

[13] Saporta, G. (2006). Probabilités, analyse des données et statistique. Editions


technip.

[14] Vidéo sur l’ACM : https ://[Link]/mUKz4L2ZsuY

98
Annexe : Abréviations et
Notations
Annexe 1 MCA_Clustering_Hiérarchique - Colaboratory

[Link] des donées et exploration

# Lecture du fichier texte


with open('[Link]', 'r') as fichier:
lignes = [Link]()

# Affichage des premières lignes


nb_lignes_a_afficher = 10 # Nombre de lignes à afficher
for i in range(nb_lignes_a_afficher):
print(lignes[i])

"Dim 1","Dim 2","Dim 3","Dim 4","Dim 5"

-0.303691829359047,0.217874294965367,-0.233012990087509,0.146767785894659,-0.262789225266439

-0.435933891756252,0.0585394730469498,2.15824565062018,1.04781633489336,0.685810576409709

-0.128961349046032,1.11542256279812,-0.0592734764454294,-0.322844571847536,-0.831781998976543

0.370947731721497,-0.400848497204644,-0.1541839090033,0.51343611368935,0.314657490810929

0.370947731721703,-0.400848497204532,-0.154183909003381,0.513436113689432,0.31465749081134

-0.542150430098447,-0.326061784500946,-0.094378249120426,-0.01465220522824,0.0392332814774307

-0.542150430098238,-0.3260617845017,-0.0943782491200314,-0.0146522052290101,0.0392332814764687

0.798988425383,-1.00136296588397,0.00797440954376478,0.224390892186233,-0.127505007417166

-0.597190537150106,-0.0493003576098253,-0.0488340042596338,-0.291977620311836,-0.651288378382046

import pandas as pd

# Lecture du fichier texte


donnees = pd.read_csv('[Link]', delimiter=',') # Remplacez "nom_du_fichier.txt" par le nom réel de votre fichi

# Écriture des données dans un fichier CSV


donnees.to_csv('[Link]', index=False) # Remplacez "nom_du_fichier.csv" par le nom souhaité pour votre fichier CSV

import pandas as pd
import numpy as np
df=pd.read_csv("[Link]", sep=",")
[Link]()

Dim 1 Dim 2 Dim 3 Dim 4 Dim 5

0 -0.303692 0.217874 -0.233013 0.146768 -0.262789

1 -0.435934 0.058539 2.158246 1.047816 0.685811

2 -0.128961 1.115423 -0.059273 -0.322845 -0.831782

3 0.370948 -0.400848 -0.154184 0.513436 0.314657

4 0.370948 -0.400848 -0.154184 0.513436 0.314657

[Link] hiérarchique

#Importing required modules


from [Link] import StandardScaler
from sklearn.linear_model import LinearRegression
from [Link] import AgglomerativeClustering
from [Link] import PCA
from [Link] import KMeans
import [Link] as plt
import [Link] as shc

[Link] 1/4
28/06/2023 01:29 MCA_Clustering_Hiérarchique - Colaboratory

#Applying agglomerative algorithm with 5 clusters, using euclidean distance as a metric


model=AgglomerativeClustering(n_clusters=3, affinity='euclidean', linkage='ward')
labels=model.fit_predict(df)

/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_agglomerative.py:983: FutureWarning: Attribute `affinity`


[Link](

#representation dataframe
agglomerative=[Link](labels)
agglomerative

0 0

1 2

2 0

3 1

4 1

... ...

4441 0

4442 0

4443 0

4444 1

4445 0

4446 rows × 1 columns

[Link] les grappes

#calcul du pca pour préparer le tracé des grappes


pca = PCA(2)

#Transform the data


df = pca.fit_transform(df)
[Link]
df

array([[-0.30369183, 0.21787429],
[-0.43593389, 0.05853947],
[-0.12896135, 1.11542256],
...,
[ 0.39109721, 0.45904289],
[ 0.31590762, -0.12408707],
[-0.59719054, -0.04930036]])

#Getting unique labels


u_labels = [Link](labels)
print(u_labels)

[0 1 2]

#plotting the clusters:


for i in u_labels:
[Link](df[labels == i , 0] , df[labels == i , 1] , label = i)
[Link]("CleanCreditScoring (clustering hiérarchique)")

[Link]()
[Link]()

[Link] 2/4
28/06/2023 01:29 MCA_Clustering_Hiérarchique - Colaboratory

[Link] le dendrogramme

[Link](figsize=(10,7))
[Link](" segmentation Dendrograms")
dend=[Link]([Link](df, method="ward"))

[Link] 3/4
28/06/2023 01:29 MCA_Clustering_Hiérarchique - Colaboratory

check 59 s terminée à 01:27

[Link] 4/4
Annexe 2 MCA_K_means - Colaboratory

[Link] des donées et exploration

# Lecture du fichier texte


with open('[Link]', 'r') as fichier:
lignes = [Link]()

# Affichage des premières lignes


nb_lignes_a_afficher = 10 # Nombre de lignes à afficher
for i in range(nb_lignes_a_afficher):
print(lignes[i])

"Dim 1","Dim 2","Dim 3","Dim 4","Dim 5"

-0.303691829359047,0.217874294965367,-0.233012990087509,0.146767785894659,-0.262789225266439

-0.435933891756252,0.0585394730469498,2.15824565062018,1.04781633489336,0.685810576409709

-0.128961349046032,1.11542256279812,-0.0592734764454294,-0.322844571847536,-0.831781998976543

0.370947731721497,-0.400848497204644,-0.1541839090033,0.51343611368935,0.314657490810929

0.370947731721703,-0.400848497204532,-0.154183909003381,0.513436113689432,0.31465749081134

-0.542150430098447,-0.326061784500946,-0.094378249120426,-0.01465220522824,0.0392332814774307

-0.542150430098238,-0.3260617845017,-0.0943782491200314,-0.0146522052290101,0.0392332814764687

0.798988425383,-1.00136296588397,0.00797440954376478,0.224390892186233,-0.127505007417166

-0.597190537150106,-0.0493003576098253,-0.0488340042596338,-0.291977620311836,-0.651288378382046

import pandas as pd

# Lecture du fichier texte


donnees = pd.read_csv('[Link]', delimiter=',') # Remplacez "nom_du_fichier.txt" par le nom réel de votre fichi

# Écriture des données dans un fichier CSV


donnees.to_csv('[Link]', index=False) # Remplacez "nom_du_fichier.csv" par le nom souhaité pour votre fichier CSV

import pandas as pd
import numpy as np
df=pd.read_csv("[Link]", sep=",")
[Link]()

Dim 1 Dim 2 Dim 3 Dim 4 Dim 5

0 -0.303692 0.217874 -0.233013 0.146768 -0.262789

1 -0.435934 0.058539 2.158246 1.047816 0.685811

2 -0.128961 1.115423 -0.059273 -0.322845 -0.831782

3 0.370948 -0.400848 -0.154184 0.513436 0.314657

4 0.370948 -0.400848 -0.154184 0.513436 0.314657

[Link] [Link]

#Importing required modules


from [Link] import PCA
from [Link] import KMeans
import [Link] as plt

# effectuer pca
pca = PCA(2)

[Link] 1/4
28/06/2023 01:31 MCA_K_means - Colaboratory
#Transform the data
df = pca.fit_transform(df)
[Link]
df

array([[-0.30369183, 0.21787429],
[-0.43593389, 0.05853947],
[-0.12896135, 1.11542256],
...,
[ 0.39109721, 0.45904289],
[ 0.31590762, -0.12408707],
[-0.59719054, -0.04930036]])

#Initialize the class object


kmeans = KMeans(n_clusters= 3, random_state=0)

#predict the labels of clusters.


label = kmeans.fit_predict(df)

print(label)

/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarning: The default value of `n_init


[Link](
[0 0 1 ... 1 2 0]

[Link] des grappes

#ploter tout les cluster


#Getting unique labels
u_labels = [Link](label)

#plotting the results:


for i in u_labels:
[Link](df[label == i , 0] , df[label == i , 1] , label = i)
[Link]("CleanCreditScoring (clusters [Link])")
[Link]()
[Link]()

#Getting the Centroids


centroids = kmeans.cluster_centers_
u_labels = [Link](label)

#plotting the results:


for i in u_labels:
[Link](df[label == i , 0] , df[label == i , 1] , label = i)
[Link](centroids[:,0] , centroids[:,1] , s = 50, color = 'k')
( ( ) )
[Link] 2/4
28/06/2023 01:31 MCA_K_means - Colaboratory
[Link]("CleanCreditScoring (clusters [Link] avec les centres)")
[Link]()
[Link]()

print(u_labels)

#Printing the coordinates of cluster centers


print(kmeans.cluster_centers_)

[0 1 2]
[[-0.42897251 -0.1155666 ]
[ 0.23139271 0.74236365]
[ 0.74373139 -0.49880836]]

[Link](df)

array([0, 0, 1, ..., 1, 2, 0], dtype=int32)

4.K optimal

'The Elbow Method'

Sum_of_sqyared_distance=[]
K=range(1,15)
for k in K:
km=KMeans(n_clusters=k, random_state=0)
km=[Link](df)
Sum_of_sqyared_distance.append(km.inertia_)

[Link](K,Sum_of_sqyared_distance,'bx-')
[Link]('k')
[Link]('Sum_of_squared_distance')
[Link]('Elbowth method foropmtimal k')

[Link] 3/4
28/06/2023 01:31 MCA_K_means - Colaboratory

/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
/usr/local/lib/python3.10/dist-packages/sklearn/cluster/_kmeans.py:870: FutureWarnin
[Link](
Text(0.5, 1.0, 'Elbowth method foropmtimal k')

Produits payants Colab - Résilier les contrats ici


check 5 s terminée à 01:31

[Link] 4/4
Annexe 3 MCA_DNN - Colaboratory

Importation, analyse initiale de Dataset

[Link] de libreries

import pandas as pd
import numpy as np
from [Link] import Sequential
from [Link] import Dense
from [Link] import to_categorical
import [Link] as plt
from tensorflow import keras
import tensorflow as tf
from sklearn.model_selection import train_test_split
from [Link] import StandardScaler
from [Link] import LabelEncoder

[Link] des données et analyse

# Lecture du fichier texte


with open('[Link]', 'r') as fichier:
lignes = [Link]()

# Affichage des premières lignes


nb_lignes_a_afficher = 10 # Nombre de lignes à afficher
for i in range(nb_lignes_a_afficher):
print(lignes[i])

"Dim 1","Dim 2","Dim 3","Dim 4","Dim 5","[Link]"

-0.359168816422818,-0.364698786760379,0.224477821344743,-0.272337146300252,0.0227747254682127,"good"

-0.455042759949676,2.04001514555353,1.73022951976883,0.883150228205062,0.195515406866965,"good"

-0.699728913815721,-0.367044208939554,0.28540327765881,-1.00859608627284,0.245814449464481,"bad"

0.604621518631184,-0.157214447593078,0.227405649274657,0.449564308719192,-0.258885583426606,"good"

0.604621518631518,-0.157214447592592,0.227405649274291,0.449564308718727,-0.258885583426482,"good"

-0.395232632824693,0.107246887869652,-0.395960235770232,0.0701850152078038,-0.165653283139742,"good"

-0.395232632824764,0.107246887869692,-0.395960235770231,0.0701850152078121,-0.165653283139729,"good"

1.29361692427923,0.230601070377521,-0.191048781773817,-0.0719920152958275,-0.27918786076106,"good"

-0.568140776261555,0.0499889121728875,-0.303392295909036,-0.762094911748248,0.0782117441900117,"good"

import pandas as pd

# Lecture du fichier texte


donnees = pd.read_csv('[Link]', delimiter=',') # Remplacez "nom_du_fichier.txt" par le nom réel de votre fichier

# Écriture des données dans un fichier CSV


donnees.to_csv('[Link]', index=False) # Remplacez "nom_du_fichier.csv" par le nom souhaité pour votre fichier CSV

import pandas as pd
import numpy as np

df=pd.read_csv("[Link]", sep=',')
[Link]()

[Link] 1/6
28/06/2023 01:09 MCA_DNN - Colaboratory

Dim 1 Dim 2 Dim 3 Dim 4 Dim 5 [Link]

0 -0.359169 -0.364699 0.224478 -0.272337 0.022775 good

1 -0.455043 2.040015 1.730230 0.883150 0.195515 good

2 -0.699729 -0.367044 0.285403 -1.008596 0.245814 bad

3 0.604622 -0.157214 0.227406 0.449564 -0.258886 good


[Link]
4 0.604622 -0.157214 0.227406 0.449564 -0.258886 good

(4446, 6)

[Link]().sum()

Dim 1 0
Dim 2 0
Dim 3 0
Dim 4 0
Dim 5 0
[Link] 0
dtype: int64

[Link]()

<class '[Link]'>
RangeIndex: 4446 entries, 0 to 4445
Data columns (total 6 columns):
# Column Non-Null Count Dtype
--- ------ -------------- -----
0 Dim 1 4446 non-null float64
1 Dim 2 4446 non-null float64
2 Dim 3 4446 non-null float64
3 Dim 4 4446 non-null float64
4 Dim 5 4446 non-null float64
5 [Link] 4446 non-null object
dtypes: float64(5), object(1)
memory usage: 208.5+ KB

[Link]

#liste des colones object pour préparer l'encoding


list_obj = []
for i in range(0,len([Link])):
if [Link][i] == object:
list_obj.append([Link][i])
print("nombre de colonne object:",len(list_obj))
list_obj

#boucle pour l'encoding


for val in list_obj:
encoder=LabelEncoder()
df[val]=encoder.fit_transform(df[val])
print('data after coverting data to numeric')
[Link]

nombre de colonne object: 1


data after coverting data to numeric
(4446, 6)

[Link]()

[Link] 2/6
28/06/2023 01:09 MCA_DNN - Colaboratory

Dim 1 Dim 2 Dim 3 Dim 4 Dim 5 [Link]

Réseau d'apprentissage
0 -0.359169 -0.364699 0.224478 en profondeur-prédiction
-0.272337 0.022775 1 ("Status" soit god ou bad)
1 -0.455043 2.040015 1.730230 0.883150 0.195515 1

2 -0.699729 -0.367044 0.285403 -1.008596 0.245814 0


[Link]éparation des Input
3 0.604622 -0.157214 0.227406 0.449564 -0.258886 1

#transfor our data -0.157214


4 0.604622 to numpy 0.227406 0.449564 -0.258886 1
np_bank = df.to_numpy()
np_bank

array([[-0.35916882, -0.36469879, 0.22447782, -0.27233715, 0.02277473,


1. ],
[-0.45504276, 2.04001515, 1.73022952, 0.88315023, 0.19551541,
1. ],
[-0.69972891, -0.36704421, 0.28540328, -1.00859609, 0.24581445,
0. ],
...,
[ 0.09958959, 0.11060812, -0.3725695 , -0.08603223, 0.46902814,
0. ],
[ 0.43171338, -0.21447242, 0.31997359, -0.38271562, -0.01502056,
1. ],
[-0.56814078, 0.04998891, -0.3033923 , -0.76209491, 0.07821174,
1. ]])

#Separate feature and target variables


X_data = np_bank[:,0:5]
Y_data=np_bank[:,5]

print('feature avant standarisation et arguet avant one-hot-encoding')


X_data[:5,:], Y_data[:5]

feature avant standarisation et arguet avant one-hot-encoding


(array([[-0.35916882, -0.36469879, 0.22447782, -0.27233715, 0.02277473],
[-0.45504276, 2.04001515, 1.73022952, 0.88315023, 0.19551541],
[-0.69972891, -0.36704421, 0.28540328, -1.00859609, 0.24581445],
[ 0.60462152, -0.15721445, 0.22740565, 0.44956431, -0.25888558],
[ 0.60462152, -0.15721445, 0.22740565, 0.44956431, -0.25888558]]),
array([1., 1., 0., 1., 1.]))

#Create a scaler model that is fit on the input data.


scaler = StandardScaler().fit(X_data)
#Scale the numeric feature variables
X_data = [Link](X_data)
#Convert target variable as a one-hot-encoding array
Y_data = [Link].to_categorical(Y_data,2)

print('feature aprés standarisation et targuet aprés one-hot-encoding')


X_data[:5,:], Y_data[:5,:]

feature aprés standarisation et targuet aprés one-hot-encoding


(array([[-0.5660578 , -0.66859043, 0.42532027, -0.53029778, 0.04469113],
[-0.7171572 , 3.73989345, 3.27828236, 1.7196795 , 0.38366235],
[-1.10278786, -0.67289022, 0.54075631, -1.963949 , 0.48236479],
[ 0.95289655, -0.28821614, 0.43086765, 0.87539639, -0.50801444],
[ 0.95289655, -0.28821614, 0.43086765, 0.87539639, -0.50801444]]),
array([[0., 1.],
[0., 1.],
[1., 0.],
[0., 1.],
[0., 1.]], dtype=float32))

#Split training and test data


X_train,X_test,Y_train,Y_test = train_test_split( X_data, Y_data, test_size=0.10)

print('Train Test Dimensions')


print(X_train.shape, Y_train.shape, X_test.shape, Y_test.shape)

Train Test Dimensions


(4001, 5) (4001, 2) (445, 5) (445, 2)

[Link] 3/6
28/06/2023 01:09 MCA_DNN - Colaboratory

[Link] du modèle

model = Sequential([
Dense(64, activation='relu', input_shape=(5,)),
Dense(128, activation='relu'),
Dense(2, activation='softmax')])

[Link] du modèle

[Link](
optimizer='adam',
loss='categorical_crossentropy',
metrics=['accuracy'])

[Link]()

Model: "sequential_2"
_________________________________________________________________
Layer (type) Output Shape Param #
=================================================================
dense_6 (Dense) (None, 64) 384

dense_7 (Dense) (None, 128) 8320

dense_8 (Dense) (None, 2) 258

=================================================================
Total params: 8,962
Trainable params: 8,962
Non-trainable params: 0
_________________________________________________________________

[Link] du modèle

history = [Link](
X_train,
Y_train,
epochs=5,
batch_size=32,
validation_data=(X_test, Y_test))

Epoch 1/5
126/126 [==============================] - 1s 4ms/step - loss: 0.5459 - accuracy: 0.7286 - val_loss: 0.5174 - val_
Epoch 2/5
126/126 [==============================] - 0s 2ms/step - loss: 0.5127 - accuracy: 0.7516 - val_loss: 0.5139 - val_
Epoch 3/5
126/126 [==============================] - 0s 2ms/step - loss: 0.5105 - accuracy: 0.7466 - val_loss: 0.5171 - val_
Epoch 4/5
126/126 [==============================] - 0s 2ms/step - loss: 0.5054 - accuracy: 0.7561 - val_loss: 0.5159 - val_
Epoch 5/5
126/126 [==============================] - 0s 2ms/step - loss: 0.5054 - accuracy: 0.7563 - val_loss: 0.5198 - val_

[Link] de Accuracy et loss

# summarize history for accuracy


[Link]([Link]['accuracy'])
[Link]([Link]['val_accuracy'])
[Link]('model accuracy')
[Link]('accuracy')
[Link]('epoch')
[Link](['train', 'test'], loc='upper left')
[Link]()
# summarize history for loss
[Link]([Link]['loss'])
[Link]([Link]['val_loss'])
[Link]('model loss')
[Link]('loss')
lt l b l(' h')
[Link] 4/6
28/06/2023 01:09 MCA_DNN - Colaboratory
[Link]('epoch')
[Link](['train', 'test'], loc='upper left')
[Link]()

[Link] du modèle

[Link](X_test, Y_test)

14/14 [==============================] - 0s 2ms/step - loss: 0.5198 - accuracy: 0.7551


[0.5198062062263489, 0.7550562024116516]

[Link] du modèle

[Link]("bank_model_deep_learning")

#Loading a Model
loaded_model = [Link].load_model("bank_model_deep_learning")

#Print Model Summary


#loaded_model.summary()

[Link] 5/6
28/06/2023 01:09 MCA_DNN - Colaboratory

WARNING:absl:Found untraced functions such as _update_step_xla while saving (showing 1 of 1). These functions will

[Link]édection d'une donnée

#Raw prediction data


prediction_input = [[0.9856072 , 1.1750383 ,-1.9758729, -1.7555479 ,-5.0619728 ]]

#Scale prediction data with the same scaling model


scaled_input = [Link](prediction_input)

#Get raw prediction probabilities


raw_prediction = [Link](scaled_input)
print("Raw Prediction Output (Probabilities) :" , raw_prediction)

#Find prediction
prediction = [Link](raw_prediction)
print("Prediction is ", encoder.inverse_transform([prediction]))

1/1 [==============================] - 0s 136ms/step


Raw Prediction Output (Probabilities) : [[1.33274245e-08 1.00000000e+00]]
Prediction is ['good']

check 0 s terminée à 01:09

[Link] 6/6
Résumé

Ce mémoire explore l'utilisation de l'Analyse en Correspondance Multiple


(ACM) pour explorer des données qualitatives. Le premier chapitre présente la
méthode de l'ACM, ses concepts clés et les étapes d'analyse. Le deuxième
chapitre se concentre sur l'objet ACM de FactoMineR et ses fonctionnalités.
Enfin, le troisième chapitre applique l'ACM à des données réelles, décrivant le
contexte, la préparation des données et les résultats obtenus. Le mémoire
découvert sur l'importance de l'ACM pour explorer les structures de données
qualitatives et offrir des perspectives pour de futures recherches.
MCA, FactomineR, données catégorielles, Réduction de
dimension, codage binaire, Visualisation des données, Décomposition en
valeurs singulières
Summary

This thesis explores the use of Multiple Correspondence Analysis (MCA) to


explore qualitative data. The first chapter presents the ACM method, its key
concepts and the analysis steps. The second chapter focuses on the ACM object
of FactoMineR and its functionalities. Finally, the third chapter applies MCA to
real data, describing the context, the preparation of the data and the results
obtained. The thesis revealed the importance of AMC for exploring qualitative
data structures and offering insights for future research.
MCA, FactomineR, categorical data, Dimension reduction, binary
coding, Data visualization, Singular value decomposition

‫ﻣﻠﺨﺺ‬

‫ يقدم‬.‫) الستكشاف البيانات النوعية‬MCA( ‫تستكشف هذه الرسالة استخدام تحليل المراسالت المتعددة‬
‫ يركز الفصل الثاني على موضوع‬.‫ ومفاهيمها األساسية وخطوات التحليل‬ACM ‫الفصل األول طريقة‬
‫ يطبق الفصل الثالث حساب تحدي األلفية على البيانات‬، ‫أخيرا‬
ً .‫ ووظائفها‬FactoMineR ‫ لـ‬ACM
‫ كشفت األطروحة أهمية‬.‫ وإعداد البيانات والنتائج التي تم الحصول عليها‬، ‫ ويصف السياق‬، ‫الحقيقية‬
.‫ الستكشاف هياكل البيانات النوعية وتقديم رؤى للبحوث المستقبلية‬AMC
‫ تحليل القيمة‬، ‫ تصور البيانات‬، ‫ الترميز الثنائي‬، ‫ تقليل األبعاد‬، ‫البيانات الفئوية‬
‫المفردة‬

Vous aimerez peut-être aussi