Vous êtes sur la page 1sur 29

Tutorial PCA in R

https://app.datacamp.com/learn/tut
orials/pca-analysis-r
Introduction
Qu’est ce qui rend un client heureux à partir
d'un ensemble de données contenant ces cinq
caractéristiques: les dépenses mensuelles,
l'âge, le sexe, la fréquence d'achat et la
notation des produits.
Qu’est ce que l’ACP (PCA)
Il s'agit d'une approche statistique qui peut être utilisée
pour analyser les données de grande dimension et en
capturer les informations les plus importantes.
Cela se fait en transformant les données d'origine en un
espace de plus faible dimension tout en rassemblant
des variables fortement corrélées.
Dans notre scénario, PCA choisirait trois caractéristiques
telles que les dépenses mensuelles, la fréquence
d'achat et la notation des produits. Cela pourrait
faciliter la visualisation et la compréhension des
données.
Comment fonctionne l’ACP
L'APC, contrairement aux autres techniques, ne
fonctionne qu'avec des variables
quantitatives.
Les 5 étapes de l’ACP
Étape 1 - Normalisation des données

En considérant l'exemple dans l'introduction, considérons, par


exemple, les informations suivantes pour un client donné.
• Dépenses mensuelles : 300 dollars
• Age : 27 ans
• Notation: 4.5

Ces informations ont des échelles différentes et la réalisation


d'ACP à l'aide de ces données conduira à un résultat biaisé.
C'est là qu'intervient la normalisation des données. Il
garantit que chaque attribut a le même niveau de
contribution, empêchant une variable de dominer les
autres. Pour chaque variable, la normalisation se fait en
soustrayant sa moyenne et en divisant par son écart-type
Etape 2: Matrice de Covariance
Cette étape consiste à calculer la matrice de
covariance à partir des données normalisées.
Il s'agit d'une matrice symétrique, et chaque
élément (i, j) correspond à la covariance entre
variables i et j.
Etape 3: Vecteurs propres et valeurs
propres
Géométriquement, un vecteur propre
représente une direction telle que «verticale»
ou «90 degrés». Une valeur propre, en
revanche, est un nombre représentant la
quantité de variance présente dans les
données pour une direction donnée. Chaque
vecteur propre a sa valeur propre
correspondante.
Etape 4: Sélection des composantes
principales
Il y a autant de paires de vecteurs propres et de
valeurs propres que le nombre de variables dans
les données. Dans les données avec seulement
des dépenses mensuelles, l'âge et le taux, il y
aura trois paires. Toutes les paires ne sont pas
pertinentes. Ainsi, le vecteur propre avec la
valeur propre la plus élevée correspond à la
première composante principale. La deuxième
composante principale est le vecteur propre avec
la deuxième plus grande valeur propre, et ainsi de
suite.
Etape 5: Transformation des données par
projection sur les directions principales
Cette étape consiste à réorienter les données
d'origine sur un nouveau sous-espace défini par
les composants principaux. Cette réorientation se
fait en multipliant les données d'origine par les
vecteurs propres précédemment calculés.
Il est important de se rappeler que cette
transformation ne modifie pas les données
d'origine elles-mêmes, mais fournit plutôt une
nouvelle perspective pour mieux représenter les
données.
Préparation de l’environnement R
install.packages("corrr")
library('corrr‘)

install.packages("ggcorrplot")
library(ggcorrplot)

install.packages("FactoMineR")
library("FactoMineR")
Chargement des données
protein_data <- read.csv("protein.csv")
str(protein_data)
Vérifications
La présence de valeurs manquantes peut biaiser
le résultat de l'APC. Il est donc fortement
recommandé d'adopter l'approche appropriée
pour s'attaquer à ces valeurs.

colSums(is.na(protein_data))
Normalisation des données
Le code ci-dessous crée de nouvelles données
avec seulement des colonnes numériques.
numerical_data <- protein_data[,2:10]
head(numerical_data)

data_normalized <- scale(numerical_data)


head(data_normalized)
Normalisation des données: suite
Matrice de corrélation
Même si la matrice de covariance est indiquée
dans les cinq étapes précédentes, la
corrélation peut également être utilisée, et
peut être calculée à l'aide du cor()fonction à
partir du boîtier de corrr.
Le ggcorrplot()peuvent être appliqués alors
pour une meilleure visualisation.
corr_matrix <- cor(data_normalized)
ggcorrplot(corr_matrix)
Matrice de corrélation: Suite
Mise en route de la PCA
Maintenant, toutes les ressources sont
disponibles pour mener l'analyse de l'APC.
Tout d'abord, le princomp()calcule l'APC, et
summary()fonction montre le résultat.

data.pca <- princomp(corr_matrix)


summary(data.pca)
Mise en route PCA: suite
Directions Principales
La proportion cumulée de Comp.1 et Comp.2 explique près de
89 % de la variance totale. Cela signifie que les deux premiers
composants principaux peuvent représenter avec précision les
données.

C'est génial d'avoir les deux premiers composants,


mais qu'est-ce qu'ils signifient vraiment ?

Il est possible d'y répondre en explorant comment ils se rapportent à


chaque colonne en utilisant les chargements de chaque composant
principal.

data.pca$loadings[, 1:2]
Matrice des 2 composantes principales
Visualisation des principaux éléments:
Scree Plot
Il est utilisé pour visualiser l'importance de
chaque composant principal et peut être utilisé
pour déterminer le nombre de composants
principaux à conserver. Il peut être générée à
l'aide du fviz_eig()fonction.

fviz_eig(data.pca, addlabels = TRUE)


Scree Plot: suite
Bi Plot des variables
Avec le biplot, il est possible de visualiser les
similitudes et les dissimilarités entre les
échantillons, et montre en outre l'impact de
chaque attribut sur chacune des composantes
principales.
# Graph of the variables
fviz_pca_var(data.pca, col.var = "black")
Bi Plot des variables: suite
Contribution de chaque variable
L'objectif de la troisième visualisation est de déterminer
combien chaque variable est représentée dans une
composante donnée. Une telle qualité de représentation
est appelée Cos2 et correspond à la cosinus carrée, et elle
est calculée à l'aide du cosinus2 fviz_cos2fonction.

Une valeur faible signifie que la variable n'est pas


parfaitement représentée par cette composante.
Par contre, une valeur élevée signifie une bonne
représentation de la variable sur cette composante.

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


Contribution de chaque variable: Suite
Biplot combiné avec cos2
Les deux dernières approches de visualisation:
l'importance du biplot et des attributs peut être
combinée pour créer un seul biplot, où les
attributs avec des scores de cos2 similaires
auront des couleurs similaires. Cet objectif est
atteint en aciant fviz_pca_varfonction suivante:

fviz_pca_var(data.pca, col.var = "cos2",


gradient.cols = c("black", "orange", "green"),
repel = TRUE)
Biplot combiné avec cos2: suite

Vous aimerez peut-être aussi