introduction au data mining -...

97
Introduction au Data Mining Julien JACQUES Université de Lyon, Lyon 2 & ERIC EA 3083 1 / 71

Upload: phamnguyet

Post on 17-Aug-2019

274 views

Category:

Documents


11 download

TRANSCRIPT

Introduction au Data Mining

Julien JACQUES

Université de Lyon, Lyon 2 & ERIC EA 3083

1 / 71

Le data mining : qu’est-ce donc ?

Fouille de données / data mining1

Ensemble d’approches statistiques permettant d’extraire de l’informationde grands jeux de données dans une perspectives d’aide à la décision.

1P. Besse et al., Data Mining et Statistique, Journal de la Société Française deStatistique, 142[1], 2001.

2 / 71

Le data mining : quelques références

Quelques ouvrages : d’abordable à plus technique...

3 / 71

Le data mining : quelques références

Sites internet� nombreux cours, e-books, tutoriels (R, tanagra, Excel) :

http://eric.univ-lyon2.fr/~ricco/data-mining/

� site de S. Tufféry : http://data.mining.free.fr� site de l’équipe de Rennes : http://www.sthda.com/french/

4 / 71

Julien Jacques

Le data mining : à quoi cela sert ?

� publicité ciblée sur internet� reconnaissance faciale dans une image� reconnaissance de la parole� analyse automatique de contenus textuels (text mining)� évaluer le risque d’un client (credit scoring)� identification des prospects les plus susceptibles de devenir clients� prévision de consommation d’électricité� prévision de traffic routier� détection de fraudes bancaires� ...

5 / 71

Le data mining : panorama des méthodes

fouille de données

méthodesprédictives

méthodesdescriptives

6 / 71

Le data mining : panorama des méthodes

méthodesprédictives

classificationsupervisée

prédireY quali.

régressionprédire

Y quanti.

méthodesdescriptives

détectionsde liens

recherched’associations

analysefactorielleACP, AFC,

ACM

clustering

7 / 71

Le data mining : panorama des méthodes

Ce qui est abordé dans ce cours :� visualiser les données : analyse factorielle (ACP)� définir des groupes d’observations homogènes : clustering

(classification automatique, classification non supervisée,segmentation, typologie...)

� classer des individus dans des classes définies a priori : classificationsupervisée (discrimination, analyse discriminante, scoring)

8 / 71

Le data mining : des data...

Les dataOn stocke généralement les données sous forme d’un tableau (matrice)

x11 x12 . . . x1px21 x22 . . . x2p...

......

...xn1 xn2 . . . xnp

où :� une ligne = une observation, un individu, parfois notée

xi = (xi1, . . . , xip)

� une colonne = une variable� xij : valeur de la j-ème variable pour le i-ème individu� n est le nombre d’observations et p le nombre de variables

9 / 71

Le data mining : des data...

Les données Xij peuvent être de différent type� quantitatives (mesurables)� catégorielles (nominales, ordinales)� textuelles...

Dans ce cours nous ne considérerons que des variables quantitativesXij ∈ R

10 / 71

Le data mining : des data...

Les données Xij peuvent être de différent type� quantitatives (mesurables)� catégorielles (nominales, ordinales)� textuelles...

Dans ce cours nous ne considérerons que des variables quantitativesXij ∈ R

10 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

11 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

12 / 71

Un exemple de données

Données USArrests :� nombres d’agressions, de meurtres et de viols (par 100 000

habitants)� pourcentage de population urbaine� pour chacun des 50 états des USA en 1973

On dispose donc d’une matrice de 50 lignes (les 50 états) et 4 colonnes.

13 / 71

Visualiser les données lorsque p = 1

� Question 1 : représenter le pourcentage de population urbaine.

� Réponse : histogrammeHistogram of USArrests$UrbanPop

USArrests$UrbanPop

Fre

quen

cy

30 40 50 60 70 80 90 100

02

46

810

12

14 / 71

Visualiser les données lorsque p = 1

� Question 1 : représenter le pourcentage de population urbaine.� Réponse : histogramme

