Jef Wijsen Valérie Fiolet Datawarehousing & Datamining



Documents pareils
Deuxième Licence en Informatique Data Warehousing et Data Mining La Classification - 1

Travaux pratiques avec RapidMiner

Projet SINF2275 «Data mining and decision making» Projet classification et credit scoring

RapidMiner. Data Mining. 1 Introduction. 2 Prise en main. Master Maths Finances 2010/ Présentation. 1.2 Ressources

Sommaire. 2. Utiliser la télécommande Télécommande Administrateur Télécommande Utilisateur Échanger une télécommande...

Fiches d aide à l utilisation

Bouzerda Feriel- Hadjira Louati Mortadha Maâtallah Amine

B-web V4 MANUEL D UTILISATION. Espace de travail. Clear2Pay Belgium SA B-web V4 Manuel d Utilisation: Espace de travail

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Service des ressources informatiques - Conseil Scolaire de District Catholique Centre-Sud Page 1

1 Modélisation d être mauvais payeur

Modes Opératoires WinTrans Mai 13 ~ 1 ~

Traitement des données avec Microsoft EXCEL 2010

QUICK START RF Monitor 4.3-1

TD de supervision. J.P. Chemla. Polytech Tours Département productique 2ème année

PARAMETRAGE D INTERNET EXPLORER POUR L UTILISATION DE GRIOTTE

Studio. HERITIER Emmanuelle PERSYN Elodie. SCHMUTZ Amandine SCHWEITZER Guillaume

CREG : versailles.fr/spip.php?article803

Gestion de projet. GanttProject Didacticiel V novembre Gérard Gervois Frédéric Giamarchi

Chapitre 22 Optimisation pour diffusion à l'écran, pour le web

Table des matières A. Introduction... 4 B. Principes généraux... 5 C. Exemple de formule (à réaliser) :... 7 D. Exercice pour réaliser une facture

Système de Gestion Informatisée des. Exploitations Agricoles Irriguées avec Contrôle de l Eau

Créer des étiquettes avec les adresses d'un tableau Calc

Assistant d e tablissement de Tableaux

Guide de l utilisateur du Centre de gestion des licences en volume LICENCES EN VOLUME MICROSOFT

Mise à jour de la base de données des marques nationales du tourisme

MANUEL D UTILISATION POUR APPAREILS ANDROID

Mise en scène d un modèle dans l espace 3D

Optimiser pour les appareils mobiles

Module d échange de données INTERLIS v1.0 GeoConcept Manuel d'utilisation

Manuel Utilisateur RF Monitor Tracker

ESPACE COLLABORATIF SHAREPOINT

Enquête APM sur le Gouvernement d entreprise dans les PME-PMI : quelques résultats et commentaires

Système de contrôle d installations photovoltaïques

TUTORIAL Microsoft Project 2010 Fonctionalités de base

Introduction aux outils BI de SQL Server Fouille de données avec SQL Server Analysis Services (SSAS)

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Tutoriel QSOS. Version /02/2013

données en connaissance et en actions?

INTRODUCTION AU DATA MINING

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Exercices Alternatifs. Une fonction continue mais dérivable nulle part

Prise en main rapide utilisateur

FICHIERS ET DOSSIERS

Créer le schéma relationnel d une base de données ACCESS

Aide Webmail. L environnement de RoundCube est très intuitif et fonctionne comme la plupart des logiciels de messagerie traditionnels.

Your Detecting Connection. Manuel de l utilisateur. support@xchange2.net

Gérer les règles de prix catalogue sur Magento

Manuel d utilisation Profilsearch

Saisissez le login et le mot de passe (attention aux minuscules et majuscules) qui vous ont

Utilisation avancée de SugarCRM Version Professional 6.5

Sommaire. I.1 : Alimentation à partir d un fichier Access (.mdb)...2

Efficace et ciblée : La surveillance des signaux de télévision numérique (2)

les Formulaires / Sous-Formulaires Présentation Créer un formulaire à partir d une table...3

