Historique

TANAGRA est le dernier rejeton d'une longue lignée de programmes à vocation "Traitement des Données". Après une série de programmes d'estimation statistique, de tests et de régression simple, écrits en BASIC pour Thomson (M-05) et Amstrad (CPC-6128) dans le milieu des années 80 ; puis un logiciel de régression assez élaboré en Turbo Pascal pour MS-DOS ; les choses sérieuses commencent réellement au début des années 90, avec l'arrivée de l'interface graphique Windows et des outils de développement associés.

REGRESS

REGRESS est un logiciel complet de Régression Linéaire Multiple sous Turbo Pascal pour Windows. Ce logiciel intègre une série de procédures, très peu présentes dans les logiciels commerciaux, destinées au traitement de l'hétéroscédasticité, de l'autocorrélation des résidus, et des données atypiques. Ce logiciel sera passé en 32 bits (d'où la nouvelle appellation REGRESS 32) sous DELPHI par Valérie GOYET en 1996-1997 avec tout ce que cela comporte en termes de réduction du nombre de lignes de code, d'amélioration de l'interface et d'optimisation du temps de traitement. A l'heure actuelle, bien que le développement ait complètement cessé depuis 1998, ce logiciel est toujours chargé et utilisé, notamment par M. Sylvestre-Baron pour ses cours de régression (IUP Informatique, Statistique et Econométrie Appliquée - Université Lumière Lyon 2).

SIPINA v2.0 à 2.5

SIPINA V2.5 est un logiciel de DATA MINING implémentant les algorithmes de graphes et arbres d'induction. SIPINA a été développé à l'origine pour sa thèse par D.A. ZIGHED, cette version a été réalisée par des étudiants du DESS SISE sous BORLAND PASCAL, puis sous DELPHI 1.0, pour implémenter l'algorithme SIPINA. Les principaux maîtres d'oeuvres ont été Renaud BAC et Lionel PONSARD, je me suis greffé sur le projet par la suite pour incorporer la discrétisation et la gestion des règles.

A partir de 1995, j'ai entièrement repris le projet pour ma thèse de doctorat, l'objectif était d'en faire un outil d'expérimentation et de recherche en intégrant plusieurs modules : les autres méthodes d'induction d'arbres de décision (ID3, C4.5, CHAID, etc.), la simplification des règles, l'évaluation des classifieurs (validation croisée, bootstrap, etc.)... Cette version de SIPINA est très intéressante à plus d'un titre : étant distribuée sur internet, à une époque où les logiciels de recherche en DATA MINING en mode graphique étaient encore rares, il a connu un très grand nombre de téléchargements, il est de ce fait très bien connu des chercheurs, cela a grandement contribué à la popularisation des travaux du laboratoire ERIC.

Cette version présentait en revanche un défaut rédhibitoire : programmée en 16 bits et utilisant des DLL commerciales (WINSYS de Turbo Power), il était quasiment impossible de la passer en 32 bits (à partir de DELPHI 2). De plus, les structures de données étaient essentiellement tournées vers la construction des graphes d'induction, le passage vers d'autres méthodes d'apprentissage se révélait problématique.

SIPINA VERSION RECHERCHE

A partir de 1998, et sur la base des travaux de Valérie GOYET sur DATA MANAGER, un éditeur de données (le fameux format FDM - File Data Manager) avec des structures tournées vers le traitement statistique, il a été possible d'initier une nouvelle version d'un logiciel de DATA MINING pluri-méthodes cette fois-ci. Je suis ainsi reparti de zéro avec une nouvelle conception de l'architecture, optimisée pour les méthodes supervisées. Je me suis rendu compte bien des années plus tard que les structures choisies présentaient des similitudes assez intéressantes avec celles qui ont été mises en place pour le projet WEKA écrit en JAVA.

Cette version recherche intègre plusieurs modules qui en font un outil de recherche : des outils de pré-traitement des données issus de la bibliothèque DATA MANAGER ; une panoplie élargie de méthodes supervisées (arbre de décision, mais aussi analyse discriminante, méthodes des plus proches voisins, réseaux de neurones, boosting-bagging, etc.); des méthodes intégrant des coûts de mauvais classement ; des méthodes de sélection de variables ; des méthodes d'évaluation de l'apprentissage (validation croisée toujours, mais aussi des méthodes issues des travaux de EFRON-TIBSHIRANI introuvables sur les autres logiciels).

A différents points de vue, ce logiciel est un succès. En effet, du côté de la recherche, il m'a permis d'élargir mes possibilités d'expérimentation, il a ainsi été mis à contribution pour mes publications avec JH. CHAUCHAT et S. LALLICH. Fabrice MUHLENBACH l'a également utilisé pour ses expérimentations en intégrant ses méthodes à base de graphes de voisinage. Les structures qui ont été mises en place dans cette version servent encore aujourd'hui pour d'autres thèses. Du côté des études réelles, en liaison avec la recherche toujours, cette version a permis de proposer des solutions à des problèmes réels : le ciblage clientèle avec le CREDIT AGRICOLE, l'intégration des coûts de mauvais classement avec le CREDIT COMMERCIAL de FRANCE, la reconnaissance de la parole avec les travaux de François PELLEGRINO au Laboratoire Dynamique du Langage (Université Lyon 2), etc. La version actuellement disponible est une vieille version dont le développement a cessé depuis Février 2000.

Bien entendu, au bout de quelques années, les limites de cette version ont commencé à se faire pesantes. Plusieurs défauts majeurs sont apparus au fil du temps :
(a) l'intégration dans une structure commune des différentes familles de techniques de DATA MINING (analyse factorielle, clustering, etc.) s'est révélée très difficile, des tentatives ont bien été réalisées (Philippe ETER - clustering - et Jean Philippe AUDOYNAUD - analyse factorielle) mais au final nous avons abouti à des logiciels indépendants ;
(b) l'impossibilité d'enchaîner les traitements, par exemple, effectuer une régression sur des axes factoriels ;
(c) l'impossibilité de garder une trace des traitements réalisés, une fois le logiciel fermé, toute la séquence de traitements demandée était perdue, il fallait de nouveau tout recommencer en cliquant sur les bons menus, etc. ;
(d) l'impossibilité de lancer des traitements en mode batch.

TANAGRA

TANAGRA est issu de l'expérience accumulée au cours de ces dernières années. Après quelques errements dans une version commerciale dérivée de SIPINA -- on avait essayé de produire un super logiciel qui devait tout faire, et qui au final n'a rien fait du tout -- les vertus du light et de la science sont de nouveau mis en avant :
(a) simplicité de l'architecture, gage d'évolution et de maintenance facilitées ;
(b) code source entièrement libre, gage d'honnêteté scientifique, avec possibilité pour tous de vérifier ce qui est réellement implémenté et de contrôler les résultats publiés dans les revues et autres conférences.

Le revers de la médaille est une interface simplifiée à l'extrême et une gestion des données frustre, suffisante en tous les cas pour mener des études sur des fichiers "bien préparés" : c'est souvent le cas dans les études scientifiques, ça l'est moins dans les problèmes réels où la préparation des données tient à peu près 70% du temps de l'étude.

TANAGRA a donc été élaboré sous cet angle, je pense qu'il s'agit là de ma dernière version stand-alone d'un logiciel de DATA MINING, la version suivante sera certainement :
(a) client-serveur, sous quelle forme, cela reste à voir, j'essaie déjà de comprendre les principaux avantages et inconvénients du fameux .NET par exemple, l'idée est de construire un serveur d'applications de DATA MINING ;
(b) programmée au coeur d'un SGBD, du côté de FIREBIRD, la version Open source d'INTERBASE, il y a certainement des choses à faire à mon avis.

Les logiciels cités ici sont pour la plupart accessibles à partir de mon site Ricco Rakotomalala


Dernière modification : 12 janvier 2004.