5.4.2 Etude de cas 

Le problème à résoudre : choix d'un algorithme de l’ensemble D (description faite ci-dessous) pour le traitement de l’ensemble de données dont la description est faite dans le tableau 5.15.

A chaque étape des expérimentations, une comparaison des résultats obtenus par l’approche proposée avec ceux d’un algorithme réalisé dans le cadre du projet Metal est opérée. Deux bases de connaissances sont utilisées et mises à jour avec les résultats intermédiaires de chacune des approches.

L’ensemble D pour notre exemple illustratif est constitué de 12 algorithmes, implémentations de WEKA [Witten et Eibe, 2005] : NB [John et Langley, 1995), Lwl [Atkerson et al., 1997], Ibk [Aha et Kiber, 1991], DTab [Kohavi, 1995], Smo [Platt, 1998], KStar [Cleary et Trigg, 1995],  1R [Holte, 1993], Jrip [Cohen, 1995], PART [Eibe et Witten, 1998), Log [le Cessie, 1992], J48 [Quinlan, 1993], AdaboostM1 [Freund et Schapire, 1996].

Le tableau5.15 présente une description des ensembles de données (issus du répertoire de UCI [Blake et Merz, 1998]) qui ont servi à la phase initiale d’acquisition de connaissances. Comme éléments de description on a le protocole de test utilisé et quelques critères de comparaison des ensembles de données utilisés pour le calcul des similarités entre ensembles de données (nombre d’individus, de classes, d’attributs numériques et d’attributs catégoriques).

Tableau 5.7 Caractéristiques des ensembles de données utilisés pour l’évaluation
  Individus Classes Dim-num Dim-cat Ens-test
titanic 2201 2 0 3 10-fold
tic-tac-toe 958 2 0 9 10-fold
nursery 12960 5 0 8 10-fold
mushrooms 8124 2 0 22 10-fold
parity5_5 1024 2 0 10 10-fold

Le protocole de test utilisé pour le traitement de l’ensemble de données du problème à résoudre est le suivant : l’ensemble de données en entrée est c_class_flares, il comporte 1389 attributs, 8 classes, 10 attributs tous catégoriques.

A lapremière étape des traitements, l’initialisation des bases de connaissances a été faite, les mêmes informations y sont contenues. Pour la seconde étape, il s’agit deretrouver un des ensembles de données (pour cette présentation, nous nous limitons au plus proche voisin) répertoriés dans les bases de connaissances, significativement semblable à l’ensemble de données du problème en entrée, la distance entre les critères de comparaison de c_class_flares et ceux de tous les ensembles de données (tableau 1) est calculée, le résultat obtenu est le suivant :

Approche du projet Metal, le plus proche voisin est parity5_5, dist (c_class_flares, parity5_5) = 0.0122.

Nouvelle approche proposée, dist (c_class_flares, parity5_5) > seuil_fixé (0.005), exécuter le système multi-agent pour retrouver les performances effectives.

La troisième étape quant à elle consiste en des propositions de choix de l’algorithme de l’ensemble D à exécuter par les deux approches.

Approche du projet Metal : exécuter l’algorithme le plus efficace ayant servi à l’exécution de parity5_5 pour cet ensemble de données. Nous nous sommes limités pour cette présentation aux quatre meilleurs algorithmes. Le classement est le suivant : PART avec un taux de précision de 90.14%, J48 (85.94%), Ibk (50.88%) et AdaboostM1 (49.80%).

– Classement avec la nouvelle approche proposée : 1R (84.30%), Lwl (84.30%), Jrip (84.30%), AbaboostM1 (84.30%).

Les deux bases de connaissances sont mises à jours avec ces différents résultats. Afin d’évaluer la qualité des prédictions obtenues, nous allons en fonction des connaissances en notre disposition (bases de connaissances) retrouver l’algorithme de D le plus efficace pour le nouvel ensemble de données m_class_flares avec 1389 individus, 6 classes et 10 attributs catégoriques.

L’ensemble de données des bases de connaissances significativement semblable à l’ensemble de données du problème à résoudre est c_class_flares avec comme distance (dist (m_class_flares, c_class_flares) = 0.0034).

– Le classement avec l’approche du projet Metal est : PART avec pour précision 90.14%, J48 (85.94%), Ibk (50.88%), AdaboostM1 (49.80%).

– Le classement avec la nouvelle approche proposée est : 1R (84.30%), Lwl (84.30%), Jrip (84.30%), AbaboostM1 (84.30%).

classement réel : 1R (95.10%), Lwl (95.10%), AdaboostM1 (95.10%), DTab (95.10%)

De nombreuses autres expérimentations ont été opérées, il en ressort que lorsque la distance entre l’ensemble de données du problème à résoudre et ses plus proches voisins est grande (par exemple parity5_5 et m_class_flares), la prédiction des performances des algorithmes est très souvent erronée par application des approches existantes. Concrètement, la distance entre parity5_5 et c_class_flares est élevée, la prédiction est erronée. Le résultat obtenu est le suivant : PART, J48, Ibk, AdaboostM1 au lieu de 1R, Lwl, Jrip, AdaboostM1. Pour les besoins de maintenance de la base de connaissances, cette prédiction erronée est sauvegardée dans cette base. Ce qui entraîne une propagation de l’erreur de prédiction aux futures prédictions. Pour revenir à l’illustration de notre approche présentée dans les paragraphes précédents, la prédiction des performances des 12 algorithmes traités sur l’ensemble de données c_class_flares (PART, J48, Ibk, AdaboostM1) par application d’une approche existante est sauvegardée dans la base de connaissances. Pour le traitement du nouvel ensemble de données, le résultat de la prédiction de performance est PART, J48, Ibk, AdaboostM1 au lieu de 1R, Lwl, AdaboostM1 et DTab. Au fur et à mesure des traitements, on assiste à une propagation de cette erreur. Pour qu’une telle erreur ne se produise pas, nous avons introduit un seuil de rejet au-delà duquel on ne considère plus le plus proche voisin comme voisin. Le cas échéant, le SMA qui a été introduit permet d’acquérir les connaissances relatives aux performances effectives de l’algorithme. Ainsi le classement obtenu par notre approche sur c_class_flares est le classement réel des algorithmes traités. Le résultat de la prédiction des performances des algorithmes sur m_class_flares par notre approche est beaucoup plus fiable.