Organiser les informations ( approche technique )

Sommaire. Images Actives Logiciel libre développé par le CRDP de l académie de Versailles 2 Rue Pierre Bourdan Marly le Roi

Développement mobile MIDP 2.0 Mobile 3D Graphics API (M3G) JSR 184. Frédéric BERTIN

Guide utilisateur Performance

ing Pro : Analyse & Understand your results PAGE 0

PRISE EN MAIN D ILLUSTRATOR

ContactForm et ContactFormLight - Gestionnaires de formulaire pour Prestashop Edité par ARETMIC S.A.

CAISSE. Ce logiciel nécessite une licence pour fonctionner.

ecdf Plateforme électronique de Collecte des Données Financières

BIRT (Business Intelligence and Reporting Tools)

Petit memo rapide pour vous guider dans la gestion des engagements de vos compétitions FFM

Comment utiliser RoundCube?

Afin d accéder à votre messagerie personnelle, vous devez vous identifier par votre adresse mail et votre mot de passe :

GUIDE DE DÉMARRAGE. SitagriPro Infinite FINANCEAGRI. Un service. c o r p o r a t e

Mode d emploi de la clef USB de l I.P.I. Philosophie de la clef USB

Lycée polyvalent Langevin-Wallon Champigny sur Marne Val de Marne

Conférence Web sur demande de TELUS Guide de référence rapide

Utilisation de XnView

Utilisation de SugarCRM Version Professional 5.2

Transmission d informations sur le réseau électrique

ENT ONE Note de version. Version 1.10

Mesurer les performances (CPU) sous Linux

SolidWorks edrawings et publications

EXCEL PERFECTIONNEMENT SERVICE INFORMATIQUE. Version /11/05

Commencer avec Allplan Exchange. Nemetschek Allplan Systems GmbH, Munich. All rights reserved. Enregistrement

MS PROJECT Prise en main. Date: Mars Anère MSI. 12, rue Chabanais PARIS E mail : jcrussier@anere.com Site :

GUIDE D UTILISATION. Gestion de compte. à destination des entreprises (Employeurs et Organismes de Formation)

DataCar CRM V2.4 Release Notes. DataCar CRM v2.4. Release Notes

Utiliser le service de messagerie électronique de Google : gmail (1)

PromoPost Manuel d utilisation

Proces-Verbaux Procédure de téléchargement

Manuel d utilisation de la plate-forme de gestion de parc UCOPIA. La mobilité à la hauteur des exigences professionnelles

Partie publique / Partie privée. Site statique site dynamique. Base de données.

STRUCTURE DE L ORDINATEUR

Release Notes pour les utilisateurs

MUNIA Manuel de l'utilisateur

Tutoriel. Votre site web en 30 minutes

Manipulation de données avec SAS Enterprise Guide et modélisation prédictive avec SAS Enterprise Miner

BADPLUS V5 MANUEL D'UTILISATION. Imports de données joueurs à partir de la base fédérale en ligne Poona. Stéphan KIEFFER - Dominique BOSSERT

Notice d utilisation

LES TOUT PREMIERS PAS

TP 4 de familiarisation avec Unix

Historique des versions

Introduction au Data-Mining

Guide de l utilisateur. Faites connaissance avec la nouvelle plateforme interactive de

Transcription:

