Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
Julien JACQUES
1 / 79
La fouille de données : qu’est-ce que c’est ?
Fouille de données / data mining
Ensemble d’approches statistiques permettant d’extraire de l’information
de grands jeux de données dans une perspectives d’aide à la décision.
Statistique,
2 / 79
142[1], 2001.
La fouille de données : qu’est-ce que c’est ?
Fouille de données / data mining
Ensemble d’approches statistiques permettant d’extraire de l’information
de grands jeux de données dans une perspectives d’aide à la décision.
Statistique,
2 / 79
142[1], 2001.
La fouille de données : quelques références
3 / 79
La fouille de données : quelques références
http://eric.univ-lyon2.fr/∼ricco/data-mining/
http://data.mining.free.fr
http://eric.univ-lyon2.fr/∼jjacques/
4 / 79
La fouille de données : à quoi cela sert ?
publicité ciblée sur internet
identification des prospects les plus susceptibles de devenir clients
reconnaissance faciale dans une image
calcul de la rentabilité des clients
évaluer le risque d’un client (credit scoring)
détection de fraudes bancaires
analyse automatique de contenus textuels (text mining)
reconnaissance de la parole
calcul de score de réachat
prévision de consommation d’électricité
prévision de traffic routier
tester l’efficacité d’un traitement médical
...
5 / 79
La fouille de données : panorama des méthodes
fouille de données
méthodes méthodes
descriptives prédictives
6 / 79
La fouille de données : panorama des méthodes
clustering classification
méthodes méthodes supervisée
descriptives prédictives prédire
Y quali.
analyse
factorielle
ACP, AFC, régression
ACM prédire
Y quanti.
détections
de liens
recherche
d’associations
7 / 79
La fouille de données : panorama des méthodes
8 / 79
La fouille de données : panorama des méthodes
Ce qui est abordé dans ce cours :
clustering (classification automatique, classification non supervisée,
segmentation, typologie...) :
regrouper des individus qui se ressemblent en classes
représentatives
classification supervisée (discrimination, analyse discriminante,
scoring) :
classer des individus dans des classes définies a priori
9 / 79
La fouille de données : panorama des méthodes
Ce qui est abordé dans ce cours :
clustering (classification automatique, classification non supervisée,
segmentation, typologie...) :
regrouper des individus qui se ressemblent en classes
représentatives
classification supervisée (discrimination, analyse discriminante,
scoring) :
classer des individus dans des classes définies a priori
Notations :
les individus (observations) sont décrits par un ensemble de p
variables aléatoires explicatives X = (X1 , . . . , Xp ) ∈ E (E = Rp , ...)
Xi = (Xi1 , . . . , Xip ) sont les variables explicatives pour l’individu i
(1 ≤ i ≤ n)
Zi ∈ {1, . . . , K } est le numéro de la classe de l’individu i
9 / 79
Classification non supervisée vs supervisée
Classification non supervisée
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 une
signification concrète
Classification supervisée
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
Classification supervisée
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 certaine
maladie...
11 / 79
Les différentes méthodes abordées dans ce cours
Classification non supervisée
méthodes géométriques
centres mobiles (kmeans),
Classification Ascendante Hiérarchique (CAH)
méthode probabiliste
modèles de mélanges (algorithme EM)
Classification supervisée
méthode générative : on estime la loi de (X, Z )
analyse discriminante paramétrique
méthodes prédictives : on estime la loi de (Z |X)
régression logistique
k plus proche voisins
arbre de classification (méthode CART)
12 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
13 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
14 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
15 / 79
Notions de distances et dissimilarités
16 / 79
Distances et dissimilarités usuelles
Distances pour données quantitatives E = Rp
Pp 1/2
distance euclidienne (M = I) : d(Xi , Xj ) = `=1 (Xi` − Xj` )2
distance de Mahalanobis (M = V−1 avec V la matrice de covariance)
...
a+d a+d
R= = 2 ∈ [0, 1]
a+b+c+d n
2
où, parmi les 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ées
dans Z2
c : nombre de paires séparées dans Z1 mais dans une même classe
dans Z2
d : nombre de paires dans séparées dans Z1 et dans Z2
18 / 79
Exercice
19 / 79
Exercice
19 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
20 / 79
Algorithme des kmeans kmeans{stats}
Algorithm 1 kmeans
1: init. : tirages au hasard de K centres µk parmi les n observations
2: while partition non stable do
3: affecter chaque observation à la classe dont le centre est le plus
proche
4: recalculer les centres (moyennes) des classes
5: end while
21 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Illustration de l’algorithme des kmeans
22 / 79
Algorithme des kmeans kmeans{stats}
Propriétés
l’algorithme des kmeans minimise l’inertie intra-classe W (Z) :
T = B(Z) + W (Z)
n
X
T = d 2 (Xi , µ) : inertie totale du nuage de point (µ est le centre global)
i=1
K
X
B(Z) = nk d 2 (µk , µ) : inertie inter-classe (nk nb. obs. dans classe k )
k =1
X K X
W (Z) = d 2 (Xi , µk ) : inertie intra-classe
k =1 i=1,n:Zi =k
coude
4
2
1 2 3 4 5 6 7
K
24 / 79
Exercice
25 / 79
Exercice
25 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
26 / 79
Algorithme de CAH hlcust{stats}
Algorithm 2 CAH
1: init. : chaque singleton (observation) constitue une classe
2: while plus d’une classe do
3: calculer les distances D entre chaque classe 2 à 2
4: regrouper les deux classes les plus proches
5: end while
27 / 79
CAH : quel critère d’agrégation ?
Soit A et B deux classes (ensembles d’individus). Soit d une distance
entre individus.
single linkage (saut minimum)
Ward
#A#B 2
D(A, B) = d (µA , µB )
#A + #B
où µA et µB sont les centres de gravité des classes A et B
28 / 79
CAH : quel critère d’agrégation ?
29 / 79
CAH : représentation graphique
On représente le résultat d’une CAH par un dendogramme dont
l’ordonnée est la valeur du critère d’agrégation.
Cluster Dendrogram
12
10
2
3
8
6
1
6 4
2
7
0
3
5
30 / 79
Réaliser une CAH sur les données suivantes à l’aide des critères du
saut 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
kmeans ?
31 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
32 / 79
Clustering par modèles de mélanges (MM)
Idée : chaque classe est caractérisée par sa propre loi de probabilité
X|Z = k ∼ f (x, θk ) = fk (x)
Idée fondamentale
maximum de vraisemblance pour θ = (θk )1≤k ≤K
déduire Z
b grâce aux tk (xi ) par maximum a posteriori (MAP) :
Log-vraisemblance
n
X n
X K
X
l(θ, x1 , . . . , xn ) = log fX (xi ) = log pk fk (xi )
i=1 i=1 k =1
34 / 79
MM : estimation
Algorithm 3 Algorithme EM
1: init. : choix aléatoire de θ(0)
2: while |l(θ(m) , x1 , . . . , xn ) − l(θ(m+1) , x1 , . . . , xn )| < do
3: étape E (estimation) : calculer
5: end while
36 / 79
MM : choix de modèle
BIC = −2l(θ,
b x1 , . . . , xn ) + d ln(n),
37 / 79
MM : liens avec l’algorithme des kmeans
Σk = λId
38 / 79
MM : logiciels
Packages
Mclust{mclust}
mixmodCluster{Rmixmod}
hddc{HDclassif} pour les données de grande dimension
39 / 79
Un exemple classique : les Iris de Fisher
R> plot(iris[,1:4],col=iris$Species)
2.0 2.5 3.0 3.5 4.0 0.5 1.0 1.5 2.0 2.5
7.5
6.5
Sepal.Length
5.5
4.5
4.0
Sepal.Width
3.0
2.0
7
6
5
Petal.Length
4
3
2
1
2.5
1.5
Petal.Width
0.5
41 / 79
Un exemple classique : les Iris de Fisher
R> model=Mclust(iris[,1:4],G=1:5)
R> summary(model)
-----------------------------------
Gaussian finite mixture model fitted by EM algorithm
-----------------------------------
Mclust VEV (ellipsoidal, equal shape) model with 2
components:
log.likelihood n df BIC ICL
-215.726 150 26 -561.7285 -561.7289
Clustering table:
1 2
50 100
R> table(model$classification,iris$Species)
setosa versicolor virginica
1 50 0 0
2 0 50 50
41 / 79
Un exemple classique : les Iris de Fisher
R> model=Mclust(iris[,1:4],G=3)
R> summary(model)
-----------------------------------
Gaussian finite mixture model fitted by EM algorithm
-----------------------------------
Mclust VEV (ellipsoidal, equal shape) model with 3
components:
log.likelihood n df BIC ICL
-186.0736 150 38 -562.5514 -566.4577
Clustering table:
1 2 3
50 45 55
R> table(model$classification,iris$Species)
setosa versicolor virginica
1 50 0 0
2 0 45 0
3 0 5 50
42 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
43 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
44 / 79
Comparaison de méthodes (1/2)
45 / 79
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
prédit total
Z =0 Z =1
Z =0 VN FP N
réel
Z =1 FN VP P
total N̂ P̂ n
47 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
48 / 79
Analyse discriminante probabiliste (DA)
Idées :
Les modèles de mélanges peuvent également être utilisés en
classification supervisée.
L’estimation par maximum de vraisemblance immédiate (EM inutile)
49 / 79
DA : estimation et choix de modèle
Estimation
nk
p̂k = noù nk est le nombre d’observations de la classe k (Gk )
1
P
µ̂k = xi ∈Gk xi
nk
K
Σ̂ = n1 k =1 xi ∈Gk (xi − µk )t (xi − µk ) pour LDA
P P
Choix de modèle
critère probabiliste (BIC) ou CV, AUC, ...
50 / 79
DA : règle de classement optimale
51 / 79
LDA / QDA
Terminologie
les termes quadratic et linear de QDA et LDA viennent du fait que la
52 / 79
DA : logiciels
Packages
lda{MASS}
qda{MASS}
MclustDA{mclust} pour plus de modèles pour données
quantitatives
mixmodLearn{Rmixmod} pour encore plus de modèles pour
données quantitatives ou qualitatives
53 / 79
Exercice
Prédire l’appartenance du point X5 = 4 à l’une des deux classes
suivantes, à l’aide des modèles LDA et QDA :
classe 1 : X1 = 0, X2 = 2
classe 2 : X3 = 6, X4 = 11
54 / 79
Exercice
Prédire l’appartenance du point X5 = 4 à l’une des deux classes
suivantes, à l’aide des modèles LDA et QDA :
classe 1 : X1 = 0, X2 = 2
classe 2 : X3 = 6, X4 = 11
Corrections :
QDA
p̂ = p̂ = 0.5
1 2
classe 1 : µ̂ = 1, σ̂ 2 = 1
1 1
classe 2 : µ̂ = 8.5, σ̂ 2 =
25
2 2 4
0.5fN (4,1,1)
t1 (4) = 0.5fN (4,1,1)+0.5fN (4,8.5, 25
= 0.08254814
4 )
LDA
σ̂ 2 = 17.6875
0.5fN (4,1,17.6875)
t (4) =
1 0.5fN (4,1,17.6875)+0.5fN (4,8.5,17.6875) = 0.5044949
54 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
55 / 79
K plus proches voisins (K NN)
Idées :
On compte parmi les K plus proches voisins d’un points x à classer le
nk
tk (x) =
K
56 / 79
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}
57 / 79
Exercice
58 / 79
Plan
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
59 / 79
Régression logistique(RL)
Y ∈ {0, 1}
60 / 79
RL : le modèle
Principe
P(Y =1|X=x)
on cherche à modéliser de façon linéaire ln
1−P(Y =1|X=x) :
p
P(Y = 1|X = x) π(x) X
ln = ln = β0 + βj x j
1 − P(Y = 1|X = x) 1 − π(x)
| {z } j=1
logit(π(x))
61 / 79
RL : Estimation
62 / 79
RL : Interprétation via les Odds Ratio
π(x)
odds(x) =
1 − π(x)
odds-ratio : combien de fois on a plus de chance d’avoir Y = 1 au
lieu d’avoir Y = 0 lorsque X = xi au lieu de X = xj
odds(xi )
odds-ratio(xi , xj ) =
odds(xj )
63 / 79
RL : Exemple d’interprétation
64 / 79
RL : Prédictions
Pour une nouvelle observation x∗ , le modèle nous prédit le score
Pp
∗
exp (β̂0 + j=1 β̂j xj )
P(Y = 1|X = x ; β̂) = Pp
1 + exp (β̂0 + j=1 β̂j xj )
β̂j2
→ χ21
σ̂j2
p
πk +1 (x) + . . . + πK (x) X
ln = β0k + βjk xj ∀1 ≤ k ≤ K − 1.
π1 (x) + . . . + πk (x)
j=1
68 / 79
Régression logistique
Packages
glm{stat}
69 / 79
Exemple : cancer du sein bénin / malin
2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8
6 10
Cl.thickness
2
6 10
Cell.size
2
6 10
Cell.shape
2
6 10
Marg.adhesion
2
6 10
Epith.c.size
2
6 10
Bare.nuclei
2
6 10
Bl.cromatin
2
6 10
Normal.nucleoli
2
6 10
Mitoses
2
2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8 2 4 6 8
70 / 79
Exemple : cancer du sein bénin / malin
Modèle avec toutes les variables
Classification supervisée
Généralités
Analyse discriminante probabiliste
Méthode des K plus proches voisins
Régression logistique
Arbre de classification
73 / 79
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
74 / 79
Arbre binaire de classification
Critère de division
D : critère d’hétérogénéité d’un noeud
critère d’entropie
0.7
0.6
K
0.5
X nk nk
entropie
0.4
D = −2n log
0.3
n n
0.2
k =1
0.1
0.0
0.0 0.2 0.4 0.6 0.8 1.0
p
0.5
0.4
K
nk nk
indice de Gini
X
0.3
D=− 1−
n n
0.2
k =1
0.1
0.0
0.0 0.2 0.4 0.6 0.8 1.0
p
76 / 79
Arbre binaire de classification
Construction 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
Algorithm 4 CART
1: construction de l’arbre maximal
2: construction d’une séquence d’arbre emboités
on compare tous les arbres obtenus en supprimant une des dernières
divisions (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
77 / 79
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}
78 / 79
Arbre binaire de classification : les Iris de Fisher
Illustration sur les données Iris
Petal.L.< 2.45
|
1
50/50/50
Petal.W.< 1.75
1 2
50/0/0 0/50/50
2 3
0/49/5 0/1/45
79 / 79