mardi 18 mai 2010

Tanagra dans La revue Modulad (2005)

Toujours au chapitre nostalgie, le grand nettoyage de printemps se prête beaucoup à l'exhumation de documents anciens, j'ai retrouvé la version longue de l'article EGC publiée dans la revue Modulad (n°32 – 2005).

La revue MODULAD cumule les avantages. Elle est présente depuis longtemps déjà, la pérennité est souvent un gage de qualité. Elle est en langue française. Elles ne sont pas nombreuses dans notre domaine. Et (surtout serais-je tenté de dire), elle est accessible librement en ligne. Nous pouvons donc accéder à des articles très intéressants, récents ou plus anciens puisque les archives sont disponibles. Le numéro 1 date de 1988. Les vieux documents ont été scannés.

Autre aspect très plaisant, avec la page Excel'ense, nous disposons de nombreux tutoriels décrivant l'exploitation statistique des données sous un tableur. Les exemples montrent, si besoin était, que le tableur tient très bien sa place parmi les logiciels de statistique. Nous pouvons réaliser de nombreux traitements rien qu'en utilisant les fonctions courantes.

Article : Tanagra – Revue Modulad
Référence : Rakotomalala R., "TANAGRA, une plate-forme d’expérimentation pour la fouille de données", Revue MODULAD, n°32, pp. 70-85, 2005.

lundi 17 mai 2010

Tanagra - Présentation à EGC'2005

Au chapitre nostalgie, j'ai retrouvé le document décrivant Tanagra publié dans les actes de EGC'2005 (Paris). Il est précieux car il représente l'unique présentation du logiciel dans le cadre d'une conférence. C'est l'article que je conseille de citer lorsqu'un utilisateur souhaite faire référence à Tanagra. Il n'existe pas d'équivalent en anglais. Il faudra sûrement l'écrire un jour.

Puisque l'occasion se présente, essayons un peu de situer Tanagra dans le temps. J'ai commencé à réfléchir sérieusement à un logiciel de Data Mining en janvier 2003. J'ai réalisé trois prototypes en java, c++ et delphi. Je n'étais pas très objectif néanmoins. Mon principal souci était de déterminer si l'élaboration du logiciel en delphi était pénalisant ou pas. Il est apparu au regard du cahier des charges, réaliser un logiciel à l'interface simplifiée en donnant la part belle aux calculs, que l'écrire en delphi était la solution la plus simple. Il faut dire que je programme en pascal depuis la fin des années 80.

Les idées étant singulièrement clarifiées, je me suis attelé à la programmation de Tanagra au tout début de juillet 2003. Deux mois de travail (plaisir) ininterrompu. Après, il a fallu déboguer, valider, comparer, documenter, monter le site web. En janvier 2004, le logiciel était en ligne. En janvier 2005, je le présentais à EGC suite à l'invitation du chairman de la session consacrée aux logiciels.

Il a fallu près d'un an encore pour que les tutoriels prennent vraiment de l'ampleur. Avec le recul, je me rends compte que c'est la documentation qui distingue Tanagra des autres outils libres qui, par ailleurs, possèdent d'autres atouts. A l'heure actuelle, je ne fais plus de présentation de Tanagra sans consacrer un temps important aux autres logiciels gratuits tels que R, Knime, Orange, RapidMiner et Weka.

Article : Tanagra - Egc'2005
Référence : R. Rakotomalala, "TANAGRA : un logiciel gratuit pour l'enseignement et la recherche", in 5èmes Journées d'Extraction et Gestion des Connaissances, EGC-2005, pp. 697-702, Paris, 2005.

samedi 15 mai 2010

Sipina - Présentation de l'ancienne version 2.5

