vendredi 23 janvier 2009

Comparaison des performances sous Linux

La courbe de gain est un outil important du ciblage marketing. On le retrouve sous des terminologies différentes selon les logiciels (gain chart, courbe lift, lift chart, courbe lift cumulative, etc.). Mais l'idée est toujours la même : nous affectons un score à des individus, nous trions la base selon un score décroissant, nous élaborons alors une graphique nuage de points avec, en abscisse, la proportion des individus dans la cible (les x premiers – en pourcentage - dans la base triée selon le score), et en ordonnée, la fraction des positifs que l'on y retrouve. Le dernier point est de coordonnée (100%, 100%) : lorsque tous les individus sont inclus dans la cible, nous sommes sûrs de retrouver tous les positifs.

L'élaboration de la courbe de gains dans Tanagra est décrite par ailleurs (http://tutoriels-data-mining.blogspot.com/2008/03/ciblage-marketing-scoring-coil.html). Notre idée dans ce didacticiel est d'élargir la description aux autres logiciels libres (Knime, RapidMiner et Weka). La seconde originalité de cette étude est que nous réalisons toutes les opérations sous Linux (distribution Ubuntu 8.10). Nous constaterons que Tanagra, tout comme les logiciels sus-cités, fonctionnent parfaitement. Cela nous amène à la troisième originalité de ce travail, nous traitons un fichier d'une taille importante avec 2.000.000 d'observations et 41 variables. Nous pourrons évaluer la tenue de ces logiciels lorsqu'on les place dans des situations extrêmes, de surcroît sur une machine très peu performante.

Nous adopterons la même démarche pour chaque logiciel. Dans un premier temps, nous traitons un échantillon de 2.000 observations, nous pouvons ainsi paramétrer à notre aise les calculs et obtenir au moins une fois un résultat que l'on peut montrer. Dans un second temps, nous modifions la source de données pour traiter le fichier complet. Nous mesurons alors le temps d’exécution, nous mesurons également l'occupation mémoire à l'issue de tous les traitements. Nous constaterons que certains logiciels ne pourront pas mener à leur terme les calculs.

Mots clés : scoring, ciblage marketing, analyse discriminante, courbe lift, courbe de gain, knime, rapidminer, weka, orange
Composants : SAMPLING, LINEAR DISCRIMINANT ANALYSIS, SCORING, LIFT CURVE
Lien : fr_Tanagra_Gain_Chart.pdf
Données : dataset_gain_chart.zip
Références :
Wikipedia, "Analyse discriminante linéaire"
R. Rakotomalala, "Ciblage marketing"

mardi 20 janvier 2009

Sipina sous Linux

Je suis dans la période où je (re)découvre Linux. Nous avons vu récemment qu'il était possible de travailler avec Tanagra sous Linux via Wine, simplement, sans contorsions compliquées.

Nous montrons dans ce document qu'il est possible de faire de même avec Sipina. Toutes les fonctionnalités du logiciel sont accessibles. On pense notamment aux outils interactifs qui permettent de guider la construction de l'arbre et d'explorer finement les sous-groupes d'observations associées aux nœuds.

Nous ne nous étendrons pas outre mesure sur ces fonctionnalités qui sont largement présentées par ailleurs dans plusieurs tutoriels accessibles sur le site web de Sipina. Notre principal objectif dans ce tutoriel est de montrer qu'il est possible d'utiliser Sipina sous Linux.

Nous utilisons la distribution française de Ubuntu 8.10. Nous avons également installé WINE, un outil extraordinaire qui permet d'exécuter un très grand nombre de logiciels initialement compilés pour Windows.

Mots clés : linux, ubuntu, wine, sipina, arbres de décision
Lien : fr_Sipina_under_Linux.pdf
Données : breast.txt
Références :
"Sipina", http://sipina.over-blog.fr/ ou http://eric.univ-lyon2.fr/~ricco/sipina.html
"Ubuntu", http://www.ubuntu-fr.org/
"Wine", http://doc.ubuntu-fr.org/wine

dimanche 11 janvier 2009

Tanagra sous Linux

