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.