You are on page 1of 8

Master dInformatique [INF511] 2009/10

Fouille de donnes
Vincent Labatut
Universit Galatasaray

TP 1

prsentation de Weka & prtraitement

1 Prsentation
Weka (pour Waikato Environment for Knowledge Analysis) est un outil de fouille de donnes open-source (licence GNU) dvelopp en Java. Il a t cr luniversit de Waikato, en Nouvelle-Zlande, par un groupe de chercheurs issus de lapprentissage automatique, de la reconnaissance de formes et de la fouille de donnes. Le logiciel permet de traiter diffrentes sources de donnes : des fichiers de diffrents formats, dont le format Attribute-Relation File Format (ARFF), dvelopp pour Weka ; des URL ; des bases de donnes SQL. Lanalyse peut tre effectue en utilisant la plupart des techniques de fouille existantes. Le logiciel est disponible ladresse http://www.cs.waikato.ac.nz/ml/weka. La rfrence bibliographique attache au logiciel est le livre : Data Mining, practical machine learning tools and techniques with Java implementations, Ian H. Witten & Eibe Frank. Weka permet de : prtraiter des donnes (onglet Preprocess dans linterface graphique) faire de la classification supervise (Classify) et non-supervise (Cluster) effectuer des rgressions (Select Attributes) rechercher des rgles dassociation (Associate) obtenir diffrentes reprsentations graphiques des donnes (Visualize). Il est possible dutiliser les outils prsents dans Weka, ou de programmer ses propres outils de fouille de donnes partir des classes existantes. Lorsquil lance Weka, lutilisateur doit choisir une interface : Simple CLI (console), Explorer (traitement interactif), Experimenter (traitement par lot), KnowledgeFlow (traitement en ligne). Quelques liens utiles : Site officiel de Weka : http://www.cs.waikato.ac.nz/ml/weka/ Guide dutilisation de linterface graphique : http://www.dbs.cs.uni-duesseldorf.de/lehre/docs/weka/ExplorerGuide.pdf Description du format ARFF : http://www.cs.waikato.ac.nz/~ml/weka/arff.html Le chapitre du livre Data Mining qui est ddi Weka : http://ovh.dl.sourceforge.net/sourceforge/weka/Tutorial.pdf Diffrents tutoriels : http://www.cs.queensu.ca/home/mcconell/Weka.html http://www.cs.ualberta.ca/~c603/weka/index.shtml http://www.cs.bham.ac.uk/~jxl/Tutorial/classification.php

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 1/8

prsentation de Weka & prtraitement

2 Format ARFF
Weka traite des donnes contenues dans des fichiers respectant le format ARFF. Il sagit de fichiers de type texte, dcrivant des ensembles de tuples caractriss par un certain nombre dattributs communs. Le fichier comprend : le nom de la relation (i.e. de la table) :
@relation nom de la relation

la liste des attributs, comprenant leurs noms et leurs types : o nominal :