Une question des utilisateurs qui revient souvent est : « est-ce que l'on peut utiliser Tanagra sous Linux ? ». La réponse est OUI et NON.

NON, parce que Tanagra est compilé avec Delphi pour Windows. L'exécutable ne peut pas être directement lancé dans l'environnement Linux.

OUI, parce qu'il y a WINE, un outil performant qui permet d'exécuter des applications Windows sous Linux. Nous pouvons ainsi profiter de toutes les fonctionnalités de Tanagra sans avoir à se poser des questions sur les éventuels problèmes de compatibilités, etc. De fait, l'utilisation de Tanagra sous Linux est complètement transparente. On clique sur le raccourci, le programme démarre, il est directement utilisable sans que l'on ait à se poser des questions compliquées. Plusieurs utilisateurs me l'avaient déjà signalé. Je me suis dit qu'il était temps de documenter tout cela.

Dans ce didacticiel, nous montrons comment faire fonctionner Tanagra dans UBUNTU (une distribution gratuite de Linux) via l'environnement WINE que nous devrons préalablement installer.

Mots clés : linux, ubuntu, wine
Lien : fr_Tanagra_under_Linux.pdf
Références :
"Ubuntu", http://www.ubuntu-fr.org/
"Wine", http://doc.ubuntu-fr.org/wine

mardi 6 janvier 2009

Coûts de mauvais classement en apprentissage supervisé

Tout le monde s’accorde à dire que l’intégration des coûts de mauvais classement est un aspect incontournable de la pratique du Data Mining. Diagnostiquer une maladie chez un patient sain ne produit pas les mêmes conséquences que de prédire la bonne santé chez un individu malade. Dans le premier cas, le patient sera soigné à tort, ou peut être demandera-t-on des analyses supplémentaires superflues ; dans le second cas, il ne sera pas soigné, au risque de voir son état se détériorer de manière irrémédiable. Pourtant, malgré son importance, le sujet est peu abordé, tant du point de vue théorique c.-à-d. comment intégrer les coûts dans l’évaluation des modèles (facile) que dans leur construction (un peu moins facile), que du point de vue pratique c.-à-d. comment les mettre en œuvre dans les logiciels.

La prise en compte des coûts lors de l’évaluation ne pose pas de problèmes particuliers. La prise en compte des coûts lors de l’élaboration du modèle de classement est moins connue. Plusieurs approches sont possibles.

Si les techniques existent, qu’en est-il de leur implémentation dans les logiciels libres ? Après investigations, on se rend compte que les logiciels qui les intègrent de manière naturelle sont très peu nombreux. Il semble que Weka soit l’un des rares à proposer des outils faciles à manipuler pour l’intégration des coûts. Ce constat nous a amené à introduire de nouveaux composants destinés à la prise en compte des coûts en apprentissage supervisé dans la version 1.4.29 de Tanagra.

Dans ce document, nous montrons la mise en œuvre de ces composants de Tanagra 1.4.29 sur un problème réel (réaliste). Nous avons également programmé ces mêmes procédures dans le logiciel R 2.8.0 (http://www.r-project.org/) pour donner une meilleure visibilité sur ce qui est implémenté. Nous comparerons nos résultats avec ceux de Weka 3.5.8. L’algorithme sous-jacent à toutes nos analyses sera un arbre de décision. Selon les logiciels, nous utiliserons C4.5, CART ou J48.

Mots clés : apprentissage supervisé, coûts de mauvais classement, arbres de décision, Weka 3.5.8, logiciel R 2.8.0, package rpart
Composants : CS-CRT, COST SENSITIVE LEARNING, COST SENSITIVE BAGGING, MULTICOST
Lien : fr_Tanagra_Cost_Sensitive_Learning.pdf
Données : dataset-dm-cup-2007.zip
Références :
J.H. Chauchat, R. Rakotomalala, M. Carloz, C. Pelletier, "Targeting Customer Groups using Gain and Cost Matrix: a Marketing Application", PKDD-2001.
J.H. Chauchat, R. Rakotomalala, "Cost sensitive C4.5"
Tutoriel Tanagra, "Apprentissage-test avec Sipina"