Vous êtes sur la page 1sur 43

Approche Data Mining par WEKA

WEKA, un logiciel libre


dapprentissage et de data mining
Yves Lechevallier
INRIA-Rocquencourt
E_mail : Yves.Lechevallier@inria.fr
Yves Lechevallier

Dauphine

WEKA 3.4 : Plan

Prsentation de WEKA 3.4


Format ARFF
WEKA Explorer
WEKA Experiment Environment
WEKA KnowledgeFlow

Yves Lechevallier

Dauphine

WEKA 3.4
Site WEB :
http://www.cs.waikato.ac.nz/ml/weka/
Weka Machine Learning Project (GNU Public License)
Format ARFF
Beaucoup de mthodes de classification supervises
Quelques mthodes de classification automatiques
Quelques mthodes de recherches de sous-ensembles
frquents
Fichiers de rsultats standardiss
Yves Lechevallier

Dauphine

WEKA 3.4

Yves Lechevallier

Le Site

Dauphine

WEKA 3.4 Documentation (1/2)


Ian H. Witten and Eibe Frank (2005) "Data Mining:
Practical machine learning tools and techniques", 2nd
Edition, Morgan Kaufmann, San Francisco, 2005.

Le livre

Les auteurs
Yves Lechevallier

Dauphine

WEKA 3.4 Documentation (2/2)


Documentation en ligne
A presentation demonstrating all graphical user interfaces in Weka. (Warning:
this is a large Powerpoint file.)
Une prsentation trs bien faite. A lire avant de commencer.
An introduction , written by Alex K. Seewald, to using Weka 3.4.4 from the
command line.
A lire pour les concepts de base
A page documenting the ARFF data format used by Weka.
A lire car cest le format dentre de Weka
A page describing how to load your MS Access database into the Weka Explorer.
Indispensable pour le monde Windows
A page describing the use of XML in WEKA.
pour le futur

Yves Lechevallier

Dauphine

GUI : Interfaces utilisateurs

Yves Lechevallier

Dauphine

Interface ligne de commande

Yves Lechevallier

Dauphine

Les concepts
Un tableau des donnes ou une collection
dexemples (dataset).
Chaque ligne de ce tableau reprsente une
observation qui est dcrite par un vecteur
(instance)
Chaque colonne reprsente une variable (attribute)
qui peut tre quantitative (numeric), qualitative
(nominal) ou textuelle (string).
Yves Lechevallier

Dauphine

Format ARFF, un exemple


% 1. Title: Iris Plants Database
%
(a) Creator: R.A. Fisher
%
(b) Donor: Michael Marshall (MARSHALL%PLU@io.arc.nasa.gov)
%
(c) Date: July, 1988
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class
{Iris-setosa,Iris-versicolor,Iris-virginica}

@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa

Yves Lechevallier

Entte

Les donnes

Dauphine

10

10

Format ARFF, lentte


Le nom du tableau de donnes
@RELATION iris
@ATTRIBUTE sepallength NUMERIC
@ATTRIBUTE sepalwidth NUMERIC
Variables continues
@ATTRIBUTE petallength NUMERIC
@ATTRIBUTE petalwidth NUMERIC
@ATTRIBUTE class
{Iris-setosa,Iris-versicolor,Iris-virginica}

Variable discrte
Yves Lechevallier

Dauphine

11

11

Format ARFF, Les donnes


@DATA
5.1,3.5,1.4,0.2,Iris-setosa
4.9,3.0,1.4,0.2,Iris-setosa
4.7,3.2,1.3,0.2,Iris-setosa
4.6,3.1,1.5,0.2,Iris-setosa
5.0,3.6,1.4,0.2,Iris-setosa
5.4,3.9,1.7,0.4,Iris-setosa
4.6,3.4,1.4,0.3,Iris-setosa
Numrique

Le sparateur est la
virgule.
Si le nom dune
modalit contient un
blanc mettre entre
guillemets

Nominal

Yves Lechevallier

Dauphine

12

12

Explorer : Interface utilisation des


mthodes
Objectifs :
Le Weka Explorer permet de lancer une
mthode partir dun fichier ARFF.
Les rsultats sont mis sous la forme dun
fichier texte normalis.
Permet de slectionner la mthode la mieux
adapte ou la plus efficace.
Yves Lechevallier

Dauphine

13

13

Explorer : Multiplot

Slection de
la taille de
limage,
des variables
de la grosseur
des points
Ne pas oublier
Yves Lechevallier

Dauphine

14

14

Explorer : Interface utilisation des


mthodes