En travaillant sur la traduction du tutoriel décrivant l'implémentation des graphes d'induction à l'aide de la version 2.5 de SIPINA, je suis tombé sur un ancien document de présentation de la dite version. Le texte est assez ancien. Il est directement extrait de mon mémoire de doctorat (chapitre 11, pages 269 à 292). Il a été repris tel quel dans l'ouvrage paru en 2000 (chapitre 16, pages 391 à 414). J'imagine qu'il a été préparé en vue d'une publication dans une revue quelconque. Mais, à ma connaissance, il n'a finalement jamais été valorisé sous la forme d'un article. Ce n'est pas plus mal, nous avons l'occasion de le mettre en avant sur ce blog.

Je regarde toujours avec beaucoup de nostalgie cette version 2.5 de SIPINA. Le projet a été initié par des étudiants du Master SISE (dont je faisais partie). J'ai entièrement repris le projet de l'automne 1995 jusqu'à l'été 1997, en essayant de le perfectionner au possible, en rajoutant des modules de calculs (les algorithmes d'induction d'arbres de décision tels que C4.5, CHAID; les techniques de ré-échantillonnage pour l'évaluation des résultats, bootstrap, validation croisée, etc.). Néanmoins, je n'ai jamais pu aller très loin dans le développement du logiciel. Principalement à cause d'un cahier de charges initial trop timoré qui a lourdement pesé sur sa conception; et l'utilisation de bibliothèques payantes 16 bits qui ont compromis tout passage au 32 bits.

La version recherche (ou version 3.0 et suivantes) a été conçue pour dépasser les limitations structurelles de la version 2.5. Il n'en reste pas moins que cette dernière est encore utilisée de nos jours. En effet, c'est le seul logiciel qui implémente la méthode SIPINA telle qu'elle est décrite dans littérature. Mieux même, il s'agit vraisemblablement du seul outil gratuit au monde qui propose une implémentation facilement exploitable des graphes de décision. C'est la raison pour laquelle je la mets encore en ligne sur le site web à ce jour.

Mots-clés : graphes d'induction, graphes de décision
Texte : Sipina_windows_v25.pdf
Références :
R. Rakotomalala, Graphes d’induction, Thèse de Doctorat, Université Lyon 1, 1997 (URL : http://eric.univ-lyon2.fr/~ricco/publications.html).
D. Zighed, R. Rakotomalala, Graphes d’induction : Apprentissage et Data Mining, Hermès, 2000.

mercredi 5 mai 2010

Traitement des classes déséquilibrées

Bien souvent, les modalités de la variable à prédire ne sont pas également représentées en apprentissage supervisé. Si l'on s'en tient aux problèmes à deux classes, les positifs, ceux que l'on cherche à identifier justement, sont rares par rapport aux négatifs : les personnes malades sont (heureusement) peu nombreux par rapport aux personnes en bonne santé ; les fraudeurs constituent une infime minorité dans la population ; etc. Dans cette configuration, en travaillant avec un échantillon représentatif et en évaluant le modèle de prédiction avec la procédure usuelle (matrice de confusion + taux d'erreur), on se rend compte que le meilleur classifieur revient à prédire systématiquement la classe majoritaire (les négatifs), ce qui nous assure le plus faible taux d'erreur.

La stratégie la plus couramment admise pour surmonter cet écueil consiste à équilibrer artificiellement les données c.-à-d. mettre autant de positifs que de négatifs dans l'échantillon d'apprentissage. Sans que l'on ne sache pas très bien pourquoi, sans mettre en relation cette modification avec les caractéristiques de la technique d'apprentissage, sans en mesurer les conséquences sur le comportement du classifieur induit. Tout simplement parce que " c'est mieux ". La recette miracle en quelque sorte. En tous les cas, les ressources étant limitées, cela ne peut se faire que de deux manières : dupliquer les positifs (sur échantillonnage) ou bien n'utiliser qu'une fraction des négatifs (sous échantillonnage).

Dans ce didacticiel, nous souhaitons évaluer le comportement du sous échantillonnage lors du traitement d'une base très déséquilibrée à l'aide de la régression logistique.

Mots clés : régression logistique, classes déséquilibrées, sur et sous échantillonnage
Lien : fr_Tanagra_Imbalanced_Dataset.pdf
Données : imbalanced_dataset.xls
Références :
Wikipedia, "Régression logistique".
R. Rakotomalala, "Pratique de la régression logistique - Régression logistique binaire et polytomique".
D. Hosmer, S. Lemeshow, « Applied Logistic Regression », John Wiley &Sons, Inc, Second Edition, 2000.

samedi 1 mai 2010

Séminaire au LIESP

Le vendredi 30 avril a été l'occasion d'un très agréable séminaire au LIESP (http://liesp.insa-lyon.fr/v2/?q=fr/acc). Le contenu est plus ou moins identique à la présentation réalisée le mois précédent à Rennes. A la différence que j'avais en face de moi des chercheurs qui travaillent dans le domaine du Data Mining.

Les discussions se sont donc plutôt orientées vers l'utilisation des différents logiciels libres/gratuits en recherche. J'ai appris entres autres que, s'agissant du Data Mining, Matlab a un positionnement très proche de celui de R, avec notamment le système des plugins. J'essaierai de voir cela dans un avenir proche.

Dans la partie bilan : pour les 4 premiers mois de l'année 2010 (1er janvier au 30 avril), mes sites ont enregistré 83.219 visites, soit 693 visites par jour.

Titre : Tanagra, un logiciel gratuit pour l'enseignement et la recherche
Résumé : Tanagra est un logiciel de data mining gratuit, open source, à destination des étudiants, des enseignants et des chercheurs. Il intègre à l'heure actuelle (version 1.4.36 - Mars 2010) près de 170 techniques d'exploration des données. Elles couvrent la statistique, l'analyse de données, l'économétrie, la reconnaissance de formes. Au-delà du logiciel, le site web Tanagra est aussi le carrefour d'une documentation très importante, sous la forme d'ouvrages gratuits (free e-books) et de tutoriels en français et en anglais. La convergence de ces éléments a beaucoup contribué à la large diffusion de notre travail. En termes quantitatifs, notre site, regroupant les supports de cours, les tutoriels et le logiciel, a connu 520 visites par jour sur l'année 2009, à comparer avec les 349 visites journalières de 2008.

Dans notre exposé, nous décrivons les motivations et les contraintes qui nous ont conduit à définir un cahier de charges suffisamment précis pour l'élaboration du logiciel. Nous essayons surtout de délimiter son champ d'application et les utilisateurs visés. Les choix conditionnent la viabilité du projet dans la durée. En effet, il y a la création de la première version, toujours exaltante, puis il faut anticiper sur son évolution dans le temps. Notre propre expérience montre que les solutions organisationnelles et techniques sont très importantes dans cette perspective.

Mais Tanagra n'est pas le seul logiciel de data mining libre, loin de là. Dans une deuxième partie, nous présenterons les autres outils, très diffusés dans communauté: R, Weka, Knime, Orange, RapidMiner. Ce sont autant d'alternatives très intéressantes pour le traitement des données. Un des facteurs de succès de notre site d'ailleurs est d'avoir réalisé un effort considérable de documentation pour ces logiciels. Nous les présentons rapidement en essayant de pointer leurs spécificités respectives.

Enfin, dans une troisième et dernière partie, pour donner un tour concret à notre exposé, nous réaliserons quelques traitements types (apprentissage supervisé, induction de règles d'association) à l'aide de ces différents logiciels. En réalisant les mêmes traitements sur les mêmes données, nous sommes à même de situer ce qui rapproche ou ce qui différencie ces outils. Nous constaterons d'ailleurs que, finalement, ils sont relativement similaires. Les différences se situent essentiellement sur le mode de présentation et la terminologie utilisée selon l'origine communautaire du logiciel (statistique, informatique, reconnaissance de formes).

Mots-clés : data mining, logiciel gratuit, logiciel libre, tanagra, r, weka, knime, orange, rapidminer
Diaporama : voir diapos en version animée.