Histogram of USArrests$UrbanPop

USArrests$UrbanPop

Fre

quen

cy

30 40 50 60 70 80 90 100

02

46

810

12

14 / 71

Visualiser les données lorsque p = 2

� Question 2 : représenter le nombre d’agressions en fonction dupourcentage de population urbaine.

� Réponse : nuage de points

50 100 150 200 250 300

3040

5060

7080

90

USArrests$Assault

US

Arr

ests

$Urb

anP

op

15 / 71

Visualiser les données lorsque p = 2

� Question 2 : représenter le nombre d’agressions en fonction dupourcentage de population urbaine.

� Réponse : nuage de points

50 100 150 200 250 300

3040

5060

7080

90

USArrests$Assault

US

Arr

ests

$Urb

anP

op

15 / 71

Visualiser les données lorsque p > 2

� Question 3 : représenter le nombre d’agressions, de meurtres et deviols en fonction du pourcentage de population urbaine.

� Réponse : ???

Mathématiquement� chaque observation est un point dans un espace de 4 dimensions :

R4

� on ne peut visualiser un espace de dimension supérieur à 3 (etencore en dimension 3 ce n’est pas si facile...)

� ce que l’on sait bien visualiser est la dimension 2 !

16 / 71

Visualiser les données lorsque p > 2

� Question 3 : représenter le nombre d’agressions, de meurtres et deviols en fonction du pourcentage de population urbaine.

� Réponse : ???

Mathématiquement� chaque observation est un point dans un espace de 4 dimensions :

R4

� on ne peut visualiser un espace de dimension supérieur à 3 (etencore en dimension 3 ce n’est pas si facile...)

� ce que l’on sait bien visualiser est la dimension 2 !

16 / 71

Visualiser les données lorsque p > 2

� Question 3 : représenter le nombre d’agressions, de meurtres et deviols en fonction du pourcentage de population urbaine.

� Réponse : ???

Mathématiquement� chaque observation est un point dans un espace de 4 dimensions :

R4

� on ne peut visualiser un espace de dimension supérieur à 3 (etencore en dimension 3 ce n’est pas si facile...)

� ce que l’on sait bien visualiser est la dimension 2 !

16 / 71

Visualiser les données lorsque p > 2

� Question 3 : représenter le nombre d’agressions, de meurtres et deviols en fonction du pourcentage de population urbaine.

� Réponse : une solution non optimale, le biplot

Murder

50 100 150 200 250 300 10 20 30 40

510

15

5010

020

030

0

Assault

UrbanPop

3040

5060

7080

90

5 10 15

1020

3040

30 40 50 60 70 80 90

Rape

17 / 71

Visualiser les données lorsque p > 2

� Question 3 : représenter le nombre d’agressions, de meurtres et deviols en fonction du pourcentage de population urbaine.

� Réponse : une solution optimale, l’analyse en composantesprincipales (ACP)

17 / 71

Analyse en composantes principales

Les dataOn stocke les données sous forme d’une matrice

x11 x12 . . . x1px21 x22 . . . x2p...

......

...xn1 xn2 . . . xnp

où xij : valeur de la j-ème variable pour le i-ème individu.On définit :� la moyenne de la variable j : xj = 1

n

∑ni=1 xij

� l’écart-type de la variable j : sj =√

1n

∑ni=1(xij − xj )2

� la distance entre deux individus : d(xi ,xi′) =√∑p

j=1(xij − xi′ j )2

18 / 71

Analyse en composantes principales

Les objectifs� visualiser les données (nuage de points en dimension p) dans un

espace de faible dimension (2)� identifier des individus semblables� identifier des liens entre variables (liens linéaires, coefficient de

corrélation)

19 / 71

Analyse en composantes principales

Pré-traitement : centrage réduction� centrer les données (retrancher à chaque variable sa moyenne) ne

modifie pas la forme du nuage : on le fera toujours

150 160 170 180 190 200

4050

6070

8090

100

taille en cm

poids

en kg