@attribute valeur} nom de lattribut {premire valeur,deuxime valeur,,n-ime

o numrique (rel ou entier) :


@attribute attribut numrique numeric

o chaine de caractres :
@attribute attribut chaine de caractres string

o date : possibilit de prciser un format de date.


@attribute attribut date date

la liste des tuples dbute avec le marqueur :


@data

puis chaque ligne reprsente un tuple : o les valeurs sont spares par des virgules. o elles doivent apparatre dans le mme ordre que les attributs dclars. o chaque valeur manquante est reprsente par un point dinterrogation. o un retour chariot reprsente la fin du tuple.
@data 4.4,?,1.5,?, Iris-setosa ...

3 Prtraitement
3.1 Interface
Dans un premier temps, nous allons nous intresser linterface Explorer. Le prtraitement est ralis dans longlet Preprocess. Les boutons du haut permettent douvrir diffrentes sources de donnes :

Quand une source est ouverte, les boutons Edit et Save permettent dditer directement les valeurs des tuples et de les enregistrer. Le panel Current relation donne des informations sur le fichier actuellement ouvert (ici le fichier iris.arff) : nom de la relation, nombre dinstances, nombre dattributs.

Le panel Attributes donne la liste de chaque attribut : sa position par rapport aux autres attributs, son nom. Il permet aussi de cocher certains attributs (checkboxes et boutons All, None et Invert) pour les travailler ou les supprimer (bouton Remove en bas du panel) :
Master dInformatique [INF511] 2009/10 TP 1 2/8

Fouille de donnes

prsentation de Weka & prtraitement

Lorsquon slectionne un attribut (ici : sepallength), des informations qui le concernent apparaissent dans le panel Selected Attribute : nom de lattribut. type de lattribut : numrique, nominal, etc. nombre de valeurs manquantes (Missing). nombre de valeurs diffrentes (Disctinct) nombre de valeurs napparaissant quune seule fois (Unique). Le tableau situ en dessous contient un certain nombre de statistiques dcrivant lattribut. Pour un attribut numrique, on y trouve les valeurs minimales et maximales, la moyenne (Mean) et lcart-type (Standard deviation). Pour un attribut nominal, on y trouve chaque valeur possible de lattribut avec son nombre dapparitions.

Le graphique situ en dessous du panel Selected Attribute reprsente la distribution des tuples en termes de classes, en fonction de la valeur de lattribut slectionn. Lattribut considr comme la classe est celui qui est slectionn dans le menu droulant situ juste au dessus du graphique. Attention : si cet attribut est numrique, il nest pas possible de le considrer comme une classe !). Ici, chacune des trois couleurs reprsente une classe, et les valeurs en abscisse sont les longueurs de spales (sepallength). On peut visualiser toutes les distributions dun seul coup dil en utilisant le bouton Visualize All.

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 3/8

prsentation de Weka & prtraitement

3.2 Filtres
Un filtre est un dispositif permettant de raliser un prtraitement spcifique des donnes ouvertes.

Le bouton Choose du panel Filter permet douvrir une fentre proposant plusieurs filtres diffrents, organiss de faon hirarchique :

Une fois quun filtre est slectionn, il apparat dans le panel Filter (ici : Discretize), suivi par un certain nombre dindications correspondant des paramtres de filtrage (ici : -R firstlast) :

On peut modifier ces paramtres en cliquant sur le nom du filtre, une fentre de configuration apparat alors :

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 4/8

prsentation de Weka & prtraitement

Le panel About contient une courte description du filtre, et le bouton More permet dobtenir plus dinformations, notamment sur les paramtres du filtre. La zone centrale de la fentre contient la liste des paramtres du filtre, avec leurs valeurs actuelles, qui sont modifiable. Les boutons Open et Save situs en bas de la fentre permettent denregistrer/charger les paramtres pour les rutiliser par la suite. Une fois que le filtre est paramtr, le bouton Apply du panel Filter permet de lappliquer aux donnes. Ici, on a appliqu une discrtisation, et on visualise le rsultat sur latt ribut sepallength ( comparer avec sa reprsentation graphique prcdente) :

4 Visualisation
Longlet Visualize donne, dans le panel suprieur, des reprsentations graphiques en 2D de lensemble des tuples. Pour le fichier iris.arff par exemple, on trouve 25 graphiques, chacun reprsentant les donnes exprimes en utilisant deux des cinq attributs disponibles :

En ralit, un troisime attribut apparat sous forme de couleur (par dfaut, il sagit de la classe). Dans le cas dun attribut nominal, chaque couleur correspond une des valeurs possibles. Dans le cas dun attribut numrique, un dgrad de couleurs est utilis pour reprsenter le continuum des valeurs. Le panel infrieur permet de modifier lapparence des graphiques :

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 5/8

prsentation de Weka & prtraitement

La valeur PlotSize dtermine taille des graphiques La valeur PointSize correspond lpaisseur des points reprsentant les tuples La valeur Jitter permet de dcaler de faon artificielle (et alatoire) les points ventuellement aligns, et donc masqus (surtout utile pour les attributs discrets). Le bouton Select Attributes permet de choisir les attributs que lon veut tudier. Le menu droulant Colour: permet de choisir quel attribut apparat sous la forme de couleur dans les graphes (la lgende apparat en bas du panel infrieur). Le bouton SubSample permet de nafficher quune partie des tuples (utile quand il y a beaucoup de tuples) Les modifications de ces paramtres sont appliques en utilisant le bouton Update.

