Prise en main de RapidMiner Deuxième partie
Transcription
Prise en main de RapidMiner Deuxième partie
Master Maths Finances 2010/2011 Data Mining février 2011 Prise en main de RapidMiner Deuxième partie Dans ce TP, on étudiera les méthodes de préparation des données, et comment on peut les utiliser dans RapidMiner 1 Préparation des données Les données utilisées dans les algorithmes de data mining sont de provenances diverses et se présentent sous des formes diérentes. Le plus souvent, les ensembles d'exemples sont sous la forme de chiers issus de tableurs, ou au format CSV (comma separated values : liste de valeurs séparées par des virgules). Certaines données ont parfois été préformatées pour des algorithmes de data mining : format ARFF pour les algorithmes de Weka, ou format C4.5 pour l'algorithme de construction d'arbres de décision du même nom. Dans ces deux derniers cas, les chiers incluent des renseignements supplémentaires sur les noms des attributs, leur type et éventuellement leur rôle (on parle de meta-données). RapidMiner est capable de lire ces chiers, nous l'illustrerons dans le cours de ce tp. Les données ne sont pas toujours propres : Certains exemples sont présents plusieurs fois, ce qui peut poser des problèmes ou non : nécessité de repérer et traiter les doublons. Certains exemples ont des valeurs manquantes. Traitement des valeurs manquantes. Certaines valeurs d'attributs sont incohérentes, soit par rapport aux valeurs possibles de l'attribut (une taille de 8 mètres pour la description d'une personne), soit en considérant plusieurs attributs (une personne de 2 mètres pesant 8 kg. . .). Detection des intrus (outliers). Les données ne sont pas toujours au bon format pour le traitement qu'on veut leur appliquer : Les données sont numériques alors que l'algorithme demande des données catégorielles (aussi appelées polynominales). Discrétisation. Au contraire, on peut avoir des données catégorielles, pour un algorithme qui ne fonctionne qu'avec des données numériques. Passage du discret au numérique. Les diérents attributs numériques sont dénis à des échelles diérentes. Normalisation. On reprend dans l'ordre les diérents points abordés, pour montrer comment on peut en tenir compte dans RapidMiner. Certains traitements seront abordés de façon succinte, d'autre donneront lieu à des expérimentations plus poussées. 2 Master Maths Finances 2010/2011 : Data Mining 2 Lecture de diérents formats de chiers Nous avons déjà vu comment lire des chiers excell lors du tp précédent. 2.1 Format CSV RapidMiner propose un outil de lecture des chiers au format CSV :Import>ReadCSV. Comme pour l'outil Read Excell, un sorcier (wizard) peut vous aider, en dénissant le caractère qui sépare les valeurs des attributs, et pour la dénition des types et des rôles des attributs. Par défaut, la première ligne donne le nom des attributs. Vous pouvez vous exercer en ouvrant iris.xls dans openOce, en le sauvegardant au format CSV, puis en l'ouvrant dans RapidMiner. Pas de dicultés à priori pour cet outil. 2.2 Format ARFF Weka 1 est une plateforme de datamining open source écrite en Java. On peut l'utiliser à plusieurs niveau (ligne de commande, interface graphique, intégration dans ses propres programmes Java). RapidMiner intègre une bonne partie de Weka, et il est possible de charger une extension qui complète cette intégration. Les chiers au format ARFF comportent trois parties : Le nom des données : @RELATION nom La liste des attributs, comprenant leur nom et leur type : @ATTRIBUTE sepallength REAL La liste des valeurs des exemples : @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 4.6,3.1,1.5,0.2,Iris-setosa Le site ociel de Weka fournit des informations plus détaillées sur ce format 2 . Pour voir un exemple complet, le chier iris.arff est à votre disposition sur le portail. 2.3 Format C4.5 C4.5 est le nom du plus célèbre (tout est relatif. . .) algorithme de construction d'arbres de décision, développé par Ross Quinlan. Les chiers de données standards ont été adaptés à ce programme. Un ensemble d'exmples au format c4.5 est fourni sous la forme de deux chiers : fichier.names qui contient les dénitions des attributs, ainsi que la classe. Ce sont les métadonnées. fichier.data qui contient la liste des exemples, chaque exemple, sur une ligne, donnant la suite des valeurs des attributs, terminée par la valeur de la classe. Contrairement aux formats précédents, la classe à deviner est notée avec les exemples. Un exemple de données à ce format est disponible sur le portail. Une façon simple de transformer un chier pour passer d'un format à un autre peut se faire en utilisant un outil d'écriture (Export>Data), comme sur le schéma de la gure 1. 1. 2. http://www.cs.waikato.ac.nz/~ml/weka/ http://www.cs.waikato.ac.nz/~ml/weka/arff.html Prise en main de RapidMinerDeuxième partie 3 Figure 1 Passer du format ARFF au format CSV 3 Nettoyage des données 3.1 Supprimer les doublons L'outil Data Transformation>Filtering>Remove Duplicate peut eectuer ce travail. 3.2 Traitement des valeurs manquantes Le problème des valeurs manquantes a été vu en cours. En résumé, on a plusieurs stratégies possibles pour traiter des ensembles d'exemples contenant des valeurs manquantes : Ignorer les exemples pour lesquels certaines valeurs d'attributs sont manquantes : on risque de devoir écarter un grand nombre d'exemples, ce qui est problématique si les exemples sont déjà peu nombreux au départ. D'autre part, s'il existe une raison 'objective' pour qu'une valeur soit manquante, on modie la représentativité de l'échantillon. Dénir une nouvelle valeur possible de l'attribut "Valeur Manquante" : pas de problème pour des valeurs polynominales, mais pour les valeurs numériques ? De plus, l'algorithme de data mining considérera cette nouvelle valeur de l'attribut comme une valeur sur laquelle il peut appuyer ses conclusions. Remplacer par une valeur possible de l'attribut. Plusieurs possibilités : Une valeur au hasard. La valeur la plus courante dans l'ensemble d'exemples. Dans le cas d'exemples labellés (ceux pour lesquels on a déni un attribut particulier, la classe), la valeur la plus courante pour les exemples de même classe. Dans le cas où on ne connaît pas la classe des exemples, la valeur la plus courante parmi les exemples similaires. Les chiers irisMissing contiennent les données iris dans lesquelles on a introduit des valeurs manquantes.Le pourcentage de valeurs manquantes selon les atrributs peuvent se voir sur les statistiques basiques fournies par RapidMiner. L'outil Data Trnasformation>Data Cleansing>Replace Missing Values permet de traiter les valeurs manquantes, en disant à RapidMiner ce qu'il doit en faire : Quels sont les attributs à traiter. Quel traitement appliquer (ignorer, remplacer, et par quoi ? Le schéma de la gure 2 illustre une façon de voir le résultat de ce traitement : On lit un chier C4.5. On s'occupe des valeurs manquantes. On applique un algorithme de classication. On utilise le modèle créé pour classier des exemples (ici, on a pris les mêmes que ceux qui ont servi à construire l'arbre, mais ce n'est pas obligatoire). 4 Master Maths Finances 2010/2011 : Data Mining Figure 2 Traitement des valeurs manquantes On récupère ses performances, qu'on ache. Cochez la case 'Classication error' Comparez les performances du classieur selon la stratégie utilisée pour le traitement des valeurs manquantes. Le classieur utilisé ici, l'arbre de décision, peut se débrouiller sans traitement particulier des valeurs manquantes. 3.3 Détection des intrus Nous reparlerons de ce problème et des moyens mis à notre disposition pour les résoudre un peu plus tard dans le courant du semestre. 3.4 Discrétisation Les diérentes méthodes de discrétisation sont disponibles en suivant le chemin Data Transformation>Type Conversion>Discretization. Consultez la documentation de Frequency, Binning et Size, appliquezles sur les données Iris. 3.5 Normalisation Quand un attribut peut prendre de grandes valeurs, et qu'un autre a des valeurs plus petites, le premier devient prédominant dès qu'il s'agit de mesurer des distances, par exemple. Pour remédier à ce problème, on peut ramener tous les attributs dsans un même intervalle : c'est la normalisation. L'outil de normalisation se trouve en Data Transformation>Value Modification>Numerical Value Modification. Plusieurs techniques vous sont proposées : étudiez-les sur les Iris, et regardez l'inuence éventuelle de cette normalisation sur les résultats de la classication ou d'un clustering.