Jef Wijsen Valérie Fiolet Datawarehousing & Datamining Travaux Pratiques Clustering sous WEKA Rapport Julien Baligant 2ème Licence Informatique Université de Mons-Hainaut 7 mai 2006 Ce rapport contient les solutions aux problèmes posés ainsi que des commentaires sur les exercices demandés relatifs au TP sur le clustering dans WEKA. 1 Simple K-Means Quel peut être le raisonnement derrière l association des clusters avec le label de classe existante? L idée est de retirer la classe (par exemple play) et d effectuer le clustering avec les classes restantes. Une fois ces clusters formés, on attribue la valeur de la classe retirée qui lui correspond le mieux à chacun d eux. On utilise pour cela la matrice d incidence entre les clusters et les valeurs de la classe. Le cluster qui a la plus grande différence entre le nombre d instances qui induisent les différentes valeurs est déterminé en premier. Il reçoit le label de la valeur majoritaire. Par exemple le cluster 2 a 6 instances : 5 donnent la valeur yes et 1 la valeur no, la différence fait donc 4 (ce qui est plus que les 2 autres clusters qui 1

donnent 0). On lui assigne la valeur yes qui est majoritaire. Le clusteur 1 reçoit la valeur no (car 3 instances donnent cette valeur au lieu de une seule pour le cluster 0). Et enfin le cluster 0 n est assigné à aucune valeur puisqu il n en reste plus. Répétez le SimpleKMeans plusieurs fois, à chaque fois avec une valeur différente pour le paramètre random seed. Sélectionnez la meilleure version en vous basant sur le taux d erreur (error rate) et sur des déductions par rapport au taille de clusters. Les résultats sont différents, et le pourcentage d instances mal placées aussi. Cela est du au fait que le random seed influe sur la façon de sélectionner les centroïds à l initialisation de l algorithme. La solution pour contrer ce problème est de ne garder que l expérience qui commet le moins d erreur, et de garder le même random seed pour la suite des tests. Le taux d erreur le plus bas trouvé est 42.8571% avec un seed à 20. Re-clusterisez avec le paramètre number of clusters fixé à 2. Répétez plusieurs fois avec différentes valeurs pour le paramètre seed. Quel est le plus petit taux d erreur que vous serez capable d obtenir? Le plus petit taux d erreur obtenu équivaut à 35.7143% d instances mal cassées avec un random seed valant 150. Re-clusterisez avec le paramètre number of clusters fixé à 4, 6 et 8. Commentez la qualité des clusters obtenus par rapport à l augmentation du nombre de clusters. Pour 4 clusters, l erreur est de 57.1429%, et pour 8 et 10 clusters de 71.4286%. Cela est normal puisque la classe de référence play n offre que deux valeurs yes et no, donc les clusters en plus ne se voient assignés aucune valeur, et donc augmente l erreur. Pour la classe play, le meilleur clustering se fait donc avec 2 clusters. Dans ce cas, tous les clusters sont assignés à une valeur possible de la classe, et l erreur est minimisée. Puisque k-means est très sensible à la sélection aléatoire initiale, pouvezvous proposer un solution à ce problème? Oui, il suffit de se fixer un random seed initial, comme ici celui qui donne le meilleur résultat pour 3 clusters, et de garder cette valeur de seed lorsqu on change les autres paramètres. 2

1.1 Conclusion On remarque que le plus difficile avec l algorithme SimpleKMeans est de trouver le meilleur nombre de clusters pour classer un jeu de données. Trop peu de clusters appauvrit l information apportée en la simplifiant, alors que trop de clusters tend à former des groupes trop spécialisés pour être représentatifs et donc sur lesquels on peut travailler ou tirer des conclusions. Il serait intéressant de pouvoir dire à WEKA de tester une fourchette de nombre de clusters et qu il ne garde que ceux qui produisent les meilleurs résultats, c est-à-dire ceux qui classent correctement le plus grand nombre d instances. 2 Outil de visualisation Quel attribut possède la meilleure répartition dans la distribution du Training Set en 3 clusters? Une première chose à remarquer est que les attributs nominaux offrent une meilleure lisibilité que les attributs numériques, ce qui est logique vu qu ils offrent moins de valeurs possibles et donc ont tendance à mieux grouper les instances. C est donc entre les attributs nominaux que le choix du meilleur va se décider. Les meilleurs répartitions ne font avec les attributs windy et play, comme l illustre la figure 1. Fig. 1 Visualisation 3 clusters : windy (gauche), play (droite) Etonnament, c est l attribut windy qui répartit le mieux les instances. En effet si on omet le cluster sans valeur assignée (en rouge), alors les instances sont bien séparées (vertes en haut et bleues en bas). Pour l attribut play, le constat est sensiblement le même, si on omet toujours le cluster sans valeur assignée. On remarque néanmoins la présence d instances bleues erronées au sein des instances vertes. L intuition laissait à penser que l attribut play serait le meilleur vu que 3

