Fouille de données / Data Mining

publicité
Fouille de données / Data Mining
Julien JACQUES
Université Lumière Lyon 2
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.
1 P. Besse et al., Data Mining et Statistique, Journal de la Société Française de
Statistique,
142[1], 2001.
2 / 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.
Les étapes du data mining 1
1. Nettoyage des données (erreurs, données manquantes, outliers)
2. Transformation éventuelle des données (normalisation, linéarisation...)
3. Explicitation de l’objectif de l’analyse en terme statistique (régression,
classification, clustering...)
4. Choix de la méthode et mise en oeuvre informatique (
5. Test (validation de la qualité des résultats)
6. Exploitation
1 P. Besse et al., Data Mining et Statistique, Journal de la Société Française de
Statistique,
142[1], 2001.
2 / 79
...)
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
descriptives
6 / 79
méthodes
prédictives
La fouille de données : panorama des méthodes
clustering
méthodes
descriptives
méthodes
prédictives
classification
supervisée
prédire
Y quali.
analyse
factorielle
régression
ACP, AFC,
ACM
prédire
Y quanti.
détections
de liens
recherche
d’associations
7 / 79
La fouille de données : panorama des méthodes
Ce qui n’est pas abordé dans ce cours :
analyse factorielle (ACP, AFC, ACM...)
projection et visualisation de données dans un espace de dimension
faible
régression
prédire une variable quantitative
détections de liens (règles d’association)
prédire une variable quantitative
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
utiliser cette règle de classement pour classer de nouveaux individus
de classes inconnues
10 / 79
Applications
Classification non supervisée
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 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)
12 / 79
régression logistique
k plus proche voisins
arbre de classification (méthode CART)
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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 non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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 non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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
Soient Xi et Xj deux observations de E.
On appelle distance toute fonction d : E × E → R+ telle que
1. d(Xi , Xj ) ≥ 0
2. d(Xi , Xj ) = d(Xj , Xi )
3. d(Xi , Xj ) = 0 ⇔ Xj = Xi
4. d(Xi , Xj ) ≤ d(Xi , Xk ) + d(Xk , Xj ) pour tout Xk ∈ E
Lorsque seulement 1. à 3. sont vérifiées, on parle de dissimilarité.
16 / 79
Distances et dissimilarités usuelles
Distances pour données quantitatives E = Rp
d 2 (Xi , Xj ) = (Xi − Xj )t M(Xi − Xj )
Pp
− Xj` )2
1/2
distance euclidienne (M = I) : d(Xi , Xj ) =
distance de Mahalanobis (M = V−1 avec V la matrice de covariance)
...
`=1 (Xi`
Distances pour données binaires E = {0, 1}p
dissimilarité de Jaccard : d(Xi , Xj ) = 1 −
...
17 / 79
a = #{`, 1 ≤ ` ≤ p : Xi` = Xj` }
b = #{`, 1 ≤ ` ≤ p : Xi` = 1 et Xj` = 0}
c = #{`, 1 ≤ ` ≤ p : Xi` = 0 et Xj` = 1}
a
a+b+c
où
Comparaison de partitions
On utilise souvent l’indice de Rand pour comparer deux partitions
Z1 = (Z11 , . . . , Z1n ) et Z2 = (Z21 , . . . , Z2n ) :
R=
où, parmi les
2
n
a+d
a+d
= 2 ∈ [0, 1]
a+b+c+d
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
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.
19 / 79
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,
19 / 79
2
5
= 10 et R = 0.4
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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}
On se place dans E = Rp muni de la distance euclidienne.
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)
T =
n
X
d 2 (Xi , µ) : inertie totale du nuage de point (µ est le centre global)
i=1
B(Z) =
K
X
nk d 2 (µk , µ) : inertie inter-classe (nk nb. obs. dans classe k )
k =1
K
X
W (Z) =
X
d 2 (Xi , µk ) : inertie intra-classe
k =1 i=1,n:Zi =k
l’algorithme des kmeans est convergeant
la solution peut dépendre de l’initialisation (⇒ en pratique on réalise
plusieurs
init. et on conserve celle minimisant W (Z))
23 / 79
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) :
6
4
coude
2
inertie intra−classe
8
10
1
2
3
4
K
24 / 79
5
6
7
Exercice
Réaliser une classification automatique en 2 classes à l’aide de
l’algorithme de kmeans sur les données suivantes :
X1 = 0
X2 = 2
X3 = 6
X4 = 11
Avez-vous tous obtenus les mêmes partitions ?
25 / 79
Exercice
Réaliser une classification automatique en 2 classes à l’aide de
l’algorithme de kmeans sur les données suivantes :
X1 = 0
X2 = 2
X3 = 6
X4 = 11
Avez-vous tous obtenus les mêmes partitions ?
Correction sous
25 / 79
: kmeans(c(0,2,6,11),centers=c(2,6))
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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}
Soit D une distance entre classe (critère d’agrégation).
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)
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 X d(X, Y)
#A#B
X∈A Y∈B
Ward
D(A, B) =
#A#B 2
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 ?
Propriétés des critères.
Ward agglomère les deux classes minimisant l’inertie intra-classe
Ward est sous-optimal par rapport à kmeans 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.
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
10
12
4
2
6
8
3
1
2
4
6
30 / 79
hclust (*, "ward")
3
2
1
4
6
5
8
7
5
0
8
7
Exercice
Réaliser une CAH sur les données suivantes à l’aide des critères du
saut minimum et du saut maximum :
X1
X2
X3
X4
=0
=2
=6
= 11
Représenter le dendogramme.
Comparer les partitions en 2 classes avec celle obtenue par les
kmeans ?
31 / 79
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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)
variables quantitatives : f (·, θk ) densité gaussienne, θk = (µk , Σk )
variables qualitatives : f (·, θk ) proba. multinomiale, θk = (αkjh )1≤j≤p,1≤h≤mj
loi marginale de X (densité mélange)
X∼
K
X
pk fk (x) = fX (x).
k =1
où pk est la proportion de la classe k
probabilité conditionnelle que x provienne de la classe k (via Bayes) :
tk (x) = P(Z = k |X = x) =
33 / 79
pk fk (x)
.
fX (x)
MM : estimation
Idée fondamentale
maximum de vraisemblance pour θ = (θk )1≤k ≤K
b grâce aux tk (xi ) par maximum a posteriori (MAP) :
déduire Z
bi = k si tk (xi ) > tl (xi ) ∀l 6= k
Z
Log-vraisemblance
l(θ, x1 , . . . , xn ) =
n
X
i=1
log fX (xi ) =
n
X
i=1
On cherche alors θb = argmaxθ l(θ, x1 , . . . , xn )
34 / 79
log
K
X
k =1
pk fk (xi )
MM : estimation
Algorithm 3 Algorithme EM
1:
2:
3:
init. : choix aléatoire de θ(0)
while |l(θ(m) , x1 , . . . , xn ) − l(θ(m+1) , x1 , . . . , xn )| < do
étape E (estimation) : calculer
Q(θ, θ(m) ) = Eθ(m) [l(θ, X1 , . . . , Xn , Z1 , . . . , Zn )|X1 = x1 , . . . , Xn = xn ]
⇒ revient à calculer btk (xi ) =
p f (x )
PK k k i
`=1 p` fk (xi )
étape M (maximisation) : calculer
4:
θ(m+1) = argmax Q(θ, θ(m) )
θ
5:
end while
Rq : EM converge vers un maxi. local de l → plusieurs init.
35 / 79
MM : différents modèles gaussiens
Le nombre de paramètres du modèle peut être important :
K − 1 + pK + Kp(p + 1)/2
Des modèles parcimonieux ont été proposés en imposant des
hypothèses sur la décomposition spectrale des matrices de variances
Σk = λk Dk Ak Dkt
36 / 79
Ak = A : forme des classes identiques
Dk = D : orientation des classes identiques
λk = λ : volume des classes identiques
MM : choix de modèle
Des critères de vraisemblance pénalisée peuvent être utilisés pour
choisir le modèle le plus adapté,
choisir le nombre de clusters K
Critère BIC (à minimiser) :
b x1 , . . . , xn ) + d ln(n),
BIC = −2l(θ,
où d est le nombre de paramètres du modèles
(d = K − 1 + pK + Kp(p + 1)/2 pour le modèle gaussien complet)
37 / 79
MM : liens avec l’algorithme des kmeans
L’algorithme de centres mobiles (kmeans) est équivalent à un modèle
gaussien très particulier :
les classes sont supposées sphériques et de même taille
Σk = λId
et les paramètres sont estimés avec une variante de l’algorithme EM :
algorithme CEM : les b
tk (xi ) calculés à l’étape E sont arrondis à 1
(pour la classe k maximisant btk (xi )) et à 0 pour les autres
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.5
3.0
3.5
4.0
0.5
1.0
1.5
2.0
2.5
6.5
7.5
2.0
4.0
4.5
5.5
Sepal.Length
5
6
7
2.0
3.0
Sepal.Width
1.5
2.5
1
2
3
4
Petal.Length
0.5
Petal.Width
4.5
40 / 79
5.5
6.5
7.5
1
2
3
4
5
6
7
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
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 non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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 non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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)
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 les
paramètres favorisera toujours les méthodes les plus complexes
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
é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
n
CV =
1X
1Iẑ(i) =zi
n
i=1
où ẑ(i) est la prédiction de la classe du ième individu obtenu sans
utiliser cet individu pour estimer les paramètres du modèle
la validation croisée K-fold où l’échantillon d’apprentissage est
découpé en K partie, chaque partie servant tour à tour d’échantillon
test (leave one out = n-fold)
un critère de choix de modèles (BIC) pour les méthodes probabilistes
46 / 79
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
réel
total
47 / 79
Z =0
Z =1
prédit
Z =0 Z =1
VN
FP
FN
VP
N̂
P̂
total
N
P
n
positif : relatif à une modalité de référence (Z = 1, malade, achat...)
b = 1 si p(Z
b = 1) ≥ s
s : seuil tel que Z
VP
Se(s) = VP+FN : sensibilité (taux de vrais positifs)
VN
1 − Sp(s) = 1 − VN+FP
: 1-spécificité (taux de faux positifs)
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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)
Variables quantitatives : modèles gaussiens
Linear Discriminant Analysis (LDA) : X|Z = k ∼ N (µk , Σ)
Quadratic Discriminant Analysis (QDA) : X|Z = k ∼ N (µk , Σk )
49 / 79
DA : estimation et choix de modèle
Estimation
p̂k =
nk
n
1
nk
où nk est le nombre d’observations de la classe k (Gk )
P
µ̂k =
xi ∈Gk xi
P
P
K
Σ̂ = n1 k =1 xi ∈Gk (xi − µk )t (xi − µk ) pour LDA
P
Σ̂k = n1k xi ∈Gk (xi − µk )t (xi − µk ) pour QDA
Choix de modèle
critère probabiliste (BIC) ou CV, AUC, ...
50 / 79
DA : règle de classement optimale
coût de mal classer un individu de Gl (classe l) dans Gk (classe k ) :
C : (k , l) ∈ {1, . . . , K } × {1, . . . , K } → C(k , l) ∈ R+ ,
règle optimale de Bayes : on classe X = x dans Gk si :
K
X
C(k , l)tl (x) <
l6=k
cas d’égalité des coûts (MAP):
cas de deux classes :
51 / 79
K
X
C(k 0 , l)tl (x) ∀k 0 6= k
l6=k 0
on classe X = x dans Gk si tk (x) > tl (x)
∀l 6= k
C(2,1)t (x)
on classe X = x dans G1 si g(x) = C(1,2)t1 (x) > 1.
2
g(x) = 1 définit la surface discriminante
LDA / QDA
Terminologie
les termes quadratic et linear de QDA et LDA viennent du fait que la
surface discriminante g(x) = 1 est quadratique ou linéaire suivant si
Σk est libre ou supposé identique pour chaque classe (Σk = Σ)
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 :
54 / 79
classe 1 : X1 = 0, X2 = 2
classe 2 : X3 = 6, X4 = 11
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 =
2
2
t1 (4) =
25
4
0.5fN (4,1,1)
0.5fN (4,1,1)+0.5fN (4,8.5, 25
4 )
= 0.08254814
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 non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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
nombre de points nk de chaque classe (1 ≤ k ≤ K ).
On estime alors la probabilité que x appartienne à la classe k par :
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
Prédire l’appartenance du point X5 = 4 à l’une des deux classes
suivantes, par la méthode K NN avec différentes valeurs de K :
58 / 79
classe 1 : X1 = 0, X2 = 2
classe 2 : X3 = 6, X4 = 11
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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)
On se place dans le cas K = 2 (régression logistique dichotomique)
Y ∈ {0, 1}
Les variables explicatives peut-être quantitatives ou qualitatives :
Xj ∈ R : utilisée telle quelle
Xj ∈ {mj1 , . . . , mj j } : transformée en variables indicatrices
k
Xj ⇒
60 / 79
1IXj =m1 , . . . , 1I
j
kj −1
Xj =mj
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
ln
X
P(Y = 1|X = x)
π(x)
= β0 +
βj x j
= ln
1 − P(Y = 1|X = x)
1 − π(x)
j=1
{z
}
|
logit(π(x))
ce modèle s’écrit aussi
π(x) =
61 / 79
exp (β0 +
Pp
1 + exp (β0 +
j=1
Pp
βj x j )
j=1
βj xj )
RL : Estimation
Maximum de log-vraisemblance conditionnelle
`(β) =
n
X
ln P(Y = yi |X = xi ) =
i=1
n
X
yi β t x̃i − ln(1 + exp β t x̃i )
i=1
dérivée par rapport à β non linéaire en β
n
∂l(β) X
exp β t x̃i
=
yi x̃i − x̃i
∂β
1 + exp β t x̃i
i=1
maximisation numérique de `(β) (algo. de type Newton Raphson)
62 / 79
RL : Interprétation via les Odds Ratio
On définit deux outils d’interprétation des paramètres du modèle :
odds : combien de fois on a plus de chance d’avoir Y = 1 au lieu
d’avoir Y = 0 lorsque X = x:
odds(x) =
π(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-ratio(xi , xj ) =
63 / 79
odds(xi )
odds(xj )
RL : Exemple d’interprétation
Y : présence / absence d’un cancer des poumons,
X : fumeur / non fumeur.
Exemple de données (fictives)
Chez les fumeurs : P(Y = 1|X = fumeur) = 0.01 et
P(Y = 0|X = fumeur) = 0.99.
⇒ odds(X = fumeur) = 1/99 : on a une chance sur 99 d’avoir un
cancer des poumons lorsque l’on est fumeur.
Chez les non fumeurs : P(Y = 1|X = non fumeur) = 10−4
1/99
= 101 : on a 101 fois plus
⇒ odds-ratio(fumeur, non fumeur) = 1/9999
de chance d’avoir un cancer des poumons pour un fumeur que pour
un non fumeur.
64 / 79
RL : Prédictions
Pour une nouvelle observation x∗ , le modèle nous prédit le score
∗
P(Y = 1|X = x ; β̂) =
exp (β̂0 +
Pp
1 + exp (β̂0 +
j=1
β̂j xj )
Pp
j=1
β̂j xj )
On peut alors définir la règle de classement suivante :
1 si P(Y = 1|X = x∗ ; β̂) ≥ s
ŷs∗ =
0
sinon
où s est un seuil défini par en collaboration avec le praticien.
Si s = 0.5, on obtient la règle du maximum a posteriori (MAP).
Rq : souvent le score est plus intéressant que la prédiction elle même
(credit scoring, médecine...)
65 / 79
RL : Sélection de variables
Une fois le modèle estimé, l’apport de chaque variable peut-être testé,
avec par exemple
le test du rapport des vraisemblances maximales (ou test de la
déviance D) : sous H0
D = −2 ln
maxβ LH0 (β)
→ χ21
maxβ LH1 (β)
où LH0 et LH1 sont respectivement les vraisemblances du modèle
sans et avec la variable Xj ,
le test de Wald : sous H0
β̂j2
σ̂j2
→ χ21
où σ̂j2 est la variance de l’estimateur de βj
66 / 79
RL : Sélection de variables
Beaucoup de variables explicatives ⇒ algorithme de sélection de
variables
forward : variables introduites une à une dans le modèle en fonction
d’un critère (statistique du test de Wald par ex.)
backward : même chose mais en partant du modèle avec toutes les
variables et en les supprimants une à une
stepwise : forward + test de significativité de l’apport des variables
actives à chaque étape
On obtient une liste restreinte de modèles, et on choisit le meilleur selon:
BIC (ou AIC) : critère de vraisemblance pénalisée
D : déviance
CV : validation croisée
AUC : aire sous la courbe ROC
67 / 79
Rég. logistique polytomique ou ordinale (K > 2)
régression logistique polytomique : Y ∈ {1, . . . , K }
on réalise K − 1 régressions logistiques de πk (x) versus πK (x) :
p
ln
X
πk (x)
= β0k +
βjk xj
πK (x)
∀1 ≤ k ≤ K − 1.
j=1
où πk (x) = P(Y = k |X = x).
régression logistique ordinale : Y ∈ {1, . . . , K }
⇒ les modalités 1,. . . ,K de Y sont ordonnées
on modélise généralement des logits cumulatifs :
p
ln
X
πk +1 (x) + . . . + πK (x)
βjk xj
= β0k +
π1 (x) + . . . + πk (x)
j=1
68 / 79
∀1 ≤ k ≤ K − 1.
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
6 10
2 4 6 8
6 10
2
Cl.thickness
6 10
2
Cell.size
6 10
2
Cell.shape
6 10
2
Marg.adhesion
6 10
2
Epith.c.size
6 10
2
Bare.nuclei
6 10
2
Bl.cromatin
2
Mitoses
6 10
2
Normal.nucleoli
2 4 6 8
70 / 79
2 4 6 8
2 4 6 8
2 4 6 8
2 4 6 8
Exemple : cancer du sein bénin / malin
Modèle avec toutes les variables
R> glm.res <- glm(Class ∼ ., family=binomial, data=data)
R> summary(glm.res)
Coefficients:
Estimate
Std.Error z value Pr(>|z|)
(Intercept)
-9.377e+00 2.219e+00 -4.225
2.4e-05 ***
Id
-7.407e-07 1.648e-06 -0.449
0.6531
Cl.thickness
4.299e-01
1.901e-01 2.262
0.0237 *
Cell.size
6.999e-01
4.061e-01 1.724
0.0848 .
Cell.shape
3.014e-01
3.881e-01 0.777
0.4374
Marg.adhesion
1.544e-01
1.648e-01 0.937
0.3488
Epith.c.size
1.163e-01
2.439e-01 0.477
0.6334
Bare.nuclei
4.429e-01
1.419e-01 3.121
0.0018 **
Bl.cromatin
3.474e-01
2.613e-01 1.329
0.1838
Normal.nucleoli 1.315e-01
1.563e-01 0.842
0.4000
Mitoses
3.072e-01
4.154e-01 0.740
0.4595
-AIC: 79.247
71 / 79
Exemple : cancer du sein bénin / malin
Modèle avec sélection de variables
R> pr2.glm = glm(Class∼1,family=binomial,data=data)
R> pr2.step <- step(pr2.glm, direction="both",
scope=list(lower=∼1, upper=∼
Cl.thickness+Cell.size+Cell.shape+Marg.adhesion+Epith.c.size
+Bare.nuclei+ Bl.cromatin+Normal.nucleoli+Mitoses), trace =
TRUE)
R> summary(pr2.step)
Coefficients:
Estimate Std.Error z value Pr(>|z|)
(Intercept)
-9.7741
1.4123
-6.921
4.49e-12 ***
Cell.size
1.0631
0.3001
3.543
0.000396 ***
Bare.nuclei
0.4868
0.1307
3.724
0.000196 ***
Cl.thickness
0.4589
0.1634
2.808
0.004988 **
Normal.nucleoli 0.2306
0.1354
1.704
0.088472 .
Bl.cromatin
0.3920
0.2329
1.683
0.092395 .
-AIC: 71.976
72 / 79
Plan
Classification non supervisée
Généralités
Méthode des centres mobiles (kmeans)
Classification Ascendante Hiérarchique
Modèles de mélanges
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
0.7
critère d’entropie
0.4
0.3
entropie
K
X
nk
nk
log
n
n
0.2
D = −2n
0.5
0.6
0.0
0.1
k =1
0.0
0.2
0.4
0.6
0.8
1.0
p
0.5
0.3
0.2
0.0
k =1
0.1
indice de Gini
0.4
où n est le nombre d’éléments du noeud, nk celui de la classe k , et avec
la convention 0 log 0 = 0
indice de Gini
K
X
nk nk D=−
1−
n
n
0.0
0.2
0.4
0.6
p
on retient la division qui maximise
Dnoeud − (Dfils gauche + Dfils droit )
75 / 79
0.8
1.0
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)
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
(Breinman et al. 1984)
Algorithm 4 CART
1: construction de l’arbre maximal
2: construction d’une séquence d’arbre emboités
3:
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
comparer les arbres obtenus via un taux de mauvais classement estimé 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
50/0/0
2
0/50/50
2
0/49/5
79 / 79
3
0/1/45
Téléchargement