−20 −10 0 10 20 30

−30

−20

−10

010

2030

taille centrée en cm

poids

centr

é en k

g

20 / 71

Analyse en composantes principales

Pré-traitement : centrage réduction� centrer les données (retrancher à chaque variable sa moyenne) ne

modifie pas la forme du nuage : on le fera toujours� réduire les données (diviser chaque variable pas son écart-type)

permet de s’affranchir des unités de mesures. En effet, lechangement d’unité de mesure modifie la forme du nuage de points :

−30 −20 −10 0 10 20 30

−20

−10

010

2030

taille centrée en cm

poids

centr

é en k

g

−30 −20 −10 0 10 20 30

−20

−10

010

2030

taille centrée en m, centrée en 0

poids

centr

é en k

g

20 / 71

Analyse en composantes principales

Pré-traitement : centrage réduction� centrer les données (retrancher à chaque variable sa moyenne) ne

modifie pas la forme du nuage : on le fera toujours� réduire les données (diviser chaque variable pas son écart-type)

permet de s’affranchir des unités de mesures.� Ainsi, on transformera chaque les observations comme suit :

xij →xij − xj

sj

20 / 71

Analyse en composantes principales

Recherche du sous-espace de projection optimal� Visuellement

� Caractérisation mathématique� projeter le nuage diminue nécessairement les distances entre individus� ⇒ limiter la déformation = maximiser les distances entre individus� maximiser les distances entre individus⇔ maximiser la variance du

nuage de points projeté

21 / 71

Analyse en composantes principales

Recherche du sous-espace de projection optimal� Visuellement

� Caractérisation mathématique� projeter le nuage diminue nécessairement les distances entre individus� ⇒ limiter la déformation = maximiser les distances entre individus� maximiser les distances entre individus⇔ maximiser la variance du

nuage de points projeté

21 / 71

Analyse en composantes principales

Recherche du sous-espace de projection optimal� Résolution

� on recherche le premier axe (factoriel) f1 maximisant la variance despoints projetés

� on recherche ensuite un second f2 selon le même critère, mais orthogonalà f1 pour ne pas transcrire d’information redondante

� (f1, f2) forme le premier plan factoriel.� on peut continuer avec f3, f4, ... suivant la quantité d’information qu’ils

retranscrivent

� Mathématiquement� chaque axe factoriel fj est un axe dans l’espace Rp : il peut être vu

comme une nouvelle variable, synthétique, définie comme unecombinaison linéaire des variables initiales

� f1, f2, ... sont les vecteurs propres de la matrice de variance Σ associésaux plus grande valeurs propres λ1 > λ2 > ...

22 / 71

Analyse en composantes principales

Recherche du sous-espace de projection optimal� Résolution

� on recherche le premier axe (factoriel) f1 maximisant la variance despoints projetés

� on recherche ensuite un second f2 selon le même critère, mais orthogonalà f1 pour ne pas transcrire d’information redondante

� (f1, f2) forme le premier plan factoriel.� on peut continuer avec f3, f4, ... suivant la quantité d’information qu’ils

retranscrivent� Mathématiquement

� chaque axe factoriel fj est un axe dans l’espace Rp : il peut être vucomme une nouvelle variable, synthétique, définie comme unecombinaison linéaire des variables initiales

� f1, f2, ... sont les vecteurs propres de la matrice de variance Σ associésaux plus grande valeurs propres λ1 > λ2 > ...

22 / 71

Analyse en composantes principales

ACP sous R� library(FactoMineR)

� res.pca <- PCA(USArrests, graph = FALSE)

23 / 71

Analyse en composantes principales

Interprétation des axes factoriels� on examine les corrélations entre les variables initiales et les axes

(variables) factoriel(le)s : r(xj , f`) ∈ [−1,1]plot(res.pca,choix = "var")

−1.5 −1.0 −0.5 0.0 0.5 1.0 1.5

−1.

0−

0.5

0.0

0.5

1.0

Variables factor map (PCA)

Dim 1 (62.01%)

Dim

2 (

24.7

4%)

Murder

Assault

UrbanPop

Rape

24 / 71

Analyse en composantes principales

Interprétation des axes factoriels� on examine les corrélations entre les variables initiales et les axes

(variables) factoriel(le)s : r(xj , f`) ∈ [−1,1]plot(res.pca,choix = "var")