les clusters ont été évalués avec lui. Comment pourriez-vous améliorer l outil de visualisation? Les couleurs par défaut sont peu adéquates, un fond blanc aurait été plus approprié (surtout si on veut imprimer les graphes). Quelques options supplémentaires seraient aussi les bienvenues : affichage ou non des instances erronées, export du graphe en format JPG ou PNG,.... A titre de comparaison, l outil de visualisation du logiciel R est bien plus agréable et convivial (malgré l interface en ligne de commande de celui-ci). Utilisez l outil de visualisation pour analyser les clusters formés dans le deuxième test (nombre de clusters fixé à 2). Le constat est sensiblement le même à 2 clusters qu à 3 clusters, si ce n est l absence logique du cluster sans valeur assignée (logique vu que l attribut offre 2 valeurs et on a 2 clusters). Ici encore, l attribut windy offre une meilleure répartition des instances, comme le montre la figure 2 (les instances rouges en haut et les instances bleues en bas). Or, pour l attribut play, des instances erronées viennent encore prendre place dans le mauvais cluster. Fig. 2 Visualisation 2 clusters : windy (gauche), play (droite) 2.1 Conclusion L outil de visualisation est utile et relativement simple à utiliser, même si certaines options manquantes lui empêchent d être parfait. Le choix des couleurs de WEKA est parfois étrange et peu lisible, la possibilité de les choisir soi-même serait la bienvenue, tout comme celle de ne pouvoir afficher que les clusters désirés, ou de mieux les faire ressortir (les faire clignoter ou les entourer). L option Jitter est intéressante même si dans le cadre de ce TP elle n a pas été utilisée. 4

3 Clustering conceptuel Exécutez l algorithme CobWeb avec les paramètres par défaut. Commentez la structure hiérarchique de clusters formée? L arbre formé est complexe et se termine en de nombreuses feuilles. En effet, il y a 14 feuilles, représentant 14 clusters. Pour une population de départ de 14 instances, cela fait 1 instance par cluster.... Clairement ce n est pas du tout utilisable ou représentatif, vu que 12 instances sur 14 sont incorrectement classées. Quelle est la meilleure valeur du paramètre Cutoff pour ce jeu de données? On arrive à obtenir un clustering optimal de 2 clusters avec un cutoff entre 0.2347 et 0.2354. Dans ce cas, comme avec le k-means, l erreur tombe à 35.7143%, c est-à-dire 5 instances mal classées sur 14. La figure 3 représente la structure hiérarchique obtenue en appliquant l algorithme CobWeb avec un cutoff à 0.235. La feuille leaf 1 représente le cluster 1 assigné à la valeur yes qui contient 8 instances dont 2 erronées, et leaf 2 représente le cluster 2 assigné à la valeur no qui contient 6 instances dont 3 erronées, ce qui donne bien 5 instances erronées. Le noeud racine de l arbre est considéré aussi comme un cluster. Fig. 3 Structure hiérarchique cutoff = 0.235 Si on regarde l assignement des instances dans chaque cluster, on constate encore une fois que les attributs windy et play offrent la meilleure répartition, avec un léger avantage pour windy, comme le montre la figure 4. Pouvez-vous identifier des erreurs triviales, telles que des instances similaires du Training Set qui sont séparés dans des parties différentes de l arbre? 5

