samedi 25 mai 2013

Multithreading pour l'analyse discriminante

Le volume des données à traiter ne cesse d’augmenter dans le Data Mining. Avec le phénomène « Big Data », la gestion de la volumétrie devient un critère clé. Dans le même temps, nos machines personnelles sont de plus en plus puissantes, intégrant pour la très grande majorité d’entre eux plusieurs cœurs de calcul, si ce n’est plusieurs processeurs. Et pourtant, rares sont les logiciels généralistes qui exploitent pleinement les possibilités des machines modernes.

A l’instar d’un précédent document où nous détaillons une solution basée sur les threads pour l’induction des arbres de décision , nous proposons une nouvelle stratégie multithread pour l’analyse discriminante linéaire (prédictive) dans SIPINA 3.10. Cette méthode, très favorablement connue des statisticiens, est curieusement peu implémentée dans les logiciels d’obédience informatique. Alors que, sauf cas pathologiques que l’on sait identifier , elle présente des performances en prédiction comparables aux autres techniques linéaires sur la majorité des données, je pense notamment à la très populaire régression logistique (Saporta, 2006 – page 480 ; Hastie et al., janv. 2013 – page 128). Et, en termes de rapidité de traitements sur les grandes bases, elle est incomparablement plus rapide, plus encore lorsque nous exploitons l’architecture multi-coeur (ou multiprocesseur) des machines comme nous le constaterons durant nos expérimentations.

Pour mieux situer les améliorations induites par notre stratégie, nous comparons nos temps d’exécution avec des logiciels reconnus tels que SAS 9.3 (proc discrim), R (lda du package MASS) et Revolution R Community (une version « optimisée » de R).

Mots-clés : sipina, multithreading, thread, multithreaded data mining, multithread processing, analyse discriminante prédictive, analyse discriminante linéaire, sas, proc discrim, logiciel R, lda, package MASS
Composants :  LINEAR DISCRIMINANT ANALYSIS
Didacticiel : fr_Tanagra_Sipina_LDA_Threads.pdf
Données : multithreaded_lda.zip
Références :
Tanagra, "Multithreading pour les arbres de décision".
Tanagra, "Analyse discriminante linéaire - Comparaisons".
Wikipédia, "Analyse discriminante linéaire".