Master Maths Finances 2013/2014 Data Mining février 2014 Clustering et règles d'association Ce tp se propose d'illustrer le fonctionnement des algorithmes de clustering vus en cours, et de voir fonctionner d'autres algorithmes. Vous me remettrez vos réponses, sous forme papier ou en pdf pour lundi prochain 10h30 1 Les iris 1.1 Analyse sommaire des données Etudions les algorithmes de clustering sur le chier iris.arff, disponible sur le portail. Visualisez le chier Iris.ar, principalement les commentaires du début, qui décrivent d'abord l'origine du chier, liste les études qui ont été faites à son sujet. Ensuite, on décrit les attributs et leur distribution. On peut se faire une idée plus précise des liens entre les attributs en utilisant l'outil Correlation Matrix (lire l'aide associée). Question 1.1 : Quelles conclusions en tirez-vous ? Y a-t-il un lien entre ce que vous apprenez par cet outil et ce que vous pouvez voir en utilisant les outils de visualisation (Plot View) ? 1.2 L'algorithme des K-moyennes RapidMiner en propose plusieurs versions, prenez le premier dans la liste (Modeling-> Clustering and Segmentation->K-Means). L'algorithme ne fonctionnant qu'avec des attributs numériques, il faut retirer la classe des exemples de l'ensemble des attributs : cela se fait à l'aide de l'outil Select Attributes (Attribute Set Reduction and Transformation->Selection->Select Attributes). On peut aussi utiliser l'outil Set Role, en indiquant que class est un label : l'attribut sera toujours présent dans les exemples, mais ne sera pas utilisé pour calculer les clusters. Question 1.2 : Observez et manipulez les paramètres de l'algorithme de K-Means. Utilisez les diérents modes de visualisation pour analyser les résultats. Les clusters correspondent-ils aux classes ? Toujours ? Parfois ? A quelles conditions ? Si on veut pouvoir garder l'information des classes, et qu'on a utilisé Select Attributes, on peut opérer de la façon suivante : 2 Master Maths Finances 2013/2014 : Data Mining Ajouter un identicateur (un numéro) à chaque exemple : cela se fait en insérant un outil Generate ID à la sortie de l'outil Read.( Servez-vous de la fenêtre de recherche de RapidMiner, située en haut de la fenêtre de gauche pour retrouver cet outil). A la sortie de cette boîte, dupliquez les exemples (outil Materialize Data ou bien Multiply). Sur un des deux chemins, insérez la sélection d'attributs et K-Means. Sur l'autre chemin, on garde l'ensemble d'exemples initial. Regroupez la sortie de K-Means (cosse du bas) qui représente les exemples augmentés d'un attribut cluster, et l'ensemble initial avec l'outil Join. Plus simplement, il n'y a rien à faire lorsqu'on a utilisé l'outil Set Role (mais la technique du Join est bonne à connaître pour l'utiliser dans d'autres circonstances). Vous pouvez alors graphiquement contrôler l'adéquation entre les clusters et les classes. . . Question 1.3 : Le menu Evaluation->Clustering contient des outils permettant de mesurer les performances d'un clustering. Testez-les. Etudiez en particulier Map Clustering on Labels, qui permet de comparer le résultat du clustering à la classe. 1.3 K-Medoids Reprenez les manipulations avec l'algorithme des K-Medoids. Cet algorithme n'impose pas que les attributs soient numériques. Y a-t-il des changements dans l'aectation des clusters selon que l'on considère la classe ou pas ? 1.4 DBSCAN Reprenez l'étude avec DBSCAN. Question 1.4 : Quel algorithme vous semble le plus ecace sur cet ensemble de données ? 1.5 Autres algorithmes Esssayez Agglomerative Clustering et Expectation Maximization Clustering. 2 Le chier vote Dans cet exercice, on vous laisse étudier un autre chier de données célèbre : les votes du congrès américain. Le chier en version arff est disponible sur le portail. 2.1 Analyse préliminaire des données Question 2.1 : Que contient ce chier ? Combien y a-t-il d'exemples, d'attributs ? A-t-on dénit une classe ? Quelles autres informations peut-on trouver dans le préambule du chier ? Clustering et règles d'association 3 Question 2.2 : En utilisant les outils de visualisation ou les matrices de corrélation (ou d'autres outils de Rapidminer ?), quelles conclusions pouvez-vous tirer de ce chier avant d'utiliser un algorithme de fouille de données ? Etudiez l'application des algorithmes de clustering vus en cours sur ces données, en essayant de construire des clusters correspondants aux classes. Si ce n'est pas possible, discutez le résultat de l'application de ces algorithmes. Question 2.3 : En quoi, à votre avis, cet ensemble de données est-il diérent de l'exemple des iris ? En quoi cela change-t-il pour vous la démarche de fouille ? Question 2.4 : 2.2 Règles d'association On peut experimenter les règles d'associations sur le chier vote : idéalement, on aimerait avoir des règles du genre "SI on a voté oui sur ce projet, et non sur ce deuxième projet, alors on est démocrate". Dans Rapidminer, la création des règles d'association est divisée en deux étapes : Rechercher les itemsets fréquents : utiliser par exemple l'outil FPGrowth. La génération des règles à partir de ces itemsets, en xant un support, et une mesure permettant de classer les règles. Plusieurs problèmes vont se poser lorsque vous aller implémenter le processus. Proposez votre solution, sous forme de modication ou d'enrichissement des données : Les données sont nominales, alors qu'on veut des données binominales (booléennes). Que se passe-t-il pour les valeurs manquantes ? Comme pour les tickets de caisse, on ne considère que les articles présents dans un exemple, or voter 'non' est considéré comme une absence de donnée (c'est pareil pour une des deux classes). ... Question 2.5 : Proposez une transformation des données qui laissera apparaître les deux partis politiques en sortie. (dans les outils de génération d'attributs, il y a des fonctions agissant sur des textes, qui permettent de savoir si une chaîne de caractère (la valeur d'un attribut) contient une chaîne de caractères donnée) Après avoir testé diérents conditions initiales (valeurs des paramètres, mesure utilisée . . .), donnez vos conclusions sur ce que vous a appris l'application de cet algorithme sur ces données. On essaiera, dans la mesure du possible, de ne s'intéresser qu'aux règles dont la conclusion est une classe. L'outil Apply Association rules et un peu de post processing pourrait vous aider à y voir plus clair . . . Question 2.6 : 4 Master Maths Finances 2013/2014 : Data Mining 3 Règles d'association : quelques mesures utilisées dans RapidMiner Pouvoir mesurer l'importance d'une règle d'association permet de classer les règles, et d'isoler les plus intéressantes (parmi des centaines, voir des milliers). Plusieurs mesure ont été dénies, chacune ayant ses avantages et ses inconvénients. RapidMiner en calcule sept : Support La proportion d'exemples qui vérient la règle. Conance (Condence) Le rapport entre les exemples qui vérient la règle, divisé par le nombre d'exemples qui en contiennent les prémisses (i.e. qui devraient la vérier). Amélioration (Lift) La conance divisée par la proportion d'exemples qui en contiennent les conclusions. Une amélioration 'utile' est supérieure à 1. Une amélioration inférieure à 1 indique une corrélation négative (voir exemple dans le cours). Laplace Le nombre d'exemples vériant la règle (plus 1), divisé par le nombre d'exemples contenant les prémisses (+2). Très proche de la conance, valeur minimale 1/2. Gain . . . Mesure de Piateski-Shapiro (p-s) . . . Conviction Le nombre d'exemples vériant les prémisses, multiplié par le nombre d'exemples ne contenant pas les conclusions, le tout divisé par le nombre d'exemples qui à la fois contiennent les prémisses, et ne contiennent pas les conclusions. Une conviction de 1 traduit l'indépendance des conditions, une valeur plus grande que 1 une corrélation positive, et une conviction entre 0 et 1 une corrélation négative. La conviction peut être innie. 4 Matrice de corrélation Les coecients de la matrice de corrélation sont calculés comme suit : Soit deux attributs continus X et Y , de moyenne X 0 et Y 0 , d'écart-type S(X) et S(y). Pn (Xi − X 0 )(Yi − Y 0 ) Cor(X, y) = 1 (n − 1)S(X)S(Y ) Une corrélation est comprise entre -1 et 1. Les corrélations fortes sont proches de 1 en valeur absolue. Une corrélation positive indique que les grandes valeurs de X correspondent aux grandes valeurs de Y , une corrélation négative indique que les grandes valeurs de X sont associées aux petites valeurs de Y et réciproquement.