(1)
Lecture du
tableau de
donnes au
format
ARFF
La dernire
variable est la
variable
prdire.
Yves Lechevallier

Dauphine

15

15

Explorer : Interface utilisation des


mthodes

(2)
Choix de la
mthode

(3)
Visualize
Select attribute
Classify
Cluster
Associate
Yves Lechevallier

Les
rsultats

Dauphine

16

16

Rgle de Bayes derreur minimale


x

Y * (x) = k o k est telque Pr(k / x) = max Pr(h / x)

Cette dfinition est peu oprationnelle, en effet, on connat


rarement la probabilit d'un classement sachant une description.
Thorme de Bayes

Pr(k / x) =

k = Pr[Y = k ]

k Lk ( x)
L( x)

Lk ( x) = Pr[ X = x / Y = k ] est la densit de la classe k


x Y * ( x) = k o k est telque Pr(k / x) = max k Lk ( x)
Yves Lechevallier

Dauphine

17

17

Les descriptions suivent une loi


normale
Le descripteur X des exemples est constitu de p
descripteurs numriques et que sa distribution,
conditionnellement aux classes, suit une loi normale
multidimensionnelle centre sur le vecteur k et de
matrice de variance-covariance .
k

La vraisemblance conditionnelle de X pour la classe k


s'crit alors

Lk ( x) = (2) det k
p

Yves Lechevallier

12

exp 12 ( x k )t k1 ( x k )

Dauphine

18

18

Exemple
Les variances et les probabilits a priori sont gales
densit de deux lois normales de variances gales

La taille moyenne des


femmes est gale 1,67

1.0

La taille moyenne des


hommes est gale 1,76

0.6

1=1,67 et 2=1,76

mu = 1.67, sigma = 0.1 F


mu = 1.76, sigma = 0.1 H

densit ->

0.8

0.4

0.2

0.0
12.0

13.0

14.0

15.0

16.0

17.0

18.0

19.0

20.0

x ->

Lk(x)
Yves Lechevallier

Dauphine

19

19

Rgle de Bayes
k Lk ( x)
L( x)

Cette rgle minimise le pourcentage


de mauvais classement
probabilit a posteriori
posteriori F
posteriori H

1.0

0.8
densit ->

Pr( k / x) =

0.6

0.4

0.2

0.0
12.0

13.0

14.0

15.0

16.0

17.0

18.0

19.0

20.0

x ->

Rgion de F
Yves Lechevallier

Dauphine

Rgion de H
20

20

Construction dun tableau de confusion


partir dune fonction de dcision
densit de deux lois normales de variances gales
1.0

mu = 1.67, sigma = 0.1 F


mu = 1.76, sigma = 0.1 H

densit ->

0.8

Qualit de la dcision :

0.6

0.4

(A+D)/(A+B+C+D)

0.2

0.0
12.0

13.0

14.0

15.0

16.0

17.0

18.0

19.0

x ->

B
Classes
daffectation
Yves Lechevallier

20.0

Classes a priori

RF

RH

Dauphine

21

21

Qualit dun score


Chaque sortie du rseau est associe une
classe a priori.
Lobjectif est danalyser les scores de cette
sortie
Les exemples sont les observations de la
classe a priori associe cette sortie
Les contre-exemples sont les observations
des autres classes
Yves Lechevallier

Dauphine

22

22

courbe ROC
(1/3)
Receiver Operating Characteristic curve
Pour un score s nous avons quatre comptages
(A) Les Vrais Positifs sont les exemples ayant une
valeur suprieure s.
(D) Les Vrais Ngatifs sont les contre-exemples
ayant une valeur infrieure s.
(B) Les Faux Ngatifs sont les exemples ayant une
valeur infrieure s.
(C) Les Faux Positifs sont les contre-exemples
ayant une valeur suprieure s.
Yves Lechevallier

Dauphine

23

23

Courbe ROC

(2/3)

On se fixe la classe a priori G et F est


lensemble des autres classes a priori
La sensibilit du score s est gale P[S>s/G],
la sensibilit est le pourcentage de Vrais
Positifs
La spcificit du score s est gale P[S<s/F],
la spcificit est le pourcentage de Vrais
Ngatifs
Yves Lechevallier

Dauphine

24

24

Courbe ROC
Quand le score augmente

Groupe dtecter : H
1.00
specificite(x)
sensibilite(x)

0.90

la sensibilit diminue cela


signifie que le % dexemples
dpassant cette valeur
diminue: A/(A+C)

0.80
0.70

Prob ->

0.60
0.50
0.40
0.30
0.20
0.10
0.00
1.2

1.3

1.5

1.6

