jeudi 26 janvier 2012

Régression logistique sur les grandes bases

Gratter les millisecondes est le péché mignon des informaticiens. Au-delà de la petite satisfaction personnelle, il y a quand même des enjeux  forts derrière l’optimisation des programmes. Notre rôle est de produire des logiciels fiables, rapides, avec une occupation mémoire contenue. Dans le cadre du data mining, cela se traduit par la capacité à  traiter les grandes bases de données. Certes, dans la phase finale où il s’agit de produire le modèle qui sera déployé dans le système d’information, qu’importe finalement que les calculs durent une 1/2 heure ou une 1/2 journée. Mais il y a la phase exploratoire en amont, lorsque nous cherchons les solutions les mieux adaptées à notre problème. Plus rapide sera l’outil, plus de configurations nous pourrons tester. Nous aurons ainsi de meilleures chances de mettre en évidence la solution la plus efficace.

Il m’est apparu intéressant de comparer les temps de traitement et l’occupation mémoire de la régression logistique de Tanagra avec ceux des autres outils gratuits largement répandus au sein de la communauté du Data Mining. J’avais déjà mené un travail similaire par le passé. La nouveauté dans ce tutoriel est que nous nous situons dans un nouveau cadre : j’utilise maintenant un OS 64 bits (Windows 7), et certains de ces logiciels sont justement passés aux 64 bits avec des capacités de traitements accrus comme on a pu le constater pour les algorithmes de construction des arbres de décision . J’ai donc largement augmenté la taille de la base à traiter (300.000 observations et 121 variables prédictives). Pour corser l’affaire, des attributs générés complètement aléatoirement ou de manière à être corrélés avec les variables initiales ont été rajoutées. L’objectif est d’observer le comportement des logiciels durant la recherche des prédicteurs pertinents.

Dans ce comparatif, outre Tanagra 1.4.41 (32 bits), nous utiliserons les logiciels R 2.13.2 (64 bits), Knime 2.4.2 (64 bits), Orange 2.0b (build 15 oct 2011, 32 bits) et Weka 3.7.5 (64 bits).

Mots clés : régression logistique, grands fichiers, grandes bases, gros volumes, comparaison de logiciels, glm, stepAIC, logiciel R, knime, orange, weka
Composants : BINARY LOGISTIC REGRESSION, FORWARD LOGIT
Lien : fr_Tanagra_Perfs_Bis_Logistic_Reg.pdf
Fichier : perfs_bis_logistic_reg.zip
Références :
R. Rakotomalala, "Pratique de la régression logistique - Régression logistique binaire et polytomique", Version 2.0, Juin 2011.
Tutoriel Tanagra, "Régression logistique - Comparaison de logiciels".

mercredi 18 janvier 2012

Sipina - Version 3.8

Les logiciels (SIPINA RESEARCH, REGRESS et ASSOCATION RULE SOFTWARE) associés à la distribution SIPINA ont été mis à jour avec quelques améliorations.

SIPINA.XLA. La macro complémentaire fonctionne indifféremment avec les versions 32 et 64 bits d’Excel (testée jusqu’à Excel 2010).

Importation des fichiers textes. Le temps de traitement a été amélioré. Cette modification joue également sur le temps de transfert durant l’envoi des données d’Excel vers les logiciels via la macro-complémentaire (qui utilise un fichier temporaire au format texte).

Association rule software. L’interface a été simplifiée, l’affichage des règles est rendue plus lisible.

S'appuyant sur le gestionnaire de mémoire FastMM, ces 3 logiciels peuvent adresser jusqu'à 3 Go sous Windows 32 bits et 4 Go sous Windows 64 bits. Les capacités de traitement sont améliorées.

Site web : Sipina
Chargement : Fichier setup
Références :
Tutoriel Tanagra - Connexion Excel - Sipina
Delphi Programming Resource - FastMM, a Fast Memory Manager

mardi 10 janvier 2012

Arbres de décision sur les grandes bases (suite)

S’endormir sur ses lauriers est impossible en informatique. Tout évolue très vite : matériel, système, logiciel. C’est un de ses principaux attraits d’ailleurs. La vérité d’aujourd’hui n’est pas celle d’hier, elle sera peut être différente demain, il faut être sur le qui-vive. Ayant changé de système, je suis passé à Windows 7 en 64 bits (avec un Quad Core Q9400 à 2.66 Ghz), j’étais curieux de voir le nouveau comportement des outils analysés dans un ancien document dont l'objet était l'analyse comparative des performances des différents logiciels de data mining durant l'apprentissage d'un arbre de décision. Surtout que plusieurs de ces outils sont passés à une version 64 bits (Knime, RapidMiner, R).