Fig. 4 Visualisation 2 clusters : windy (gauche), play (droite) En cliquant droit sur un point dans le graphe, on obtient des informations sur l instance et les valeurs de ses attributs. On peut ainsi retrouver quelles instances ont été mal placées. En cherchant, on peut trouver quels points auraient du se trouver dans un autre cluster mais hélas c est très fastidieux car il faut le faire manuellement. Un outil qui permet ce genre de traitement serait plus que bienvenu. Appliquez Cobweb sur le jeu de données iris raccourci (utilisez les valeurs Cutoff à 0.002 et Acuity à 3). Essayez de réduire la valeur du paramètre Acuity de manière à trouver le plus petit taux d erreur sur ce jeu de données. On est arrivé à n avoir que 3 instances mal classées (c est-à-dire 20%) en ayant donné la valeur 0.4 au paramètre Acuity. On obtient alors alors 5 clusters, dont 2 ne sont assignés à aucune valeur de la classe class. Les 3 clusters assignés à chacun des labels possibles de class ne contiennent aucune instance erronée. Utilisez l outil de visualisation pour analyser les clusters et les instances associées à ces clusters. La figure 5 représente les assignations des instances en fonction des différents attributs par rapport aux clusters. On remarque que pour chaque attribut, les points de mêmes couleurs sont généralement bien regroupés entre eux. Si on omet les 3 instances mal classées (en violent et en verts), on peut toujours bien faire la distinction entre les 3 clusters assignés à une valeur de class. Créez Iris-cobweb2.arff en utilisant Iris-cobweb1.arff, mais alternez les trois variétés d iris dans ce fichier. Appliquez Cobweb à Iris-cobweb2.arff et testez différentes valeurs pour la paramètre Acuity. Quelle valeur du paramètre Acuity fournit le plus petit taux d erreur? 6

Fig. 5 Visualisation CobWeb : Acuity = 0.4, cutoff = 0.002 On est arrivé à obtenir une erreur de seulement 2 instances mal classées (13, 3333%) avec le paramètre Acuity à 0.6. Dans ce cas on a 3 clusters assignés chacun à une des valeurs possibles de class. On a donc amélioré le clustering de 1 instance par rapport au fichier iris non mélangé. La visualisation permet les mêmes conclusions qu auparavant, si ce n est l absence des 2 instances des clusters sans valeur assignée, qui sont remplacées par 2 instances de Iris-versicolor mal classées, comme le montre la figure 6. Cette amélioration s explique par le fait que l algorithme CobWeb est sensible à l ordonnancement des données, car il construit son arbre en lisant les instances une à une dans l ordre du fichier. Dans le cas du premier fichier, les instances ne sont pas mélangées et les premières sont favorisées : les 5 premières instances concernent Iris-setosa et le cluster assigné à cette valeur ne contient aucune erreur, les 5 instances suivantes concernent Iris-versicolor et le cluster qui lui est assigné contient 1 erreur, et enfin les 5 dernières instances concernent Iris-virginica le cluster correspondant contient 2 erreurs. Dans le cas du deuxième fichier mélangé, les instances arrivent de façon plus hétérogène et il n y a pas de classe dévaforisée car placée en fin de fichier. 7

