mercredi 31 décembre 2014

Méthodologie statistique pour l'analyse prédictive

Google est mon ami, tout le monde l’a bien compris (ça rime !). Je passe beaucoup de temps à effectuer des recherches sur le web, à lire, à classer les documents, à les annoter pour pouvoir les reprendre plus facilement lorsqu’il s’agira d’écrire un tutoriel sur tel ou tel sujet.

Tout récemment, je suis tombé sur le document « Méthodologie statistique pour la discrimination et classement » de Pierre Traissac. Je lis d’abord un peu en diagonale parce qu’il y a des mots-clés qui me parlent… et d’un coup je me rends compte que l’auteur nous livre là une trame particulièrement claire d’une démarche d’analyse prédictive, si populaire en data science (data mining). Je me suis dit qu’il serait intéressant d’en faire un petit résumé.

Mots clés : analyse prédictive, analyse discriminante prédictive, analyse discriminante linéaire, régression logistique, arbres de décision, arbres de segmentation, cart
Composants Tanagra : BINARY LOGISTIC REGRESSION, LINEAR DISCRIMINANT ANALYSIS, C-RT
Lien : Résumé
Références :
Pierre Traissac, "Méthodologie statistique pour la discrimination et le classement. Application au ciblage des interventions nutritionnelles", in Padilla M, Delpeuch F, Le Bihan G, Maire B, editors. Les politiques alimentaires en Afrique du Nord D'une assistance généralisée aux interventions ciblées. Paris: Karthala; 1995. p. 393-431.
Références connexes :
B. Marie, F. Delpeuch, M. Padilla, G. Le Bihan, "Le ciblage dans les politiques et programmes nutritionnels", in Padilla M, Delpeuch F, Le Bihan G, Maire B, editors. Les politiques alimentaires en Afrique du Nord D'une assistance généralisée aux interventions ciblées. Paris: Karthala; 1995. p. 35-57.
P. Traissac P., B. Marie, F.Delpeuch, "Aspects statistiques du ciblage des politiques et programmes nutritionnels dans les pays en voie de développement", in Laloë Francis (ed.), Perrier X. (ed.), Pavé A. (pref.) De l'observation à l'analyse : implication de la biométrie dans les pays de développement. Paris : Société Française de Biométrie, 1998, (15), (Session de Biométrie ; 15). Journées de la Société Française de Biométrie, Carcassonne (FRA), 1997, p. 79-98.

mardi 30 décembre 2014

Règles de décision prédictives - Diapos

Bien connu des chercheurs d’obédience « machine learning », l’induction de règles prédictives est rarement mise en avant en « statistical learning ». Cela m’a paru toujours un peu étrange, bien que faire la distinction entre les deux communautés n’est pas toujours évidente. Pour ma part, j’évite d’entrer dans ce genre de discussions. Pour simplifier, j’associe l’esprit « machine learning » à l’ouvrage de Tom Mitchell  (1997), « statistical learning » est plutôt rattaché au livre de Hastie, Tibshirani et Friedman (2009). Et je m’en tiens à cette idée. Je mesure parfaitement en revanche les compétences que je cherche à transmettre à mes étudiants, c’est ce qui importe après tout.

Pour en revenir à l’apprentissage des règles de décision dans le cadre de l’analyse prédictive, je présente dans ces slides les différentes méthodes d’élaboration de bases de règles à partir de données. Les méthodes separate-and-conquer, par opposition aux techniques divide-and-conquer c.-à-d. les arbres de décision, y ont la part belle. Je détaille les différentes méthodes top-down aboutissant à  un système prédictif sous la forme d’une liste de décision (decision list en anglais) ou en un ensemble de règles non imbriquées (règles non ordonnées – unordered rules). Pour élargir le débat, je parle également, de manière plus ou moins détaillée des autres approches, moins connues, mais qui ont pourtant mobilisé des énergies à  différentes périodes : les techniques bottom-up, les algorithmes génétiques, les règles d’association prédictives, les règles prédictives floues.

Des tutoriels permettant de pratiquer ces techniques sur des données réelles à l’aide de logiciels librement accessibles sont référencés.

Mots clés : induction de règles, règles prédictives, listes de décision, base de connaissances, CN2, arbres de décision
Composants Tanagra : DECISION LIST, RULE INDUCTION, SPV ASSOC RULE
Lien : Règles de décision prédictives
Données : weather rule induction data
Références :
Tutoriel Tanagra,"Induction de règles prédictives", novembre 2009.
Tutoriel Tanagra, "Induction de règles floues avec Knime", janvier 2010.
J. Furnkranz, "Separate-and-Conquer Rule Learning", Artificial Intelligence Review, 13: 3-54, 1999.

samedi 20 décembre 2014

Data Mining with Decision Trees