24 / 71

Analyse en composantes principales

Représentation (projection) des individus� on projette les individus sur les axes (variables) factoriel(le)s :plot(res.pca,choix = "ind")

−2 0 2

−3

−2

−1

01

2

Individuals factor map (PCA)

Dim 1 (62.01%)

Dim

2 (

24.7

4%)

Alabama Alaska

Arizona

Arkansas

California

ColoradoConnecticut

Delaware

Florida

Georgia

Hawaii

Idaho

Illinois

IndianaIowaKansas

KentuckyLouisiana

Maine Maryland

Massachusetts

Michigan

Minnesota

Mississippi

Missouri

Montana

Nebraska

Nevada

New Hampshire

New Jersey

New Mexico

New York

North Carolina

North Dakota

Ohio

Oklahoma

OregonPennsylvania

Rhode Island

South Carolina

South Dakota Tennessee

Texas

Utah

Vermont

Virginia

Washington

West Virginia

Wisconsin

Wyoming

25 / 71

Analyse en composantes principales

Représentation (projection) des individus� on projette les individus sur les axes (variables) factoriel(le)s :plot(res.pca,choix = "ind")

25 / 71

Analyse en composantes principales

Choix du nombre d’axes factoriels� on calcule le pourcentage d’information retranscrite par chaque axe :barplot(res.pca$eig[,2],main="Pourcentage devariance expliquée")

62.01 24.74 8.91 4.34

Pourcentage de variance expliquée

010

2030

4050

60

26 / 71

Analyse en composantes principales

Choix du nombre d’axes factoriels� on calcule le pourcentage d’information retranscrite par chaque axe :barplot(res.pca$eig[,2],main="Pourcentage devariance expliquée")

26 / 71

Analyse en composantes principales

Choix du nombre d’axes factorielsPlusieurs façon de choisir� retenir le nombre d’axes pour expliquer au moins 80% de la variance� rechercher un coude dans l’ébouli des valeurs propres

27 / 71

Analyse en composantes principales

Aide à l’interprétation - variables� corrélation variables/axes : res.pca$var$coord

Dim.1 Dim.2 Dim.3 Dim.4Murder 0.84 -0.41 0.20 0.27Assault 0.91 -0.18 0.16 -0.30UrbanPop 0.43 0.86 0.22 0.05Rape 0.85 0.16 -0.48 0.03

� contributions des variables aux axes : res.pca$var$contribDim.1 Dim.2 Dim.3 Dim.4 total

Murder 28.71 17.48 11.64 42.14 100Assault 34.01 3.53 7.19 55.26 100UrbanPop 7.73 76.17 14.28 1.79 100Rape 29.53 2.79 66.87 0.79 100

� qualité de la représentation des variables sur les axes :res.pca$var$cos2

28 / 71

Analyse en composantes principales

Aide à l’interprétation - variables� corrélation variables/axes : res.pca$var$coord

Dim.1 Dim.2 Dim.3 Dim.4Murder 0.84 -0.41 0.20 0.27Assault 0.91 -0.18 0.16 -0.30UrbanPop 0.43 0.86 0.22 0.05Rape 0.85 0.16 -0.48 0.03

� contributions des variables aux axes : res.pca$var$contribDim.1 Dim.2 Dim.3 Dim.4 total

Murder 28.71 17.48 11.64 42.14 100Assault 34.01 3.53 7.19 55.26 100UrbanPop 7.73 76.17 14.28 1.79 100Rape 29.53 2.79 66.87 0.79 100

� qualité de la représentation des variables sur les axes :res.pca$var$cos2

28 / 71

Analyse en composantes principales

Aide à l’interprétation - variables� corrélation variables/axes : res.pca$var$coord