1.7

1.8

2.0

2.1

x ->

Si s=1,6 on a 90% des exemples


dpassent cette valeur et 40% des
contre-exemples sont en dessous
de cette valeur
Yves Lechevallier

Dauphine

2.2

La spcificit augmente cela


signifie que le % de contreexemples en dessous de cette
valeur augmente: D/(B+D)

25

25

Courbe ROC
Lk(x)

densit de deux lois normales de variances gales


1.0

mu = 1.67, sigma = 0.1 F


mu = 1.76, sigma = 0.1 H

densit ->

0.8

0.6

0.4

0.2

0.0
12.0

13.0

14.0

15.0

16.0

17.0

18.0

19.0

20.0

x ->

Spcificit=VN

Sensibilit=VP
Yves Lechevallier

Dauphine

26

26

Courbe ROC : interprtation


La diagonale reprsente la courbe ROC dun chantillon dexemples et contreexemples compltement mlangs
La courbe ROC de gauche est celle de notre exemple (1=1,67 et 2=1,76)
La courbe ROC de droite est celle obtenue avec 1=1,57 et 2=1,86
Courbe ROC

Courbe ROC

1.00

1.00
ROC

0.90

0.90

0.80

0.80

0.70

0.70

0.60

0.60
sensibilite

sensibilite

ROC

0.50

0.50

0.40

0.40

0.30

0.30

0.20

0.20

0.10

0.10

0.00

0.00
0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

1-specificite

0.0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1.0

1-specificite

La surface entre la diagonale et la courbe ROC est une mesure de sparabilit


des exemples avec les contre-exemples.
Yves Lechevallier

Dauphine

27

27

F-mesure : valuation externe


L'valuation de la qualit des classes daffectation Ci gnres
par la mthode de classement est base sur sa comparaison
avec les classes a priori Uk

nki est le nombre dexemples classes dans la classe Uk et


ayant t affects au groupe Ci obtenu par la mthode de

classification.
nk. est le nombre dexemples mises dans la classe a priori Uk
n.i est le nombre dexemples de la classe Ci
n est le nombre dexemples.

Yves Lechevallier

Dauphine

28

28

F mesure
La F-measure combine les mesures de prcision et de rappel
entre deux classes Uik et Ci. de deux partitions.
La mesure de rappel est dfinie par R(i,k)=nki /nk.
Cest le pourcentage dexemples de la classe a priori k que
lon retrouve dans la classe i obtenue par classification.

Le rappel diminue quand le nombre de classes de la partition


obtenue par classification diminue.
La mesure de prcision est dfinie par P(i,k)= nki /n.i
Cest le pourcentage dexemples de la classe i que lon
retrouve dans la classe a priori k.
La prcision augmente quand le nombre de classes de la
partition obtenue par classification diminue.
Yves Lechevallier

Dauphine

29

29

F-mesure
La F-measure propose par (Van Rijsbergen, 1979) combine
les mesures de prcision et de rappel entre Uk et Ci.
La mesure de rappel est dfinie par R(i,k)=nik /nk.
La mesure de prcision est dfinie par P(i,k)= nik /n.i
La F-measure entre la partition a priori U en K groupes et la
partition P par la mthode de classification est :
K

F = (n.k / n) max(2.R (k , j ).P (k , j ) ( R (k , j ) + P (k , j )))


j

k =1

F mesure pour la classe a priori k :

F (k ) = max(2.R (k , j ).P(k , j ) ( R (k , j ) + P (k , j )))


j

Yves Lechevallier

Dauphine

30

30

Rsultats dune mthode de


classement
=== Run information ===
Scheme:
weka.classifiers.trees.J48 -C 0.25 -M 2
Relation: iris
J48 pruned tree
Instances: 150
-----------------Attributes: 5
sepallength
petalwidth <= 0.6: Iris-setosa (50.0)
sepalwidth
petalwidth > 0.6
petallength
| petalwidth <= 1.7
| | petallength <= 4.9: Iris-versicolor (48.0/1.0)
petalwidth
| | petallength > 4.9
class
| | | petalwidth <= 1.5: Iris-virginica (3.0)
Test mode: split 66% train, remainder test
=== Classifier model (full training set) ===

Yves Lechevallier

| | | petalwidth > 1.5: Iris-versicolor (3.0/1.0)


| petalwidth > 1.7: Iris-virginica (46.0/1.0)
Number of Leaves :

Size of the tree :

Dauphine

31

31

Critres de qualit
=== Confusion Matrix ===

=== Evaluation on test split ===