Fig. 6 Visualisation CobWeb : Acuity = 0.6, cutoff = 0.002 C est assez pénible qu il revient à l utilisateur de contrôler si le fichier qu il soumet est bien mélangé ou non, une fonction de contrôle et de mélange des données si besoin serait la bienvenue. 3.1 Conclusion L algorithme CobWeb est relativement simple à utiliser, il ne comporte que deux paramètres. Néanmoins, le paramètre Cutoff est très sensible, et la recherche de sa meilleure valeur est assez pénible et délicate. Ici aussi, on préfèrerait que WEKA fasse le travail lui même afin de trouver la valeur de Cutoff qui fournit le moins d erreur. Pour la visualisation des arbres, celle-ci est intéressante mais très passive. L idéal serait de pouvoir modifier les paramètres des arbres en cliquant dessus (par exemple le Cutoff et d observer les modifications et les nouveaux résultats. 4 Jeu de données de base pour comparer les algorithmes 4.1 Jeu de données ligne-carré En utilisant le jeu de données à 2 attributs x et y pour la représentation des clusters lignes carrés, testez l algorithme des K-moyennes et celui l Expectation-Maximization. Permettent-ils de retrouver les groupes identifiables graphiquement? Nous avons d abord testé les algorithmes sur le premier fichier lignec1 8

qui ne contient pas de colonne class. EM a été exécuté avec les paramètres par défaut et à donné 3 clusters. On a ensuité exécuté SimpleKMeans pour qu il forme lui aussi 3 clusters afin de pouvoir les comparer. La figure 7 montre les visualisations obtenues. Fig. 7 Fichier lignec1, EM (gauche), KM (droite) On remarque que la ligne à gauche est bien discernée par les deux algorithmes, même si SimpleKMeans lui associe aussi un point un peu à l écart (point vert). Par contre SimpleKMeans dessine un meilleur carré à droite que EM qui lui déborde un peu sur le carré central. Le second fichier lignec2 offre une troisième colonne class qui attribue un groupe à chaque point, selon qu il fait partie de la ligne ou du carré. On a exécuté de nouveau EM et SimpleKMeans afin de voir s ils attribuents les labels aux clusters comme on s y attend. Cela est illustré par la figure 8. Pour EM (à gauche), le cluster bleu est assigné au label ligne, ce qui est correct. Le cluster rouge à droite au label carré, le reste des points est considéré comme mal classé. Pour SimpleKMeans (à droite), le carré vert à droite est parfait, et le point de la ligne placé à l écart est considéré comme mal classé, on peut donc dire que SimpleKMeans a bien fait le travail et a été légèrement meilleur que EM. 4.2 Jeu de données par distribution sur chaque attribut En utilisant le jeu de données pour la distribution, testez l algorithme des K-moyennes et celui l Expectation-Maximization. Permettent-ils de retrouver les groupes identifiables graphique- 9

Fig. 8 Fichier lignec2, EM (gauche), KM (droite) ment? La figure 9 montre les répartitions des données pour le premier fichier em2. EM (à gauche) a mal placé 6 points alors que SimpleKMeans en a mal placé 7. La différence est légère mais bien là. Fig. 9 Fichier em2, EM (gauche), KM (droite) Pour le second fichier em3, il y a 3 clusters à identifier au lieu de 2. Cette fois-ci, EM a mal placé 6 instances alors que SimpleKMeans n en a mal placé que 5, il est donc très légèrement meilleur. Les clusters formés sont illustrés par le figure 10. Néanmoins, sur les deux fichiers, seule 1 instance différencie les algorithmes, on peut donc dire qu ils font le travail aussi bien l un que l autre, pour ce jeu de données. Fig. 10 Fichier em3, EM (gauche), KM (droite) 10

4.3 Jeu de données pour vote unanime Créez un jeu de données pour le vote unanime de 4 votants, testez l algorithme des K-moyennes et celui l Expectation-Maximization. Permettent-ils de retrouver les groupes identifiables graphiquement? Le jeu de données créé pour cet exemple est le suivant : @relation votes @attribute vote {N, M, O, P, Q, R, S} @data N N N N C est un vote unanime des 4 votants pour le candidat N. Sans surprise, EM et SimpleKMeans ont tous les 2 formé un seul cluster de 4 instances, sans erreur. 4.4 Données Titanic Filtrez les données titanic.arff pour enlever la prédiction (SURVIVED) des données d apprentissage. Les algorithmes de clustering des K-moyennes et l Expectation maximization permettentils de découper les données en un groupe de survivants et un groupe de non-survivants? Dans le fichier titanic, il y a 711 personnes qui ont survécus (attribut survived = yes ) et 1490 qui sont mortes (attribut survived = no ). En retirant l attribut survived, on espère que les algorithmes vont néanmoins pouvoir reformer les groupes de survivants et de non-survivants. Si on laisse l attribut survived, on peut obtenir un clustering en 2 groupes avec la population répartie en 60% et 40%, comme illustrée par la figure 11. La figure 12 montre les clusterings obtenus avec EM et SimpleKMeans sur le jeu de données duquel on a filtré l attribut survived. On est parvenu à retomber sur la même répartion (60-40) que précédemment après quelques essais. On peut donc dire que les algorithmes ont pu couper le jeu de données en un groupe de survivants et un groupe de non-survivants. 11

Fig. 11 Fichier titanic, clustering de référence Fig. 12 Fichier titanic, clustering sans survived, EM (gauche), KM (droite) 4.5 Données CPU Filtrez les données cpu.arff pour ne conserver que les attributs numériques, testez les algorithmes des K-moyennes et l Expectation maximization, en faisant varier les paramètres. Ignorez des attributs et tester l influence sur le résultat. Etant donné qu il n y a pas de classe nominative, le clustering doit se faire entièrement sur le Training Set. En procédant à tatons, on peut arriver à former environ 5 ou 6 clusters distincts. Si à première vue les clusters formés semblent très mélangés, en choisissant comme axe des ordonnées l attribut class, on peut en effet observer des instances groupées. Cela signifie qu on peut différencier les CPU selon leur classe, ce qui semble assez logique. Ces résultats ont été observés pour les 2 algorithmes. La figure 13 illustre les clusters formés pour les attributs MMIN et CACH, par rapport à l attribut class. Le même phénomène est visible aussi pour les autres attributs. Le fait d ignorer des attributs ne semble pas modifier grand chose. Ce qui apparait avec cet exercice est qu il est plus évident de créer des clusters avec des attributs nominaux que numériques. Une solution serait de transformer les attributs numériques en nominaux. Ici ça ne change pas beaucoup le résultat car l intérêt serait de transformer l attribut class et WEKA ne le permet pas. 12

Fig. 13 Fichier cpu, MMIN/class (gauche), CACH/class (droite) 4.6 Conclusion Soumis aux mêmes contraintes et aux mêmes jeux de données, on ne peut pas dire clairement lequel de EM ou de SimpleKMeans est le meilleur. Selon le contexte, l un offre une légère amélioration ou l autre. Un avantage pour EM est le fait qu il est possible de lui demander de trouver automatiquement le nombre de clusters idéal, ce que SimpleKMeans n offre pas. L idéal est sans doute de faire comme au TP et de tester les deux algorithmes en espérant qu ils fournissent les mêmes résultats. Si ce n est pas le cas, il faudrait recourir à d autres d algorithmes pour faire le bon choix. 5 Exercices supplémentaires Testez différents datasets (de préférence les plus grands i.d. soybean, labour, etc.) et analysez les différents clusters fournis avec SimpleKMeans, EM et Cobweb. Le premier fichier testé est soybean.arff, c est une étude sur des espèces des petits pois. Les attributs sont nombreux (36!) ainsi que les instances (683). On va essayer de créer des clusters en fonction de l attribut class. Ce dernier offre 19 valeurs mais les temps de calculs pour former 19 clusters deviennent très longs. Pour 10 clusters, SimpleKMeans a mis environ une douzaine de secondes, et a fourni un résultat avec un taux d erreur de 53.1479%. Le temps de calcul pour 15 et 19 clusters est très long (après plus de 15 minutes, toujours pas terminé). SimpleKMeans n est donc pas convaincant face à ce jeu de données. EM se débrouille beaucoup mieux et fournit des résultats en moins de 2 minutes, même si on lui demande de former jusqu à 19 ou 20 clusters. Pour 10 clusters, il offre d ailleurs une meilleur taux d erreur que SimpleK- Means avec 45.0952%. Pour 15 clusters l erreur descend à 43.0454% et pour 19 clusters à 33.2375%. On est même monté plus haut et on a vu que pour 13

25 clusters, l erreur descendait encore un peu à 32.7965%. L algorithme CobWeb met lui aussi plus de temps que EM pour fournir un résultat, même moins bon. Ainsi pour des valeurs d Acuity et de Cutoff à 1, le taux d erreur est de 86.53%. Si on descend Cutoff à 0.75, l erreur devient 51.2445%. Elle ne semble pas s améliorer si on baisse encore cette valeur. Le temps de calcul, lui, devient très long si on essaie des valeurs plus basses pour Cutoff. Pour le fichier soybean, c est donc EM qui surpasse SimpleKMeans et CobWeb, aussi bien en temps qu en nombre d instances mal classées. Une idée intéressante à ajouter à WEKA serait que le programme signale (visuellement ou auditivement) lorsqu un long traitement est terminé. Par exemple un clignotement dans la barre des programmes ou un pop-up. On s est ensuite intéressé au fichier labor.arff qui recense les conditions de travail de 57 personnes afin de juger si elles sont bonnes ou mauvaises en fonction de 17 critères. On peut essayer de créer 2 clusters sur la classe class, un qui reçoit la valeur yes et l autre no. On a fixé le seed à 10 et le nombre de clusters à 2 pour SimpleKMeans et EM. SimpleKMeans s en sort avec 22.807% d erreur mais EM fait mieux avec seulement 7.0175% d erreur! Pour CobWeb, on n est pas arrivé à descendre en dessous de 33.3333% d erreur avec Acuity à 1 et Cutoff à 0.5. On finit la comparaison sur le fichier segment-challenge qui comprend 1500 instances se partageant 20 attributs. Les erreur commises par les différents algorithmes sont : 33.4% pour SimpleKMeans (N 7 S 10), 39.5333% pour EM (N 7 S 10), 66.0667% pour CobWeb (A 1 C 0.085). Cette fois-ci c est donc SimpleKMeans qui bat de peu EM, pour des temps de calcul relativement semblables. Finalement, listez les principaux avantages et désavantages de ces algorithmes de clustering utilisés durant la séance. L algorithme SimpleKMeans est le plus simple à comprendre et à utiliser. Il est intuitif et on peut facilement adapter les paramètres pour arriver à ce que l on veut. Il est malheureusement vite mis en difficulté si le nombre d attributs et d instances du jeu de données augmentent. Il met alors un temps excessivement long pour se terminer. L algorithme EM est en général le plus performant. Il offre un bon compromis entre temps de calcul et qualité des résultats. Il est souvent le plus 14

rapide et le plus correct. De plus, EM peut rechercher le nombre optimal de clusters tout seul, mais cela peut dans ce cas prendre beaucoup de temps. Les autres paramètres de EM ne semblent pas très intuitifs et n ont pas été beaucoup utilisés. L algorithme CobWeb est intéressant car il offre un arbre qui permet un clustering hiérarchique. Néanmoins son utilisation à tatons est fastidieuse et requiert beaucoup d essais pour obtenir le résultat idéal. Et malgré tout, quand on voit les résultats précédemment cités, le résultat idéal était moins bon que celui des autres algorithmes. Evaluer la qualité d un clustering est toujours difficile lorsque l on compare différentes exécutions. D après ce que vous avez constaté durant cette séance, quels critères pourriez-vous employer pour la qualité des clusters. On peut retirer 3 critères pour juger de la qualité d un cluster : Instances mal classées : si un clustering place mal un trop gros nombre d instances, on peut douter de son efficacité. Un clustering idéal minimise le nombre d instances mal classées. Clusters évalués sur un attribut : idéalement on essaie d assigner à un clustering les valeurs d un attribut représentatif. Un clustering idéal comporte autant de clusters que de valeurs possibles offertes par l attribut, tout en minimisant le nombre d instances mal classées. Ecart-type des clusters : les algorithmes EM et K-means donnent l écart-type des instances au sein d un cluster, par rapport à la moyenne du cluster. Intuitivement, un bon cluster est un cluster compact et peu dispersé, c est-à-dire les instances qui en font partie sont fort proches l une de l autre. Si l écart-type d un cluster est trop grand, peut-être est-il judicieux de le scinder en deux clusters. En conclusion, un clustering optimal comprend peu d instances mal classées, des clusters compacts et si on évalue à partir d un attribut nominal, aucun cluster ne devrait rester sans valeur assignée. 15