Comme tout enseignant-chercheur, je passe beaucoup de temps à lire. Habituellement, j’essaie de trouver à la bibliothèque les ouvrages qui m’intéressent. Quand je vois que ça tient vraiment la route, je l’achète. Cette stratégie n’est pas trop possible pour les livres en anglais. Dans ce cas, j’acquière le livre sur la foi d’un titre, d’un auteur, d’un résumé, d’une quatrième de couverture, … et il m’arrive de les lire un peu en diagonale à l’arrivée parce que je suis un peu déçu ou bien parce que ça ne correspond pas vraiment à ce que je cherchais.

Pour rentabiliser ces lectures, et m’obliger à scruter attentivement tout livre qui me passe entre les mains, j’ai décidé d’inaugurer un nouveau thème sur ce blog : les résumés d’ouvrages. L’idée est de les rendre plus accessible en essayant d’en cerner la teneur. Si ça peut inciter les étudiants à lire d’avantage, ce n’est pas plus mal.

Dans ce post, je décris le livre de Rokach et Maimon consacré aux arbres de décision.

Mots clés : arbres de décision, arbres de segmentation, chaid, c4.5, cart
Composants Tanagra : C4.5, C-RT, CS-CRT, CS-MC4, ID3
Lien : Résumé
Références :
L. Rokach and O. Maimon, "Data Mining with Decision Trees - Theory and Applications", Series in Machine Perception and Artificial Intelligence, vol. 61, World Scientific Publising, 2007.

jeudi 18 décembre 2014

Introduction aux arbres de décision - Diapos

Au milieu des années 90, « faire du data mining » était assimilé à construire des arbres de décision. Le raccourci était bien évidemment trop simpliste, même si les arbres constituent effectivement une des méthodes phares du data mining (on dirait data science aujourd’hui).

Mes diapos sur les arbres ont été parmi les premiers que j’aie rédigés pour mes cours de data mining à l’Université. Ils avaient très peu évolué depuis parce que, entres autres, la méthode – la construction d’un arbre unique à partir d’un échantillon d’apprentissage - est bien établie et a connu peu de bouleversements fondamentaux depuis la fin des années 80. Il n’en reste pas moins qu’au fil des années, mon discours a évolué. Notamment parce que les outils actuels proposent des fonctionnalités de plus en plus performantes pour l’exploration interactive, pour l’appréhension de la volumétrie, etc. Je le disais verbalement. Je me suis dit qu’il était temps de matérialisé cela sur le support que j’utilise pour mes présentations. Je l’ai également complété en insérant les références sur les nombreux tutoriels récents que j’ai pu écrire sur l’induction des arbres à l’aide de différents logiciels.

Mots clés : arbres de décision, arbres de segmentation, chaid, c4.5, cart, sipina, logiciel R, spad, package rpart, tree, party, arbres interactifs
Composants Tanagra : C4.5, C-RT, CS-CRT, CS-MC4, ID3
Lien : Introduction aux arbres de décision
Références :
R. Rakotomalala, "Arbres de décision", Revue MODULAD, n°33, pp. 163-187, 2005.

dimanche 7 décembre 2014

Débogage sous RStudio

Durant les travaux dirigés pour mon cours de programmation R, les étudiants me sollicitent pour les aider à identifier les bugs qui bloquent leurs programmes. Parfois, je vois immédiatement le problème parce qu’il y a une erreur de syntaxe, ou enchaînement d’accolades mal maîtrisé. Souvent, je leur dis d’émailler leur code de print() pour que l’on puisse comprendre l’enchaînement des opérations et évaluer l’état des variables importantes dans le programme. Rapidement dans ce cas, les incohérences apparaissent, et la correction apparaît évidente (elle l’est toujours après coup).

Une autre solution est possible si l’on travaille sous RStudio. Nous pouvons nous appuyer sur le débogueur intégré.  Le post ci-dessous, accessible sur le site de l’éditeur de l’outil, décrit la procédure à suivre. Il détaille les outils et options disponibles. La possibilité de lancer pas-à-pas les lignes d’instruction est absolument indispensable lorsqu’on souhaite tracer l'exécution d'un programme. RStudio propose un dispositif particulièrement complet.

RStudio s’impose de plus en plus comme un environnement de développement intégré (EDI)  incontournable pour le langage R. J’ai moi-même utilisé Tinn-R pendant longtemps avant de finalement passer à RStudio. Cette popularité ne se démentira avec ce type de fonctionnalité.

Mots-clés : logiciel R, programmation R, environnement de développement intégré, EDI, rstudio, débogage
Lien : Jonathan McPherson, Debugging with RStudio, avril 2015 (pdf) ; Josh Paulson, "Breakpoint Troubleshooting", juin 2105 (pdf).
Références :
Site de RStudio, http://www.rstudio.com/
Andrea Spano, "Visual debugging with RStudio", Milano-R.
Tutoriel Tanagra, "Tinn-R, un éditeur de code pour R", février 2012.