dimanche 31 janvier 2010

"Wrapper" pour la sélection de variables (suite)

Ce didacticiel fait suite à celui consacré à la stratégie wrapper pour la sélection de variables en apprentissage supervisé. Nous y analysions le comportement de Sipina, puis nous avions programmé une procédure ad hoc dans R. Dans ce didacticiel, nous étudions la mise en oeuvre de la méthode dans les logiciels Knime 2.1.1, Weka 3.6.0 et RapidMiner 4.6.

La démarche est la suivante : (1) utilisation du fichier d'apprentissage pour la sélection des variables les plus performantes pour le classement ; (2) création du modèle sur les descripteurs sélectionnés ; (3) évaluation des performances sur un fichier test contenant toutes les variables candidates.

Ce troisième point est très important. Nous ne pouvons pas connaître initialement les variables prédictives qui seront finalement retenues. Il ne faut pas que nous ayons à préparer manuellement le fichier test en y intégrant uniquement celles qui auront été choisies par la procédure wrapper. C'est une condition essentielle pour que la démarche soit automatisable. En effet, dans le cas contraire, chaque modification de paramétrage dans la procédure wrapper aboutissant à autre sous-ensemble de descripteurs nous obligerait à modifier manuellement le fichier test. Ce qui s'avère très rapidement fastidieux.

A la lumière de ce cahier des charges, il est apparu que seul Knime a permis de mettre en place le dispositif complet. Avec les autres logiciels, il est certes possible de sélectionner les variables pertinentes sur le fichier d'apprentissage. Je n'ai pas pu en revanche (ou je n'ai pas su) réaliser simplement le déploiement sur un fichier test comprenant la totalité des variables candidates.

La méthode d'apprentissage supervisé utilisée est le modèle d'indépendance conditionnel, le modèle bayesien naïf selon la terminologie utilisée en apprentissage automatique .

Mots clés : sélection de variables, apprentissage supervisé, classifieur bayesien naïf, wrapper
Lien : fr_Tanagra_Wrapper_Continued.pdf
Données : mushroom.wrapper.arff.zip
Références :
JMLR Special Issue on Variable and Feature Selection - 2003
R Kohavi, G. John, « The wrapper approach », 1997.
Wikipedia, "Naive bayes classifier".

jeudi 21 janvier 2010

Induction de règles floues avec Knime

Ce didacticiel fait suite à celui consacré à l'induction des règles prédictives. Je n'avais pas intégré Knime dans le comparatif car il proposait une technique que je ne connaissais pas bien, l'induction de règles floues, et demandait une préparation particulière de variables qui me paraissait bien étrange. Il fallait notamment que l'attribut cible soit numérique, ce qui paraît assez incongru dans le cadre de l'apprentissage supervisé. Comme il me fallait avancer, j'ai préféré reporter l'étude du logiciel Knime à plus tard (c.-à-d. maintenant) en lui dédiant spécifiquement un didacticiel.

Parmi les logiciels libres (ou accessibles gratuitement) fonctionnant sous forme de diagramme de traitements, Knime est certainement l'un des plus prometteurs, un des rares à pouvoir tailler des croupières aux équivalents commerciaux. Il y a dans ce logiciel une rigueur de conception et un souci du détail qui ne laisse pas indifférent : il est par exemple possible, devant la multitude d'outils disponibles, de créer une section des méthodes favorites ; une autre palette permet également de retrouver les composants les plus fréquemment utilisés ; la documentation est accessible de manière permanente dans la partie droite de la fenêtre principale ; etc. C'est aussi un des seuls logiciels libres à faire des efforts particuliers pour ce qui est de l'accès aux bases de données et la préparation des variables. J'avoue que je prends un réel plaisir à l'utiliser et à l'étudier de manière approfondie.

Concernant l'induction de règles prédictives, Knime (version 2.1.1) implémente l'induction des règles floues. Les articles présentant la méthode sont accessibles en ligne , . Les lecteurs intéressés par les fondements théoriques de la méthode pourront s'y reporter. Pour ma part, dans ce didacticiel, je m'attacherais avant tout à décrire la mise en œuvre de la méthode en détaillant le pourquoi et comment de la préparation des variables préalable à l'induction, et le mode de lecture du modèle prédictif. Pour avoir un point de repère, nous comparerons les résultats avec ceux fournis par la méthode d'induction de règles proposée par Tanagra.

Mots clés : induction de règles prédictives, logique floue
Composants : SAMPLING, RULE INDUCTION, TEST
Lien : fr_Tanagra_Induction_Regles_Floues_Knime.pdf
Données : iris2D.txt
Références :
M.R. Berthold, « Mixed fuzzy rule formation », International Journal of Approximate Reasonning, 32, pp. 67-84, 2003.
T.R. Gabriel, M.R. Berthold, « Influence of fuzzy norms and other heuristics on mixed fuzzy rule formation », International Journal of Approximate Reasoning, 35, pp.195-202, 2004.

mardi 19 janvier 2010

Tanagra - Version 1.4.35

CTP. Modification de la méthode de détection de la bonne taille de l'arbre
dans le composant " Clustering Tree " avec post-élagage (CTP). Elle s'appuie à
la fois sur l'angle entre chaque demi-droite à chaque point de la courbe de
décroissante de l'inertie intra-classe sur l'échantillon d'expansion (growing
set) et la décroissance du même indicateur calculé sur l'échantillon d'élagage
(pruning set). Par rapport à l'implémentation précédente, il en résulte un choix
de partitionnement avec un nombre plus faible de clusters.

