EVALUATION EN DATA MINING

Telechargé par حبيب بن سعادة
EVALUATION EN DATA MINING
L’évaluation est la clé pour progresser en data mining ou ailleurs.
L’évaluation est indispensable.
Il y’ a plusieurs façon d’inférer des connaissances à partir des données.
Nous avons étudié certains algorithmes.
Pour savoir quelle méthode, algorithme, approche est meilleur, il est nécessaire de disposer
de méthodes systématiques d’évaluation.
Ce n’est pas aussi simple qu’il peut paraitre.
Pourquoi pas ?
Nous avons la base d’apprentissage (qui a servi à construire le modèle), Il suffit d’évaluer le
modèle sur cette base.
C’est-à-dire combien de fois le modèle donne la bonne (même) réponse que la base.
Et bien NON. Les performances du modèle sur la base d’apprentissage ne sont pas un bon
indicateur sur les performances du modèle en GENERAL.
Par analogie, quand on évalue les étudiants (les examens) à la fin du semestre, on ne va pas
les évaluer sur les exemples et exercices vus aux TDs et Cours. Ce n’est pas un bon indicateur
de la compréhension du module.
Votre modèle travaillera sur des données du futur qui nont pas servi à sa conception, donc
sa performance doit être calculée sur des données qui nont pas servi à sa conception.
Logique.
Rien ne vous interdit de le tester en plus, sur les données dapprentissage, mais ce nest pas
un indicateur de bonnes performances.
Logiquement, une bonne performance sur la base dapprentissage est attendue de tout
modèle. Une mauvaise performance serait illogique et un indicateur que votre modèle a des
problèmes.
Une très bonne performance sur la base dapprentissage, suivie dune performance
moyenne dans la réalité est un indicateur de SURAPPRENTISSAGE.
Ce qui est MAUVAIS.
De là, on a la première règle qui est que les données dapprentissage et les données
dévaluations doivent être distinctes.
Important : Une fois que létape dévaluation a été accomplie avec succès, vous pouvez
toujours intégrer ses données dans la base dapprentissage. Cela permettra de maximiser la
quantité de données utilisée pour la génération du modèle qui sera utilisé en pratique.
Quand on dispose, dune très quantité de données, le problème se pose moins. Il suffira
dutiliser une partie pour lapprentissage, et une partie pour lévaluation. Chacune des deux
parties serait donc, suffisante pour assurer un bon apprentissage, et une bonne évaluation.
Sachant que tout bon apprentissage exige un maximum de données et toute bonne
évaluation exigera un maximum de données.
Dans la réalité, il sagira de gérer INTELLIGEMMENT une quantité limité de données et
pour lapprentissage et pour lévaluation. Car les données de qualité sont rares.
Nous allons présenter quelques techniques sur comment répartir les données entre base
dapprentissage et base de test (évaluation).
Le dilemme à résoudre est quavec une quantité de données limitées, il sagira de donner le
maximum à lapprentissage et au test ????
Chaque technique aura ses avantages et inconvénients.
Au cas vous ne lavez pas compris, lévaluation dans lexemple de la classification,
consistera à présenter au modèle un certain nombre dinstances de la base de donnée
classée, mais sans leurs classes pour quil les classe. On comptabilisera le nombre de succès
(la classe fourni par le modèle et la classe de linstance sont identiques), et le nombre
déchecs (la classe fourni par le modèle et la classe réelle de linstance sont différentes).
Revenons aux méthodes dévaluation ;
La première, et on a déjà vu, cest de calculer le taux derreur sur la base dapprentissage. On
parle de « resubstitution error », parce que calculée à partir dun ensemble test qui a servi
aussi comme ensemble dapprentissage. Bien que non fiable, elle peut apporter des
informations intéressantes.
La deuxième technique est appelée le « Hold Out », laisser à part, réserver une partie des
données pour létape dévaluation, ne pas les utiliser pour lapprentissage.
Vous disposez de N instances dans votre base de données, mettre M instances dans la
base dapprentissage et (N-M) instances dans la base test.
Comme je lai déjà dit, chaque étape (apprentissage, évaluation) sera meilleure si elle
dispose dun maximum de donnée.
Pour lapprentissage, vous lavez, je suppose déjà compris, plus de données on a, plus notre
modèle sera plus complet, plus généralisable.
Pour lévaluation aussi, plus vous avez testé sur plus grande quantité de données, plus votre
évaluation est significative, fiable.
Quelquun qui dit, jai testé sur 10000, a plus de crédibilité que quelquun qui dit jai testé
sur 10 ou 100. Non ?
Mais, on est obligé de décider sur partage ; généralement on prendra 2/3 base
dApprentissage, 1/3 base de Test. Mais, vous libre de fixer les pourcentages.
Est-ce que cela, on aura des répercussions sur lapprentissage et lévaluation ?
Jattends votre réponse dans le premier TP.
En plus, ce qui risque de se passer, cest que les données ayant servi à lapprentissage soient
totalement différentes des données dévaluations, en terme de qualité ou de répartitions
des classes et valeurs dattributs. Dans la première base, il était question en majorité de
certaines classes et de certaines valeurs dattributs. Et dans la base de test, on se retrouve
malheureusement avec une majorité dautres classes et valeurs dattributs.
Comment seront les performances de ce modèle daprès vous ?
Et que faut-il faire, daprès vous ?
On doit faire de sorte que les 2 échantillons de la base de données, que sont la base
dapprentissage et la base de test soient REPRESENTATIFS de la base de données.
C’est-à-dire quon se trouve avec la même répartition en termes de classes et de valeurs
dattributs. Cest facile à dire, mais difficile à réaliser.
Cette opération est appelée la « STRATIFICATION », et on parle de « Stratified Hold out ».
Cest un « Hold out » ou la division base dapprentissage, base de test ne sest pas faite
aléatoirement, mais dune manière intelligente. C’est-à-dire, préservant les distributions de
la base originale.
Pour atténuer, les effets de cette division sur les performances du modèle, car le choix des
instances pour lévaluation a certainement un effet sur les performances (même chose pour
lapprentissage), il est fortement conseillé de répéter lévaluation utilisant le « stratifiied
hold out » plusieurs fois, et de prendre la moyenne des performances comme performance.
On parle de « REPEATED STRATIFIED HOLD OUT ».
Cependant, il y a une variante du « hold out » qui a beaucoup de succes parmi les
professionnels du data mining. Elle est appelée la « Cross Validation ».
En cross-validation, vous décidez dun nombre fixe de PARTITIONS de lensemble de
données. Supposons 3. Votre ensemble de données sera partionné (divisé) en 3 sous-
ensembles (partitions) de taille égale. Et, on utilisera à tour de rôle, 2 partitions pour
lapprentissage, et une partition pour lévaluation.
Combien de fois ?
3 fois, puisque on a :
1. Partition 1 et 2 base dapprentissage, Partition 3 base de test
2. Partition 1 et 3 base dapprentissage, Partition 2 base de test
3. Partition 2 et 3 base dapprentissage, Partition 1 base de test
Bien sûr, la performance du modèle, sera la moyenne des performances.
Nous lappelerons un « 3 fold cross validation ».
On pourra faire la stratification, et ça sera un Stratified 3 fold cross validtion.
On pourra répéter lopération, et on aura un repeated stratified 3 fold cross validation.
Le 3 nétait quun exemple. Je pouvais choisir une valeur. Mais le principe reste le même.
C’est-à-dire N quelconque, on divise lensemble de donnée en N partition. On utilise (N-1)
partitions pour lapprentissage, et la partition restante pour lévaluation. On répète cela N
fois. On prend la moyenne des performances.
Les chercheurs ont une préférence pour N=10. La Stratified 10-fold cross validation.
Une variante de la cross validation est la « Leave One Out » (laisser une à part), pas très
utilisée. Elle consiste à utiliser toutes vos instances pour lapprentissage sauf une. Le test se
fera sur cette instance, mais comme cela se répètera (rappel cross validation), autant de fois
quil y a dinstance, vous allez tester sur toutes les instances.
Il est clair, quelle nest pas très pratique. Si vous un dataset de 10000 instances, vous allez
développer 9999 modèles (très très couteux), et faire 10000 évaluations.
Vous allez trouver toutes ces techniques dévaluation déjà présentes sur WEKA.
Pour le premier TP dont lénoncé viendra très prochainement, il sagira de prouver que
vous avez commencé à maitriser WEKA et ses fonctionnalité, et puis que vous avez
compris les méthodes dévaluations (cours daujourdhui) et les mesures dévaluations
(prochain cours).
Donc, très important de lire plusieurs fois et comprendre ce cours, pour les prochains TPs.
En plus, lexamen du module « Data mining » sera orienté cours beaucoup plus que
lexamen du module « apprentissage automatique », car pas de TD. Donc, nattendez pas
le 10ème cours pour commencer à les étudier.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!