TP Datamining (DM) IUT Génie Biologique : Filière BioInformatique 3ième année 2008-2009 Weka (Waikato Environment for Knowledge Analysis) est une application regroupant une collection d'algorithmes utilisés pour les problèmes de fouille de données ou DM. 1. Présentation générale – prise en main de l’environnement de DM WEKA est une application codée en JAVA. Elle fonctionne sur n'importe quelle plate-forme (Unix, Linux, Windows) et possède une interface graphique simplifiant son utilisation. Son code source est disponible gratuitement, et permet à n'importe quel utilisateur d'ajouter des fonctions. L’application est téléchargeable sur http://www.cs.waikato.ac.nz/~ml/weka/index.html. Son installation est simple et nécessite JRE. Les données sont soit stockées dans un ficher soit dans une base de données. Les fichiers doivent être convertis au format "ARFF". Il est possible de travailler avec deux fichiers. L'un contenant les instances du « training set » (jeu d’apprentissage), l'autre du « test set » (jeu de test). 1.1. Les algorithmes disponibles Les algorithmes de classification inclus sont : • decision tree inducers • rule learners • naive Bayes • decision tables • locally weighted regression • support vector machines • instance-based learners • logistic regression • voted perceptrons • multi-layer perceptron Les algorithmes pour la prédiction numérique : • linear regression • model tree generators • locally weighted regression • instance-based learners • decision tables • multi-layer perceptron Les métas schémas inclus sont : • bagging • stacking • boosting • regression via classification • classification via regression • cost sensitive classification Les méthodes de « clustering » : • • • Cobweb EM algorithme Kmeans naïf Les algorithmes de recherche de règles associatives : • A-priori. Toutes ces méthodes sont paramétrables par l’utilisateur. 1.2. Le format des fichiers d’entrée « .ARFF » Le format « ARFF » correspond à la description suivante : • en début de fichier, le nom de la relation précédée du mot "@relation" • puis la liste des attributs de la relation : @attribute <nom> <type> • pour les données, on affiche "@data" suivit de tous les enregistrements lignes par lignes. Les champs de ces enregistrements sont séparés par une virgule. Pour convertir au format ARFF, il faut exporter dans un fichier texte les données d’une base existante en les séparant par une virgule. On complète ensuite l'entête du fichier de la manière suivante : Exemple du fichier IRIS : @RELATION iris @ATTRIBUTE sepallength REAL @ATTRIBUTE sepalwidth REAL @ATTRIBUTE petallength REAL @ATTRIBUTE petalwidth REAL @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 TP partie 1 : prise en main À faire : ouvrir le fichier IRIS.arff en double cliquant directement dessus. Observer la page de preprocess de WEKA. Préciser le nombre d’instances, d’attributs, et les informations statistiques sur chaque attribut. En déduire à quoi sert cette base de données. Observer le comportement de la fenêtre log. Qu’indique-t-elle ? 1.3. Utilisation simplifiée Il n’y a pas d’aide apparente même si de temps en temps des bulles d’aides se déclenchent lorsque la souris passe sur les boutons et autres objets composant la fenêtre. Quelques conseils sont donnés dans http://www.cs.waikato.ac.nz/~ml/weka/tips_and_tricks.html De nombreuses fonctionnalités sont accessibles par clic droit sur les panels !!! (Sauvegarde des résultats dans un fichier, visualisation graphique …) 2. Les méthodes de DataMining sous Weka 3 2.1. Méthodes de clustering Il existe plusieurs algorithmes de clustering disponible sous Weka 3, l’interface graphique permet d’un clic sur la fenêtre « visualize » d’afficher graphiquement les résultats (en 2D). 2.1.1. EM : Expectation Maximization (non abordé en cours) Nom du module : weka.clusterers.EM Objectif : Clustering en utilisant la maximisation de l’espérance Options : Seed : graine de nombre aléatoire MinStdDev : écart type permis minimum maxIterations : nombre maximum d’itérations numClusters : nombre donné de clusters. -1 pour laisser l’algorithme choisir le nombre de clusters automatiquement (par validation croisée (cross validation)). 2.1.2. Kmeans (vu en cours) Nom du module : weka.clusterers.SimpleKMeans Objectif : utilisation de l’algorithme kmeans simple Options Seed : graine de nombre aléatoire numClusters : nombre donné de clusters 2.1.3. Cobweb (non abordé en cours) Non abordé dans le cadre de ce TP. TP partie 2 : première analyse À faire : toujours sur la base IRIS. Nous allons évaluer le résultat d’une méthode de clustering en utilisant le pourcentage de mal classé. Utiliser l’algorithme weka.clusterers.SimpleKMeans et se placer sur le mode « classes to cluster evaluation ». Choisir une première valeur de k (numclusters) et observer le résultat obtenu. Recommencer avec une autre valeur de k, et tenter ainsi par itérations successives de trouver le meilleur moyen de « clusteriser » les données de la base IRIS. Le nombre d’itérations est libre. A vous de juger si le résultat vous semble correct. Apporter une conclusion sur les clusters obtenus. Discuter par exemple sur le nombre d’itérations et le pourcentage d’instances mal classées (Les illustrations sont très utiles). Essayez de repérer pour les instances mal classées quels sont les attributs responsables de ce mauvais résultat. Décrire en détail la méthode utilisée. Utiliser l’algorithme EM sur le même jeu de données et commenter le résultat obtenu. Apporter une conclusion sur la méthodologie que vous utiliseriez (en comparant les deux algorithmes) pour « clusteriser » les données de la base IRIS. 2.2. Règles d’association : Apriori Nom du module : weka.associations.Apriori Objectif : trouve des règles d'association. Options metricType : Le type de métrique pour ranger des règles : - La confiance est la proportion des exemples couverts par les antécédents qui sont également couverts par les conséquents. - Lift représente la confiance divisée par la proportion de tous les exemples qui sont couverts par les conséquents. C'est une mesure d'importance de l'association qui est indépendante du support. - La puissance (Leverage) est la proportion d'exemples supplémentaires à couvrir par les antécédents et les conséquents au-dessus de ceux escomptés si les antécédents et les conséquents étaient indépendants de l'un de l'autre. Le nombre d'exemples que cela représente est placé entre parenthèses après la puissance. - La conviction est une autre mesure du départ de l'indépendance lowerBoundMinSupport : limite inférieure pour le support minimum. minMetric : points métriques minimum, considère seulement les règles avec des scores plus hauts que cette valeur. UpperBoundMinSupport : limite supérieure pour le support minimum. Commence à diminuer itérativement le support minimum à partir de cette valeur. RemoveAllMissingCols : retire les colonnes où toutes les valeurs sont manquantes. significanceLevel : niveau de signification. Test de signification (métrique sur la confiance seulement). Delta : diminue itérativement le support par ce facteur : réduit le support jusqu'à ce que le support minimum soit atteint ou que le nombre exigé de règles soit produit. NumRules : nombre de règles à trouver. 2.3. Méthodes de classification Il existe de nombreuses méthodes, nous ne verrons que celles que nous allons utiliser. 2.3.1. ID3 ID3 n’accepte pas les valeurs manquantes. Nom du module : weka.classifiers.id3 Objectif : classifier par arbre de décision Il n’a pas de paramètres. 2.3.2. ZeroR et OneR Ces deux algorithmes sont utilisés pour classifier des données. Nous ne rentrerons pas dans le détail du fonctionnement mais il sera intéressant de les utiliser dans ce qui suit à titre de comparaison avec ID3. TP partie 3 : analyse complète autonome À faire : nous allons travailler sur une nouvelle base de données : BREAST-CANCER.ARFF. Pour cette dernière partie de TP vous allez répondre à la question suivante : quels sont les facteurs qui pourraient être mis en cause dans un processus de rechute ou de non rechute de cancer du sein. Décrire la base de donnée de façon quantitative puis qualitative (d’abord chaque attribut, puis en déduire de quelle manière peut être exploitée la base). Y a-t-il un problème dans cette base de donnée ? Si oui, comment le résoudre (proposer votre solution) ? Utiliser les méthodes de clustering pour obtenir une description de la distribution de ces données. Décrire le choix des méthodes et leur implémentation (essayer de faire varier le paramètre d’évaluation de la qualité du clustering pour EM par exemple. Puis essayer d’affiner le résultat avec k means.). Quel paramètre semble présenter de l’importance? En utilisant les algorithmes de classification (oneR, ZeroR, et ID3) et de règles d’association (Apriori), tenter de trouver un lien entre les différents attributs et le fait de risquer de faire une rechute où de ne pas faire de rechute. Pour les algorithmes oneR, ZeroR et ID3, il faut utiliser les paramètres par défaut et faire varier la nature des attributs de classification. Pour l’algorithme Apriori, tenter de faire varier la confiance (confidence) ainsi que le nombre de règles obtenues. Apporter une conclusion générale sur les facteurs suspectés de provoquer un risque ou pas de risque de rechute de cancer du sein ainsi que sur les méthodes utilisées (complémentarité, risques de mauvaises réponses, intérêts, ordre préférentiel d’utilisation dans le processus de découverte d’information). Conseils de rédaction : Ce TP sera noté sur deux principaux critères. La façon dont vous présenterez vos résultats (clarté, etc.) et la façon dont vous expliquerez vos raisonnements et conclusions. Ne pas hésiter à utiliser les représentations graphiques pour vos explications en « collant les imprime_écran » issus de WEKA. Notez bien que vous êtes tous censés savoir cliquer sur les boutons et obtenir les résultats bruts. La différence de notation s’effectuera donc sur la pertinence de votre analyse personnelle.
© Copyright 2025 ExpyDoc