En cliquant sur un des graphiques, une nouvelle fentre ddie ce graphique souvre (ici, il sagit du premier graphique de la seconde ligne) :

On peut modifier les attributs utiliss pour les axes du graphique grce aux deux menus droulants du haut (X: et Y:). Le menu droulant Colour et la valeur Jitter ont les mmes rles que prcdemment.

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 6/8

prsentation de Weka & prtraitement

Chaque barre horizontale noire (situe sur la droite) est un graphique reprsentant la concentration des tuples en fonction de leurs valeurs pour un attribut en particulier. Ces valeurs sont positionnes en abscisse. Il ny a pas dchelle pour lordonne du graphique : en fait, les instances sont disposes verticalement de manire ne pas se masquer, et rendre le graphique plus lisible. Le X et le Y situs gauche du graphique dsignent les attributs actuellement utiliss en tant quaxes (respectivement : dabscisse et dordonne) du graphique principal (le grand graphique situ gauche). Un B (pour Both) signifie que le mme attribut est utilis la fois pour les abscisses et les ordonnes. Un clic-gauche (respectivement : un clic-droit) sur un des graphiques de droite permet de slectionner un nouvel attribut pour laxe des abscisses (respectivement : des ordonnes) de graphique principal. Par dfaut, un clic sur un point du graphique principal permet douvrir une fentre dcrivant linstance correspondant ce point, voire les instances, si plusieurs instances sont situes sur un mme point. Si on modifie la valeur du menu droulant Select Instance, on modifie le mode de slection dinstances : Rectangle : on peut dessiner par cliquer-glisser un rectangle de slection englobant plusieurs points.

Polygon : on peut dessiner un polygone par une succession de clic-gauche. Un clic-droit termine le polygone, et slectionne tous les points qui sont lintrieur.

Polyline : on dessine une ligne par une succession de clic-gauche. Un clic-droit termine la ligne, et slectionne les points situs dun ct de la ligne.

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 7/8

prsentation de Weka & prtraitement

La zone slectionne apparat en gris sur le graphique. Le bouton Submit permet de ne garder que ces points, Clear permet deffacer la slection, et Reset permet de revenir au graphe tel quil tait avant davoir cliqu sur Submit. Le bouton Save permet denregistrer les tuples visibles dans un fichier.

5 Exercices
On travaille sur la BD des iris (iris.arff).

Exercice 1
Changez les axes de manire avoir la largeur des ptales en abscisse et la longueur des spales en ordonne. Proposez trois rgles simples qui permettent de classifier les donnes en respectant approximativement les classes existantes. Quelle est lerreur commise ?

Exercice 2
Changez les axes de manire avoir la classe en abscisse. Passez successivement tous les autres attributs en revue, en les slectionnant pour laxe des ordonnes. Quel semble tre lattribut qui, pris tout seul, permet de mieux dterminer la classe ?

Exercice 3
Parfois, la relation entre la classe et les attributs nest pas linaire. On veut tester si la classe diris dpend de la surface des ptales et/ou des spales. On suppose quils sont tous rectangulaires (les ptales comme les spales). Faites un prtraitement qui introduit ces deux nouveaux champs, puis rpondez de nouveau la question prcdente.

Exercice 4
Certains attributs peuvent tre carts avant la fouille, soit parce quils sont inutiles, soit parce quils sont redondants (trop lis dautres attributs). Le filtre AttributeSelection permet de les dtecter automatiquement. Que se passe-t-il si on applique ce filtre avec les paramtres par dfaut nos donnes (contenant toujours sepalsurface et petalsurface) ? Que peut-on en dduire ?

Exercice 5
Certaines mthodes de fouille ont besoin de donnes discrtes, dautres de donnes continues, et certaines peuvent utiliser les deux. Trouvez et appliquez le filtre de discrtisation non-supervise. A quoi servent les options bins et useEqualFrequency ?

Fouille de donnes

Master dInformatique [INF511] 2009/10

TP 1 8/8

You might also like