J’ai donc reproduit la même analyse avec les mêmes données et mesuré les mêmes critères : temps de traitement et occupation mémoire. J’ai constaté que la grande majorité des outils ont bien progréssé en termes de temps de traitement, à des degrés divers néanmoins. En revanche, les évolutions ne sont pas manifestes concernant l’occupation mémoire. Nous détaillons tout cela dans la dernière section de cette nouvelle version de notre tutoriel.

Mots clés : c4.5, arbres de décision, grandes bases de données, comparaison de logiciels, knime2.4.2, orange 2.0b, r 2.13.2, rapidminer 5.1.011, sipina 3.7, tanagra 1.4.41, weka 3.7.4, windows 7 - 64 bits
Composants : SUPERVISED LEARNING, C4.5
Lien : fr_Tanagra_Perfs_Comp_Decision_Tree_Suite.pdf
Lien (2) : Copies d'écran avec les versions des logiciels utilisées dans cette mise à jour.
Données : wave500k.zip 
Références :
Tanagra, "Traitement de gros volumes - Comparaison de logiciels".
Tanagra, "Arbres de décision sur les grands fichiers (mise à jour)".
R. Quinlan, « C4.5 : Programs for Machine Learning », Morgan Kaufman, 1993.

Arbres sur les " très" grandes bases (suite)

Triturer des très grands fichiers était de fantasme ultime du data miner a-t-on coutume de dire. Etant passé récemment à un système 64 bits (mieux vaut tard que jamais), je me propose d’étudier le comportement des outils spécifiquement dédiés à ce système, principalement Knime 2.4.2 et RapidMiner 5.1.011.

Ce document vient compléter une étude récente où nous traitions une base moyennement volumineuse avec 500.000 observations et 22 variables. Nous poussons le curseur un peu plus loin en reprenant un tutoriel où le fichier à traiter comportait 9.634.198 observations et 41 variables, (quasiment) impossible à faire tenir en mémoire sur un système 32 bits. L’idée était alors de montrer qu’un système de swap adapté aux algorithmes d’apprentissage, l’induction d’un arbre de décision en l’occurrence, permettait d’appréhender de très grandes bases avec des temps de traitement raisonnables. La procédure avait été implémentée dans Sipina.

Dans ce tutoriel, nous constatons que le passage aux 64 bits augmente considérablement les capacités de calcul des logiciels de Data Mining. C’est indéniable. Mais il faut disposer d’une machine à l’avenant pour en tirer réellement parti.

Mots clés : gros volumes, très grands fichiers, grandes bases de données, arbre de décision, échantillonnage, sipina, knime, rapidminer, windows 7 - 64 bits
Composants : ID3
Lien : fr_Tanagra_Tree_Very_Large_Dataset.pdf
Données : twice-kdd-cup-discretized-descriptors.zip
Références :
Tutoriel Tanagra, « Arbres de décision sur les grandes bases (suite) ».
Tutoriel Tanagra, « Sipina - Traitement des très grands fichiers »

lundi 2 janvier 2012

Bonne année 2012 - Bilan 2011

L'année 2011 s'achève, 2012 commence. Je vous souhaite à tous une belle et heureuse année 2012.

Un petit bilan chiffré concernant l'activité organisée autour de Tanagra pour l' année écoulée. L'ensemble des sites (logiciel, support de cours, ouvrages, tutoriels) a été visité 281.352 fois cette année, soit 770 visites par jour. Par comparaison, nous avions 349 visites journalières en 2008, 520 en 2009 et 662 en 2010.

Qui êtes-vous ? La majorité des visites viennent de France et du Maghreb. Puis viennent les autres pays francophones, une grande partie vient d'Afrique. Pour ce qui est des pays non francophones, nous observons parmi ceux qui reviennent souvent : les États-Unis, l'Inde, le Royaume Uni, l'Italie, le Brésil, l'Allemagne, etc.

Que consultez-vous en priorité ? Les pages qui ont le plus de succès sont celles qui se rapportent à la documentation sur le Data Mining : les supports de cours, les tutoriels, les liens vers les autres documents accessibles en ligne, etc. Ce n'est guère étonnant. Au fil des années, plus que la programmation et la promotion de Tanagra, je passe de plus en plus de temps moi-même à écrire des fascicules de cours et des tutoriels, à étudier le comportement des différents logiciels. Je constate d'ailleurs que ma page consacrée à la Programmation R fait une percée dans le top 10.

Encore Bonne Année 2012 à tous. Que chacun puisse mener à bien les projets qui leur sont les plus précieux.

Ricco.
Diaporama : Tanagra - Bilan 2011