=== Summary ===
Correctly Classified Instances
96.0784 %
Incorrectly Classified Instances
3.9216 %
Kappa statistic
Mean absolute error
Root mean squared error
Relative absolute error
Root relative squared error
Total Number of Instances

2
0.9408
0.0396
0.1579
8.8979 %
33.4091 %
51

=== Detailed Accuracy By Class ===


TP Rate
1
1
0.882

FP Rate
0
0.063
0

Precision
1
0.905
1

Recall
1
1
0.882

Yves Lechevallier

a b c
<-- classified as
15 0 0 | a = Iris-setosa
0 19 0 | b = Iris-versicolor
0 2 15 | c = Iris-virginica

49

F-Measure
1
0.95
0.938

Dauphine

En ligne les classes


daffectation
En colonne les classes
a priori

Class
Iris-setosa
Iris-versicolor
Iris-virginica

32

32

Critres de qualit
=== Detailed Accuracy By Class ===
TP Rate
1
1
0.882

FP Rate
0
0.063
0

Precision
1
0.905
1

Recall
1
1
0.882

F-Measure
1
0.95
0.938

Class
Iris-setosa
Iris-versicolor
Iris-virginica

TP rate : taux des vrais positifs 15/17


FP rate : taux des faux positifs 0/34
Precision : 15/15

RV RNV
V
NV

15
0

2
34

Rappel : recall 15/17

F-Measure : 2*1*0.882/(1+0.882)= 0.938


Yves Lechevallier

Dauphine

33

33

Estimation de la qualit dune rgle


de dcision
Donner une mesure de qualit une rgle de dcision cest
raliser une estimation du taux ou du cot derreur de
classement que fournira cette rgle sur la population.
Ensemble dapprentissage
Cest sur cet ensemble quune mthode de classement
construit la rgle de dcision.
Ensemble test
Cest sur cet ensemble quune mthode de classement est
valide
Yves Lechevallier

Dauphine

34

34

Estimation des taux derreur de


classement
La probabilit derreur de classement ERR sur la population:

R (Y ) =


k =1

lk

Pr( l / k )

Le taux derreur de classement sur lensemble


dapprentissage : (Taux apparent)
Trop optimiste et avec biais
Le taux derreur de classement sur lensemble test :
(Taux actuel)
Sans biais mais il faut un chantillon important
Yves Lechevallier

Dauphine

35

35

Techniques de rchantillonnage (1)


Ensemble de donnes trop petit (taille n)
Validation croise : (cross-validation)
dcouper lchantillon en k parties de mme
effectif
(k-1) parts servent densembles dapprentissage
la part restante sert densemble test
Ceci est rpt k fois et le taux derreur de
classement est la moyenne des taux derreur des
ensembles test
Si k=n (leave one out)
Yves Lechevallier

Dauphine

36

36

Techniques de rchantillonnage (2)


Tirage avec remise : bootstrap
On tire au hasard et avec remise n exemples qui
constituent alors un chantillon
On calcule pour chaque tirage le taux apparent
Err et le taux derreur apparent sur lchantillon
de base ERR
Do le taux derreur bootstrap de k dans l :
ErrB (l / k ) = ERR(l / k ) + 1 / ERR (l / k ) Err (l / k )

Yves Lechevallier

Dauphine

37

37

Experiment : planifier des expriences


Objectifs :
Weka Experiment Environment permet crer
analyse de comparaison de mthodes (classifiers)
ou de stratgies dutilisation de ces mthodes
On peut sauvegarder le plan dexprience et les
rsultats obtenus
Une analyse des performances peut tre faite via
un tableur
Yves Lechevallier

Dauphine

38

38

Experiment : planifier des expriences

(3)
Choix du
format de
conservation
des rsultats

(1)

Choix de la base

Yves Lechevallier

Dauphine

Choix des
mthodes ou
classifieurs

(2)
39

39

Experiment : comparer des


classifieurs

Deux jeux de donnes et trois mthodes de


discrimination
Yves Lechevallier

Dauphine

40

40

KnowledgeFlow : Crer un
enchanement de modules
Objectif :
Crer les liens entre les entres et sorties de
diffrents modules de manipulation, de
visualisation, de dcision et danalyse.
Permet de crer un traitement complet
danalyse dun jeu de donnes
Programmation iconique
Yves Lechevallier

Dauphine

41

41

KnowledgeFlow : Crer un
enchanement de modules

Yves Lechevallier

Dauphine

42

42

WEKA:
http://www.cs.waikato.ac.nz/ml/weka/

Copyright: Martin Kramer


(mkramer@wxs.nl)

Yves Lechevallier

Dauphine

43

43