Expériences sur les données du répertoire de données de UCI avec
une boîte à outils
Bouchekif Abdesselam
11 mars 2012
Résumé
Les dix dernières années ont été témoin de grands progrès réalisés dans le domaine
de l’apprentissage automatique et de la fouille de données. Des dizaines de méthodes
et d’outils d’apprentissage sont disponibles, ce qui rend leur choix très difficile.
Le but de ce rapport est de comparer les différentes méthodes d’apprentissage sur un
même ensemble test, et étudier les différences entre les logiciels de data mining.
1 Introduction
Une multitude de logiciels gratuits de Data Mining est disponible sur le web. On distingue
deux catégories d’outils :
Les outils généralistes offrant une panoplie d’algorithmes d’apprentissage et de classi-
fication, par exemple WEKA, ORANGE, TANAGRA, etc.
Les outils spécialistes comme MultiBoost 1(pour le boosting), SV Mmulticlass 2(pour le
SVM).
En parallèle, nous avons assisté à un développement croissant de techniques d’apprentis-
sage. Si une telle abondance a permis des avancées considérables dans des domaines d’ap-
plication des plus variés, elle a aussi donné naissance à un contexte dans lequel certaines
questions se posent avec plus d’acuité. Comment choisir les algorithmes les plus adaptés
pour un type de problème particulier ? quel est le meilleur algorithme ?
Ce manuscrit est composé de deux parties :
Dans la première partie, nous nous intéressons aux performances des outils généralistes et
spécialistes, pour cela on considère weka et MultiBoost comme des représentants des outils
généralistes et spécialistes respectivement.
La deuxième partie est consacrée à l’étude comparative entre les algorithmes de classifica-
tion, nous nous pencherons plus particulièrement sur SVM et réseaux de neurones. Pour
1. http://www.multiboost.org/
2. http://svmlight.joachims.org/svm_multiclass.html
1
évaluer les performances de ces algorithmes, nous utilisons les outils Weka et Tanagra avec
les mêmes données d’apprentissage et de test.
Ce comparatif est intéressant à plus d’un titre. Nous aurons la possibilité d’évaluer les
différentes implémentations en se basant sur certains critères comme la qualité de prédiction,
l’occupation de mémoire et la portabilité de ces outils.
2 Les outils et les données
2.1 Les outils
Les logiciels que nous avons mis en compétition sont les suivants :
L’outil Le lien de téléchargement Portabilité
Weka 3.6.5 http://weka.fr.malavida.com/ Oui
TANAGRA 1.4.27 http://eric.univ-lyon2.fr/~ricco/tanagra/fr/tanagra.html Non
MultiBoost 1.1.02 http://www.multiboost.org/home/download Oui
Table 1 – Liste des logiciels utilisés dans les comparaisons
Weka et MultiBoost (et d’autres comme Orange) sont directement opérationnels quel que
soit le système d’exploitation. Pour Weka c’est grâce à la machine virtuelle Java. En revanche,
Multiboost tourne en C++ natif, il est compilé séparément pour chaque plateforme. Cette
portabilité d’outils est indéniablement un atout.
2.2 Les données
Nous traitons en particulier le format ARFF. La grande majorité des logiciels de data
mining sait manipuler cette format y compris les outils sélectionnés. Pour voir le compor-
tement des algorithmes et des outils, on a sélectionné les petites et les grandes bases. Le
panel de jeux de données a été sélectionné à partir du dépôt de l’UCI 3à savoir « Zoo 4»,
« wine 5», « Pendigits 6» et « Nominal 7»). Ces jeux de données incluent des informations
sur les classes recherchées (étiquettes).
2.2.1 La base d’animaux Zoo
Il s’agit d’un jeu de 100 instances d’animaux caractérisées par 17 variables hétérogènes
et pré-classés en 7familles. Le nom d’animal constitue la première variable. Les 15 variables
suivantes sont booléennes, elles sont liées :
3. http://archive.ics.uci.edu/ml/
4. http://www.hakank.org/weka/zoo.arff
5. http://www.hakank.org/weka/wine.arff
6. http://mlearn.ics.uci.edu/databases/pendigits/
7. http://www.multiboost.org/examplel
2
soit à la présence de poils, de plumes, d’œufs, de lait, d’épine dorsale, d’ailerons et de
queue de l’animal,
soit à son caractère : s’il est aérien, aquatique, prédateur, denté, respire, venimeux,
domestique.
La dernière variable descriptive est de type quantitative numérique. Elle précise le nombre
de pattes et prend ses valeurs dans l’ensemble {0,2,4,5,6,8}.
2.2.2 La base Wine
La base de données « Wine » contient les résultats d’une analyse chimique des vins
produits dans la même région en Italie, mais provenant de trois cultivateurs différents. Elle
est constituée de 178 données caractérisées par 13 attributs.
2.2.3 La base Nominal
Il s’agit d’un jeu de 8145 données caractérisées par 193 attributs. Elle contient 5 classes.
La base Nominal a été utilisée pour savoir comment se comportent les logiciels pour les
grandes bases.
2.2.4 La base Pendigits
La base « Pen-Based Recognition of Handwritten Digits » contient 7494 exemples d’ap-
prentissage et 3498 exemples test. Chaque exemple est représenté par 16 caractéristiques.
Elle contient 10 classes pour les 10 chiffres (de 0à9).
Quel que soit le logiciel utilisé, on doit impérativement passer par les étapes suivantes :
Importer les données dans le logiciel,
Subdiviser les données en ensemble d’apprentissage et de test,
Sélectionner la méthode et éventuellement la paramétrer,
Lancer l’induction de l’apprentissage,
Evaluer le système sur l’ensemble test.
3 Comparaison entre les outils généralistes et spécia-
listes
Il s’agit dans cette partie de répondre au mieux à la question : est ce que l’outil spécialisé
donne un gain (en terme de performance de l’occupation en mémoire) par rapport à son
homologue généraliste ?
Le tableau ci-dessous représente les résultats de comparaison entre « weka » et « Multi-
boost » en utilisant deux apprenants faibles stump et les arbres de décision.
Comme indiqué dans la figure 2a ci-dessous, le Multiboost donne une interprétation des ré-
sultats obtenus (itération par itération). Par contre, Weka nous offre uniquement les résultats
3
Figure 1 – Tableau comparatif entre Weka et Multiboost
et la matrice de confusion. Par conséquent, on peut suivre le phénomène de sur-apprentissage
avec Multiboost. En effet, si l’erreur sur l’ensemble d’apprentissage diminue alors l’erreur sur
la validation augmente, cela signifie que notre algorithme a amélioré ses performances sur
les échantillons d’apprentissage mais perd son pouvoir de prédiction sur ceux provenant de
la validation (à ce moment on arrête l’apprentissage).
Dans ces expériences, les ensembles test et apprenants fiables sur lesquels les deux outils ont
été évalués, sont les mêmes. En principe les intervalles de confiance seront beaucoup plus
serrés. Mais ce qu’on a obtenu est carrément le contraire. Ces résultats illustrent bien la dif-
férence entre les outils généralistes et spécialistes au terme de qualité de prédiction surtout
avec les grandes bases.
Problème y a t-il une grande différence entre l’erreur de multiboost et celle de weka. Comme
au début, on a pensé au phénomène de sur-apprentissage, même si ce problème est imprévi-
sible au vu des caractéristiques de nos données (beaucoup d’instances dans les fichiers test
et apprentissage). La figure 2b, nous confirme qu’il n’y a pas d’apprentissage par cœur. La
seule explication qui nous reste est que l’outil Multiboost permet contrairement au weka,
d’accélérer l’apprentissage 8(convergence rapide vers un minimum global).
A noter qu’après plusieurs essais ( la figure 4), on a trouvé une base de données (« Poker
Hand » 9où weka donne des meilleurs résultats par rapport à Multiboost. Mais si on voit la
matrice de confusion, le système affecte toutes les instances à la classe a.
Autre point important est l’occupation en mémoire, on était confronté à un dépassement
de la mémoire avec Weka. Cela revient au grand nombre de résultats intermédiaires conservés,
gonflant inutilement la mémoire utilisée. Une autre hypothèse qui peut être valide est que les
outils utilisant la machine virtuelle (comme Weka) nécessitent plus de place en mémoire par
8. publication des auteurs de l’outil : http://www.clopinet.com/isabelle/Projects/KDDcup09/
Papers/UniParisSud-paper4.pdf
9. http://archive.ics.uci.edu/ml/datasets/Poker+Hand, il s’agit d’un jeu de 1025010 instances, ca-
ractérisées de 11 attributs
4
rapport aux outils compilés (comme Multiclass). Professeur Ricco Rakotomalala 10 a bien
confirmé cette hypothèse dans ces études 11 portant sur la performance des logiciels libres
avec des fichiers volumineux.
Remarque : Les expériences ont été effectuées sur une machine intel (R) core (TM) i3à
2.40 GHZ avec 4 GB de mémoire vive.
Les résultats sont nettement meilleures avec les classifieurs faibles de type arbres de
décision par rapport au stump. Cela revient essentiellement à sa nature : arbre de décision à
un seul niveau de profondeur. Il empêche de trouver une hypothèse adaptée pour modéliser
le problème. Ainsi, le stump ne permet pas de capturer les corrélations entre les attributs.
Donc la performance de Boosting dépend en grande partie du classifieur faible utilisé pour
apprendre les différentes hypothèses ou conditions de base. L’influence des paramètres sera
clarifiée dans la prochaine section.
4 La comparaison des méthodes d’apprentissage
Dans cette section, nous analysons une situation que l’on rencontre souvent dans la pra-
tique : on dispose de données d’apprentissage et on cherche quel est l’algorithme à appliquer
parmi la panoplie disponible. Les questions qu’on peut se poser : comment interpréter la
différence de performance mesurée empiriquement entre deux algorithmes ? Autrement dit,
est ce qu’un algorithme dont la performance en taux d’erreur de classification vaut e1est
meilleur qu’un autre dont la performance mesurée est e2? Afin d’éliminer la variance due à
la différence entre les échantillons, on utilisera un même corpus.
On peut faire un simple filtrage : Si on dispose des données et des étiquettes que l’on désire
à ce moment là, on choisit l’une des méthodes supervisées (arbres de décision, réseau de
neurones, SVM, Boosting,...). Sinon (les étiquettes ne sont pas fournies) on applique l’un des
algorithmes non supervisés (algorithme k-moyennes, méthodes hiérarchiques, etc). Dans le
cas non supervisé, on présente seulement les données à notre modèle et on le laisse évaluer
jusqu’à ce qu’il se stabilise.
Puisqu’on connait les classes de nos données (voir section 2.2), on va appliquer les méthodes
d’apprentissage supervisées.
Le tableau récapitulatif (représenté dans la figure 5) est le fruit d’une série d’expériences.
La conclusion que j’ ai déduite : il n’est pas évident de comparer deux algorithmes. En effet,
la performance mesurée dépend de plusieurs paramètres, par exemple
le boosting dépend de la technique utilisée pour effectuer les combinaisons ainsi que
du classifieur faible mis en œuvre.
les SVMs dépendent des fonctions de noyau.
les réseaux de neurones dépendent de l’architecture (i.e nombre de couches cachées, le
nombre de neurones dans une couche et leur interconnexion) utilisée.
Cela est bien confirmée dans le tableau (représenté dans la figure 5), il suffit de procéder
au changement de la fonction noyau, dans le cas SVM, d’ailleurs le taux d’erreur est passé
10. http://eric.univ-lyon2.fr/~ricco/
11. http://eric.univ-lyon2.fr/~ricco/tanagra/fichiers/fr_Tanagra_Perfs_Comp_SVM.pdf
5
1 / 10 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !