DataMining Et Analyse de Données - Partie 2
DataMining Et Analyse de Données - Partie 2
DataMining Et Analyse de Données - Partie 2
Zouaoui Slim
Analyse discriminante
cran.r-project.org
Arbre de Décision
réseaux de neurones
Deep Learning
Modèle linéaire
En étudiant le comportement simultané de deux variables X et Y, on
pourrait trouver une certaine variation simultanée dans les valeurs que peuvent
prendre ces deux variables et ce dans une certaine proportion et même dans deux sens
opposés.
Citons par exemple le cas où X est une variable qui décrit le facteur travail
dans une entreprise et Y est une variable relative à la production de l’entreprise. On
constate que plus la valeur de X s’élève, celle de Y s’élève aussi. Ceci nous ramène à
prédire qu’il pourrait y avoir une relation entre X et Y. On parle alors de régression.
On cherche à établir s’il y a un lien linéaire entre deux variables X et Y. Le modèle est :
Dans ce modèle, appelé modèle de régression linéaire simple, les composantes ont la
signification suivante :
Dans ce qui suit, on va estimer respectivement ces paramètres par la méthode des moindres
carrés ordinaires (MCO) qui s’avère appropriée pour l’obtention des estimateurs ˆ0 et ˆ1
respectifs des paramètres β0 et β1.
Le principe consiste à calculer le terme d’erreur qui est l’écart entre yt observé et yt estimé.
On aura alors :
εt = yt - (β0 + β1 X)
t 1
Nous allons alors minimiser l’expression SCR par rapport à β0 et β1. Les conditions de
minimisation sont les suivantes :
n
Min SCR Min t
2
t 1
;
0 1
SCR
0
0 2 SCR
Conditions de premier ordre :
Condition de deuxième ordre : 0
SCR 0 0 1
1
La condition de second ordre est vérifiée. On obtient alors les estimateurs des moindres
carrés ordinaires suivants :
ˆ0 y 1 x
n
ˆ0 y 1 x
x (y y)
ˆ cov( X , Y )
t t
ˆ
1
1 var( X )
t 1
n Ou bien
x (x
t 1
t t x)
Exemple :
Le syndic s’intéresse au rapport entre l’âge et le revenu des résidents d’une ville. Il
sélectionne un échantillon aléatoire simple de taille n = 12. .
β̂1
β̂0 revenue=39885+279.7*age+e
Calcul SCR :
Tests de significativité des paramètres :
Après avoir estimé les paramètres du modèle par leurs estimateurs respectifs, on voudrait
savoir si le modèle qu’on a établi peut admettre la constante ou non. D’autre part, on
voudrait connaître si la variable X explique la variable Y ou non.
Autrement, dans notre modèle, nous avons postulé qu’il y a une relation de cause à effet
entre les variables X et Y. D’après l’échantillon composé de n observations qu’on a, nous
allons confirmer le modèle ou bien l’infirmer. Pour cela, nous allons procéder à des tests de
significativité des paramètres du modèle.
Nous allons chercher la loi de probabilité à utiliser pour effectuer le test de significativité.
On connaît que
β̂ i β i
~ N 0 ;1
var(β̂ i )
On pose une hypothèse nulle H0 selon laquelle la valeur du paramètre est nulle (le modèle
n’admet pas de constante) contre une hypothèse alternative H1 selon laquelle le paramètre
est significatif (différent de 0). Les hypothèses sont présentées ainsi :
H 0 : β i 0
H1 : β i 0
Nous allons comparer le terme tc (la statistique t calculée) à la valeur tα/2 (la valeur critique
qui est extraite à partir de la table de la loi de Student à (n-2) degrés de liberté).
β̂ i β i
tc
Vˆ ( ˆ )
i
y t y
n n
ŷt y 2 ˆ 12 m XX ˆ
2
SCT m YY SCE SCR
2
m YY ˆ 12 m XX
t
t 1 t 1
t 1
E ( ˆ )
V ( ˆ ) 2 X T X
1
Le principale du test et l’intervalle de confiance sont les même comme dans le cas du
modèle linéaire simple pour chaque paramètre βi quelconque.
Sommaire
Analyse discriminante
cran.r-project.org
Arbre de Décision
réseaux de neurones
Deep Learning
Analyse discriminante
Situation : on a un ensemble d’individus caractérisés par une variable à
expliquer Y qualitative et des variables explicatives Xi quantitatives
• Analyse discriminante descriptive: trouver une représentation des
individus qui sépare le mieux les groupes.
• Analyse discriminante prédictive: trouver des règles d’affectation des
individus à leur groupe
• Créer une méthode pour choisir entre les combinaisons linéaires des
variables celle qui maximise l'homogénéité de chaque classe (Fisher 1936)
Domaines d’application
• Géométriquement: le 1er facteur détermine un axe dans le nuage de points (passant par
l'origine) tel que les projections des points sur cet axe aient une variance inter-classes
(variance des moyennes de classe) maximale.
• Le 2eme facteur (F2) est non corrélé (perpendiculaire) au 1er et de variance inter-classes
max. Etc pour le 3eme ...
II - Analyse discriminante prédictive
détermination de 3 régions de
décision (R1, R2 , R3) délimitant les
points ‘sensés’ appartenir aux
différentes classes.
Analyse discriminante prédictive
Les 150 individus de la base sont répartis en trois classes équilibrées (50
individus dans chaque catégorie) correspondant à trois espèces florales :
iris setosa, iris versicolor et iris virginica.
> plot(iris[1:4], pch=20,col=c("red", "green", "blue")[as.numeric(iris$Species)])
> res= lda(Species~.,data=iris)
> res
Call:
lda(Species ~ ., data = iris)
Group means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa 5.006 3.428 1.462 0.246
versicolor 5.936 2.770 4.260 1.326
virginica 6.588 2.974 5.552 2.026
Proportion of trace:
LD1 LD2
0.9912 0.0088
> res.pred=predict(res)
> res.pred
$class
[1] setosa setosa setosa setosa setosa setosa
[7] setosa setosa setosa setosa setosa setosa
………………………………….
[[139] virginica virginica virginica virginica virginica virginica
[145] virginica virginica virginica virginica virginica virginica
Levels: setosa versicolor virginica
$posterior
setosa versicolor virginica
1 1.000000e+00 3.896358e-22 2.611168e-42
2 1.000000e+00 7.217970e-18 5.042143e-37
3 9 1.000000e+00 1.902813e-15 9.482936e-34
…………………….
149 1.613687e-40 1.257468e-05 9.999874e-01
150 2.858012e-33 1.754229e-02 9.824577e-01
$x
LD1 LD2
1 8.0617998 0.300420621
2 7.1286877 -0.786660426
…………………….
149 -5.8861454 2.345090513
150 -4.6831543 0.332033811
plot(res.pred$x[,1],res.pred$x[,2],bg=iris$Sp,pch=21, main="Analyse factorielle
discriminante sur les données Iris", xlab="premier axe discriminant",ylab="second axe
discriminant", cex.lab=1.5,cex.main=2)
points(m[,1],m[,2],pch=15,bg=1:3,cex=2,col=1:3)
Exemple analyse discriminante prédictive
Réponse :
Score_Setosa= (2.35*4.5)+(2.35*3)+(-1.64*1.5)+(-1.73*0.2)-86.3=-71.48
Score_Versicolor= (1.56*4.5)+(0.7*3)+(0.52*1.5)+(0.64*0.2)-72.85= -62.82
Score_Virginica= (1.24*4.5)+(0.36*3)+(1.27*1.5)+(2.1*0.2)-104.36= -95.37
Analyse discriminante
cran.r-project.org
Arbre de Décision
réseaux de neurones
Deep Learning
Arbre de Décision
Arbre de Décision
Objectifs des méthodes prédictives
Arbre de Décision – classification supervisée
Comparaison entre méthodes de classification supervisée et non
supervisée
Arbre de Décision
Principe arbre de décision
Réaliser la classification d'un objet par une
suite de tests sur les attributs qui le décrivent.
Organiser l'ensemble des tests possible
comme un arbre
1‐(9/14)^(2)‐(5/14)^(2) 1‐(9/14)^(2)‐(5/14)^(2)
0,459 0,459
Grade Salaire.Part
1‐(9/14)^(2)‐(5/14)^(2)
0,459
Logement
1‐(9/14)^(2)‐(5/14)^(2)
0,459
Logement
1‐(9/14)^(2)‐(5/14)^(2)
0,459
Logement
5(2,3) 4(4,0)
locataire propriétaire
1‐(2/5)^(2)‐(3/5)^(2) 1‐(4/4)^(2)‐(0/4)^(2)
0,480 0,000
Grade
3(2,1) 2(1,1)
Elevé Moyen 3(3,0) 2(0,2)
1‐(2/3)^(2)‐(1/3)^(2) 1‐(1/2)^(2)‐(1/2)^(2) Elevé Faible
0,444 0,500 1‐(3/3)^(2)‐(0/3)^(2) 1‐(0/2)^(2)‐(2/2)^(2)
0,013 0,000 0,000
0,480
1‐(9/14)^(2)‐(5/14)^(2)
0,459
Logement
4(4,0) 5(3,2)
propriétaire famille
1‐(4/4)^(2)‐(0/4)^(2) 1‐(3/5)^(2)‐(2/5)^(2)
0,000 0,480
Grade
Points faibles
1- problème de stabilité sur les petites bases de données
2- masque l’intérêt des variables non sélectionnées
3- recherche « pas-à-pas » : difficulté à trouver les interactions
TP : Arbre de Décision
Exemple : Jeu de tennis
Exemple : Jeu de tennis
Les commandes suivantes permettent de construire l'arbre de décision.
Tout d'abord, on doit spécifier quelques paramètres qui précise comment l'arbre
de décision doit être construit.
On tapera la commande suivante :
Fichier Tennis2
Analyse discriminante
cran.r-project.org
Arbre de Décision
Réseaux de neurones
Deep Learning
Réseaux de neurones
Types d’applications
Méthodes supervisées
Fondement biologique
L’élément fondamental du systèmes nerveux est le neurone ou cellule nerveuse.
Le système nerveux peut être vu comme un ensemble de neurones interconnectés.
Les dendrites sont donc les organes d'entrées du neurone et l'axone son unité de
sortie.
Fondement biologique
L'axone se divise et ses ramifications sont reliées aux dendrites d'autres neurones
ainsi qu'éventuellement aux siennes : les points de jonction sont les synapses; elles
sont caractérisées par une efficacité synaptique qui peut être vue comme un
amplificateur de l'impulsion qui traverse la synapse.
Fondement biologique
Chaque neurone possède en son noyau un additionneur qui somme les impulsions
électriques amplifiées par les synapses à l'entrée dans le neurone et un seuil de
stimulation. Si l'excitation totale du neurone excède le seuil de stimulation, le
noyau initie une impulsion.
Fondement biologique
Quelques chiffres:
La vitesse de propagation de l'influx nerveux est de 100 m/s environ donc bien
inférieure à la vitesse de transmission de l'information dans un réseau électronique.
Principes :
- coefficient synaptique : coefficient réel
- sommation des signaux arrivant au
neurone
- sortie obtenue après application
d’une fonction de transfert
Les réseaux de neurones
Modélisation :
• Le neurone reçoit les entrées x1, …, xi, …, xn.
• Le potentiel d’activation du neurone p est défini comme la somme pondérée (les
poids sont les coefficients synaptiques wi) des entrées.
• La sortie o est alors calculée en fonction du seuil θ
Alors : o = 1 si p > θ
o = 0 si p ≤ θ
Les réseaux de neurones
Définitions
- Déterminer un réseau de neurones = Trouver les coefficients synaptiques.
- On parle de phase d’apprentissage : les caractéristiques du réseau sont modifiées
jusqu’à ce que le comportement désiré soit obtenu.
Les réseaux de neurones
Définitions
Donc : w0 = 0 ; w1 = 1 ; w2 = 1
Ce perceptron calcule le OU logique pour tout couple (x1 ; x2)
Avantages des réseaux de neurones
Aptitude à modéliser des structures complexes et des données irrégulières
Sensibilité à un trop grand nombre de variables non discriminantes (contrairement aux arbres de
décision)
Inconvénients des réseaux de neurones
Résultats totalement non explicites
x0 x1 x2
somme xi*wi
New wi=old wi+(c-o)*xi
Analyse discriminante
cran.r-project.org
Arbre de Décision
Réseaux de neurones
Deep Learning
descente du gradient, problèmes multi‐classes, Deep Learning
Fonction de transfert
Biais X0=1
Fonction à seuil ‐‐ Fonction de Heaviside
a0
X1
a1 1
Entrées X2 0
Descripteurs a2 d(X )
a3
X3
Modèle de prédiction et règle d’affectation
Poids synaptiques ( )= + + +
0 1 1 2 2 3 3
1.5
1.3
X1 X2 Y 1.1
0.9
1
0 0 0 0.7
0.5
0 1 0 0.3
1 0 0 0.1
- 0.1
1 1 1 - 0.3
- 0.5
- 0.5 0 0.5 1 1.5
Principales étapes :
1. Mélanger aléatoirement les observations
2. Initialiser aléatoirement les poids synaptiques
3. Faire passer les observations unes à unes Une observation peut
passer plusieurs fois !
• Calculer l’erreur de prédiction pour l’observation
• Mettre à jour les poids synaptiques
4. Jusqu’à convergence du processus
Le Perceptron
On peut construire des Perceptrons capables de
réaliser les fonctions logiques : ET / OU
Mais le Perceptron est incapable de distinguer les
patrons non séparables linéairement.
OU Exclusif (XOR)
Données non linéairement séparables !
Associer plusieurs
perceptrons :
perceptron multi-
couches
95
Pouvoir séparateur
1. 3
1
X1 X2 Y 1.1
0 .9
0 0 0 0 .7
Non séparable linéairement
0 1 1 0 .5
1
0 .3
(Minsky & Papert, 1969)
1 0 1 0.1
- 0.1
1 1 0 - 0 .3
- 0 .5
Données
- 0.5 0 0 .5 1 1. 5
1.0
X0=1
0.8
0.6
X1
X2
0.4
X1 efficace n’est pas possible.
Perceptron multicouche - Principe
X1
X0=1
1 1
X0=1
X1 -116.47063
X1
Z
X2 63.08049
X2
Error: 14.163132 Steps: 22302
Couche d’entrée Couche cachée Couche de sortie
Descente de gradient
Algorithme du gradient (descente de gradient)
Parfois la résolution analytique n’est pas possible, parce que le nombre de paramètres est élevé par
exemple, ou parce que le calcul serait trop coûteux approximation avec une approche itérative.
Le « gradient », généralisation
1. Initialiser avec x0 (au hasard)
multidimensionnelle de la dérivée [si un seul
2. Répéter
paramètre], au point xt. Indique la direction et
,
l’importance de la pente au voisinage de x . t
3. Jusqu’à convergence
https://academo.org/demos/3d-surface-plotter
25
20
La solution analytique passe par :
15
10
En s’assurant que
5
0
‐5 ‐4 ‐3 ‐2 ‐1 0 1 2 3 4 5
Optimisation d’une fonction différentiable et convexe
Optimisation d’une fonction différentiable et convexe
x1
x2
.
.
.
.
.
.
.
xn
35
Exemple : MNIST
MNIST
28 pixels
Chargement de données Un exemple
mnist = keras.datasets.mnist plt.figure()
(train_images, train_labels), plt.imshow(train_images[0])
(test_images, test_labels) = plt.colorbar()
plt.grid(False)
mnist.load_data()
plt.show()
Résultats du test
t e s t _ l o s s , test_acc = model.evaluate(test_images, tes t_ la b els )
p r i n t("p er t e: {}, accuracy: {}".format( t e s t _ l o s s , test_acc))
Affichage
108