Dim.1 Dim.2 Dim.3 Dim.4Murder 0.84 -0.41 0.20 0.27Assault 0.91 -0.18 0.16 -0.30UrbanPop 0.43 0.86 0.22 0.05Rape 0.85 0.16 -0.48 0.03

� contributions des variables aux axes : res.pca$var$contribDim.1 Dim.2 Dim.3 Dim.4 total

Murder 28.71 17.48 11.64 42.14 100Assault 34.01 3.53 7.19 55.26 100UrbanPop 7.73 76.17 14.28 1.79 100Rape 29.53 2.79 66.87 0.79 100

� qualité de la représentation des variables sur les axes :res.pca$var$cos2

28 / 71

Analyse en composantes principales

Aide à l’interprétation - individus� coordonnées des individus sur les axes : res.pca$ind$coord� contributions des individus aux axes : res.pca$ind$contrib� qualité de la représentation des individus sur les axes :res.pca$ind$cos2

29 / 71

Analyse en composantes principales

Individus et variables supplémentaires� il est possible de mettre des individus et/ou des variables

(quantitatives ou qualitatives) en supplémentaire, ce qui signifie qu’ilsn’interviennent pas dans le calcul des axes factoriels, mais ils serontreprésentés et il sera possible d’interpréter leur positions :PCA(..., ind.sup = NULL, quanti.sup = NULL,quali.sup = NULL, ...)

30 / 71

Analyse en composantes principales

Exercice d’application� Réaliser une ACP du jeu de données autos.xls, en indiquant les

variables finition, prix et r-poid.puis en supplémentaire.

31 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

32 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

33 / 71

Clustering (non supervisé) et classification (supervisée)

Notations :� les individus (observations) sont décrits par un ensemble de p

variables aléatoires explicatives X = (X1, . . . ,Xp) ∈ Rp

� Xi = (Xi1, . . . ,Xip) sont les variables explicatives pour l’individu i(1 ≤ i ≤ n)

� si les individus sont répartis en groupes ou si on cherche à les répartiren groupe : Zi ∈ {1, . . . ,K} est le numéro de la classe de l’individu i

34 / 71

Clustering (non supervisé) vs classification (supervisée)

Clustering� Zi inconnue (aucune signification a priori)� objectif : à partir de l’observation de X1, . . . ,Xn, prédire Z1, . . . ,Zn

� les classes sont ensuite interprétées dans le but de leur donner unesignification concrète

Classification� Zi connue (signification connue a priori)� objectif : à partir de l’observation de (X1,Z1), . . . , (Xn,Zn) construire

une règle de classement r :

r : X −→ r(X ) = Z

� utiliser cette règle de classement pour classer de nouveaux individusde classes inconnues

35 / 71

Applications

Clustering� analyse exploratoire : donner une représentation simplifiée des

données pour mieux les comprendre� exemple : typologie clients en marketing (Gestion de la relation

clients / CRM - Customer Relationship Management)

Classification� analyse prédictive : prédire une variable (Z ) qualitative à partir de

variables explicatives (X)� exemples : prédire si un prospect va acheter le produit qu’on lui

propose, prédire la probabilité qu’un patient soit atteint d’une certainemaladie...

36 / 71

Distances entre individus

Distances pour données quantitatives E = Rp

d2(Xi ,Xj ) = (Xi − Xj )tM(Xi − Xj )

� distance euclidienne (M = I) :

d(Xi ,Xj ) =