Regression Tree. La modification précédente est répercutée sur le composant
arbre de régression qui en est une version univariée.

C-RT Regression Tree. Un nouveau composant d'arbre de régression a été
introduit. Il implémente fidèlement la technique décrite dans l'ouvrage de
Breiman et al. (1984), notamment la partie post-élagage avec la règle de l'écart
type (1-SE Rule) (chapitre 8, en particulier p. 226 concernant la formule de la
variance du MSE).

C-RT. L'affichage de la méthode d'induction d'arbre de décision C-RT a été
complété. En s'appuyant sur la dernière colonne du tableau d'élagage, il devient
plus aisé de choisir le paramètre " x " (dans x-SE Rule) pour définir
arbitrairement la taille de l'arbre élagué.

Des tutoriels viendront décrire ces différentes modifications.

dimanche 17 janvier 2010

Arbres de décision interactifs avec SPAD

Dans le domaine du Data Mining, les logiciels libres et commerciaux ne s'adressent pas au même public. Ils ne répondent pas aux mêmes besoins. Les premiers sont plutôt destinés aux étudiants et aux chercheurs. Leur but est de mettre à leur disposition un grand nombre de méthodes, à des fins pédagogiques, ou à des fins d'expérimentation. L'utilisateur doit pouvoir monter simplement des comparaisons à grande échelle, pour comprendre le comportement des méthodes, pour évaluer leurs performances, etc. Le logiciel R (http://www.r-project.org/) en est certainement le meilleur représentant. Avec le système des packages, il est extensible à l'infini. Le dispositif est maintenant bien accepté, un grand nombre de chercheurs viennent enrichir la bibliothèque de calcul au fil du temps, signe que le mécanisme a été très bien conçu.

Les outils commerciaux s'adressent plutôt aux praticiens du Data Mining, y compris les chercheurs d'autres domaines. Leur objectif est de pouvoir mener à bien une étude intégrant le cycle complet de la fouille de données, partant de l'accès aux fichiers jusqu'au déploiement et la production de rapports. Dans ce cas, l'outil doit surtout leur faciliter le travail en prenant en charge, le plus simplement possible, un grand nombre de tâches répétitives et fastidieuses, comme l'accès aux données, leur préparation, la production de tableaux et graphiques pour les rapports, l'industrialisation des résultats, etc.

La frontière n'est pas aussi tranchée. Bien d'outils issus du monde universitaire tentent de franchir le Rubicon en intégrant des fonctionnalités qui intéresseraient plutôt le monde industriel (ex. déploiement des modèles avec PMML - http://www.dmg.org/). A l'inverse, des logiciels commerciaux s'approprient les formidables bibliothèques de calculs que proposent les outils libres, notamment ceux de R (ex. SAS / IML Studio, SPSS PASW ou SPAD).

Dans ce didacticiel, nous montrons la mise en œuvre des Arbres de Décision Interactifs (IDT - Interactive Decision Tree) de SPAD 7.0 sur un jeu de données constitué d'un classeur Excel décomposé en 3 feuilles : (1) on doit construire un arbre de décision à partir des données d'apprentissage ; (2) appliquer le modèle sur les données de la seconde feuille, nous adjoignons ainsi une nouvelle colonne " prédiction " aux données ; (3) vérifier la qualité de la prédiction en la confrontant à la vraie valeur de la variable cible située dans la troisième feuille du classeur.

Bien sûr, toutes ces opérations sont réalisables avec la grande majorité des logiciels libres. Un utilisateur un tant soit peu habile vous programme cela en trois coups de cuiller à pots sous R. Nous y reviendrons dans la section 4. L'intérêt ici est de montrer qu'un utilisateur novice, réfractaire à l'informatique, peut les enchaîner très facilement avec ce type d'outil, en prenant comme source de données un classeur Excel.

Mots clés : IDT, interactive decision tree, arbres de décision, induction interactive, SPAD, SIPINA, logiciel R
Lien : fr_Tanagra_Arbres_IDT_Spad.pdf
Données : pima-arbre-spad.zip
Références
:
(Mise à jour) Tutoriel Tanagra, "Nouveaux arbres interactifs dans SPAD 8", Août 2014.
Logiciel SPAD, http://www.spad.eu/
R. Rakotomalala, "Arbres de décision", Revue Modulad, n°33, 2005.