Clustering et règles d`association

publicité
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.
Téléchargement