( p∑`=1

(Xi` − Xj`)2

)1/2

� distance de Mahalanobis (M = Σ−1 où Σ la matrice de covariance) :si les variables sont non corrélées, cela revient à la distanceeuclidienne sur les données réduites

37 / 71

Comparaison de partitions

On utilise souvent l’indice de Rand pour comparer deux partitionsZ1 = (Z11, . . . ,Z1n) et Z2 = (Z21, . . . ,Z2n) :

R =a + d

a + b + c + d=

a + d(2n

) ∈ [0,1]

où, parmi les(2

n

)paires d’individus possibles :

� a : nombre de paires dans une même classe dans Z1 et dans Z2

� b : nombre de paires dans une même classe dans Z1 mais séparéesdans Z2

� c : nombre de paires séparées dans Z1 mais dans une même classedans Z2

� d : nombre de paires dans séparées dans Z1 et dans Z2

38 / 71

Comparaison de partitions

Sous :la fonction adjustedRandIndex() du package mclust calcule uneversion ajustée de cet indice (ajustée de sorte que 2 partitions aléatoiresaient un index nul).

39 / 71

Exercice

Deux méthodes de clustering ont conduit aux 2 partitions suivantes :� Z1 = {1,1,2,2,2}� Z2 = {1,2,2,1,2}Calculer l’indice de Rand de ces deux partitions.

Correction : a = 1, d = 3,(2

5

)= 10 et R = 0.4

40 / 71

Exercice

Deux méthodes de clustering ont conduit aux 2 partitions suivantes :� Z1 = {1,1,2,2,2}� Z2 = {1,2,2,1,2}Calculer l’indice de Rand de ces deux partitions.

Correction : a = 1, d = 3,(2

5

)= 10 et R = 0.4

40 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

41 / 71

Algorithme des k-meanskmeans{stats}

On se place dans E = Rp muni de la distance euclidienne.

Algorithm 1 kmeans1: init. : tirages au hasard de K centres µk parmi les n observations2: while partition non stable do3: affecter chaque observation à la classe dont le centre est le plus

proche4: recalculer les centres (moyennes) des classes5: end while

42 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Illustration de l’algorithme des k-means

43 / 71

Algorithme des k-meanskmeans{stats}

Propriétés� l’algorithme des k-means minimise l’inertie intra-classe W (Z) :

T = B(Z) + W (Z)

� T =n∑

i=1

d2(Xi , µ) : inertie totale du nuage de point (µ est le centre global)

� B(Z) =K∑

k=1

nk d2(µk , µ) : inertie inter-classe (nk nb. obs. dans classe k )

� W (Z) =K∑

k=1

∑i=1,n:Zi=k

d2(Xi , µk ) : inertie intra-classe

� l’algorithme des k-means est convergeant� la solution peut dépendre de l’initialisation (⇒ en pratique on réalise

plusieurs init. et on conserve celle minimisant W (Z))44 / 71

Choix du nombre de classes

� on sait que l’inertie intra-classe W (Z) diminue lorsque K augmente� choix de K : recherche d’un coude dans la décroissance de W (Z) :

1 2 3 4 5 6 7

24

68

10

K

iner

tie in

tra−

clas

se

coude

45 / 71

Exercice

Réaliser une classification automatique en 2 classes à l’aide del’algorithme de k-means sur les données suivantes :� X1 = 0� X2 = 2� X3 = 6� X4 = 11Avez-vous tous obtenus les mêmes partitions ?

Correction sous : kmeans(c(0,2,6,11),centers=c(2,6))

46 / 71

Exercice

Réaliser une classification automatique en 2 classes à l’aide del’algorithme de k-means sur les données suivantes :� X1 = 0� X2 = 2� X3 = 6� X4 = 11Avez-vous tous obtenus les mêmes partitions ?

Correction sous : kmeans(c(0,2,6,11),centers=c(2,6))

46 / 71

Exercice d’application

1. Réaliser un clustering du jeu de données autos.xls, en choisissantde façon adéquat le nombre de classes, sans utilisant les variablesfinition, prix et r-poid.puis.

2. Réaliser un clustering du jeu de données iris en 3 classes, etcomparer la partition obtenue avec l’espèce des fleurs.

47 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

48 / 71

Algorithme de CAH hclust{stats}

Soit D une distance entre classe (critère d’agrégation).

Algorithm 2 CAH1: init. : chaque singleton (observation) constitue une classe2: while plus d’une classe do3: calculer les distances D entre chaque classe 2 à 24: regrouper les deux classes les plus proches5: end while

49 / 71

CAH : quel critère d’agrégation ?Soit A et B deux classes (ensembles d’individus). Soit d une distanceentre individus.� single linkage (saut minimum)

D(A,B) = min{d(X,Y),X ∈ A,Y ∈ B}

� complete linkage (saut maximum)

D(A,B) = max{d(X,Y),X ∈ A,Y ∈ B}

� distance moyenne

D(A,B) =∑X∈A

∑Y∈B

d(X,Y)

#A#B

� WardD(A,B) =

#A#B#A + #B

d2(µA, µB)

où µA et µB sont les centres de gravité des classes A et B50 / 71

CAH : quel critère d’agrégation ?

Propriétés des critères.� Ward agglomère les deux classes minimisant l’inertie intra-classe� Ward est sous-optimal par rapport à k-means car on se restreint à

regrouper 2 classes parmi la partition courante� les critères du saut minimum et maximum sont peu dépendant de

l’échelle numérique.

51 / 71

CAH : représentation graphiqueOn représente le résultat d’une CAH par un dendogramme dontl’ordonnée est la valeur du critère d’agrégation.

1

23

4

5

6

7

8

7 8 5 6 4 1 2 3

02

46

810

12

Cluster Dendrogram

hclust (*, "ward")

52 / 71

Exercice

� Réaliser une CAH sur les données suivantes à l’aide des critères dusaut minimum et du saut maximum :� X1 = 0� X2 = 2� X3 = 6� X4 = 11

� Représenter le dendogramme.� Comparer les partitions en 2 classes avec celle obtenue par les

k-means ?

53 / 71

1. Réaliser un clustering du jeu de données autos.xls, en choisissantde façon adéquat le nombre de classes, sans utilisant les variablesfinition, prix et r-poid.puis.

2. Réaliser un clustering du jeu de données iris en 3 classes, etcomparer la partition obtenue avec l’espèce des fleurs.

3. Pour chaque jeu de données, comparer les partitions obtenues par laméthodes des k-means et la CAH.

54 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

55 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

56 / 71

Comparaison de méthodes (1/2)

Comment comparer différentes méthodes de classification supervisée ?

Les pièges à éviter� erreur apparente : comparer des méthodes en terme de taux de bon

classement sur l’échantillon d’apprentissage ayant servi à estimer lesparamètres favorisera toujours les méthodes les plus complexes

57 / 71

Comparaison de méthodes (1/2)

Comment comparer différentes méthodes de classification supervisée ?

On utilisera� un échantillon test : le taux de bon classement sera évalué sur un

échantillon test n’ayant pas servi à estimer les règles de classement(découpage éch. existant en 2/3 apprentissage 1/3 test)

� la validation croisée (cross validation - CV) Leave One Out

CV =1n

n∑i=1

1Iz(i)=zi

où z(i) est la prédiction de la classe du ième individu obtenu sansutiliser cet individu pour estimer les paramètres du modèle

� la validation croisée K-fold où l’échantillon d’apprentissage estdécoupé en K partie, chaque partie servant tour à tour d’échantillontest (leave one out = n-fold)

58 / 71

Comparaison de méthodes (2/2)

� l’aire sous la courbe ROC (AUC) dans le cas de K = 2 classes,évaluée sur éch. test ou par CV

prédit totalZ = 0 Z = 1

réel Z = 0 VN FP NZ = 1 FN VP P

total N P n

� positif : relatif à une modalité de référence (Z = 1, malade, achat...)� s : seuil tel que Z = 1 si p(Z = 1) ≥ s� Se(s) = VP

VP+FN : sensibilité (taux de vrais positifs)� 1− Sp(s) = 1− VN

VN+FP : 1-spécificité (taux de faux positifs)

59 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

60 / 71

K plus proches voisins (K NN)Idées :� On compte parmi les K plus proches voisins d’un points x à classer le

nombre de points nk de chaque classe (1 ≤ k ≤ K ).� On estime alors la probabilité que x appartienne à la classe k par :

tk (x) =nk

K

61 / 71

K plus proches voisins (K NN)

Remarques� choix de K crucial : CV, AUC, éch. test...� plus n est grand, plus on peut se permettre de prend un K grand

Packages� knn{class}

62 / 71

Exercice

� Prédire l’appartenance du point X5 = 4 à l’une des deux classessuivantes, par la méthode K NN avec différentes valeurs de K :� classe 1 : X1 = 0, X2 = 2� classe 2 : X3 = 6, X4 = 11

63 / 71

Plan

Analyse en composantes principales

ClusteringGénéralitésMéthode des centres mobiles (k-means)Classification Ascendante Hiérarchique

ClassificationGénéralitésMéthode des K plus proches voisinsArbre de classification

64 / 71

Arbre binaire de classification

Principe� arbre binaire de classification : succession de noeud� noeud : défini par le choix d’une variable et d’une division⇒ partition

en 2 classes� division : choix d’un seuil (variable explicative quanti.) ou d’un groupe

de modalités (variable explicative quali.)� racine (noeud initial) : ensemble de l’échantillon ; la procédure est

itérée pour chacun des 2 fils du noeud init. Et ainsi de suite.

Paramétrisation de l’algorithme� critère de qualité d’une division� règle permettant de dire si un noeud est terminal (feuille)� affectation de chaque feuille à l’une des K classes

65 / 71

Arbre binaire de classificationCritère de division� D : critère d’hétérogénéité d’un noeud

� critère d’entropie

D = −2nK∑

k=1

nk

nlog

nk

n

0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

p

entr

opie

où n est le nombre d’éléments du noeud, nk celui de la classe k , et avecla convention 0 log 0 = 0

� indice de Gini

D = −K∑

k=1

nk

n

(1− nk

n

)0.0 0.2 0.4 0.6 0.8 1.0

0.0

0.1

0.2

0.3

0.4

0.5

p

indi

ce d

e G

ini

� on retient la division qui maximise

Dnoeud − (Dfils gauche + Dfils droit)

66 / 71

Arbre binaire de classification

Règle définissant un noeud terminal� si un des noeuds fils est vide� si le nombre d’observation est inférieur à un seuil (entre 1 et 5)

Règle d’affectation d’un noeud à une classe� la classe majoritaire� la classe a posteriori la plus probable (si des probabilités a priori sont

connues)� la classe la moins coûteuse (si des coûts de mauvais classements

sont connus)

67 / 71

Arbre binaire de classificationConstruction d’un arbre optimal� les arbres ainsi créés sont souvent très raffinés et donc instable

(sur-ajustement)� on va recherche des arbres plus parcimonieux : méthode CART

(Breinman et al. 1984)

Algorithm 3 CART1: construction de l’arbre maximal2: construction d’une séquence d’arbre emboités

� on compare tous les arbres obtenus en supprimant une des dernièresdivisions (et donc une feuille) suivant un critère d’erreur de classement,et on retient le meilleur

� ainsi de suite en remontant jusqu’à la racine

3: comparer les arbres obtenus via un taux de mauvais classement es-timé sur échantillon test ou par validation croisée

68 / 71

Arbre binaire de classification

Avantages� règle d’affectation lisible� aucune hypothèse paramétrique� robuste vis-à-vis des données atypiques

Inconvenients� demande des tailles d’échantillons grandes� coûteux en temps de calcul� parfois instable

Packages� rpart{rpart}

69 / 71

Arbre binaire de classification : les Iris de Fisher

Illustration sur les données Iris

|Petal.L.< 2.45

Petal.W.< 1.75

150/50/50

150/0/0

20/50/50

20/49/5

30/1/45

70 / 71

Exercice d’application

1. Découper aléatoirement le jeu de données iris en 2/3 pour la partieapprentissage du modèle et 1/3 pour son test.

2. Entrainer le modèle des k-plus proches voisins sur les donnéesd’apprentissage (choisir en particulier la valeur de k ), et évaluer saperformance sur les données test.

3. Entrainer un arbre binaire de classification sur les données et évaluersa performance sur les données test.

71 / 71