L’idée ici est de permettre à l’analyste des données d’obtenir, en fonction de l’ensemble de données du problème qu’il aurait à résoudre, la liste des algorithmes disponibles dans l’environnement classés du plus performant au moins performant. L’ensemble d’expériences réalisées soit sur les données soit sur les algorithmes forme la base de cas. Pour effectuer le choix de l’algorithme le plus adéquat pour un problème en entrée de l’environnement, on doit retrouver des cas similaires dans la base de cas et les adapter au cas considéré.
Pour cela, nous recherchons parmi les ensembles de données déjà traités, les plus similaires à celui en entrée du système à l’aide d’un algorithme des k plus proches voisins travaillant sur des mesures de comparaison des ensembles de données et un seuil de similarité. L’algorithme le plus performant ayant servi à l’exécution sur les données les plus similaires aux données du problème à résoudre est exécuté. La formalisation de notre problème est la suivante :
Etant donné :
Il s’agit de procéder à un apprentissage par analogie :