jeudi 30 octobre 2008

Classification automatique - Déploiement de modèles

Le déploiement est une étape importante du Data Mining. Dans le cas d'une typologie, il s'agit, après la construction des classes à l'aide d'un algorithme de classification automatique, d'affecter les individus supplémentaires aux groupes.

Cette phase de catégorisation vient naturellement après le processus de modélisation. La construction et l'interprétation des groupes nous permettent de dégager des caractéristiques et des comportements types. Lorsque apparaît un nouvel individu (un nouveau client pour une banque, un nouveau patient pour un centre hospitalier, etc.), le positionner par rapport aux groupes permet d'anticiper sur son attitude.

Mais le traitement des individus supplémentaires peut aussi servir à renforcer les résultats. Lorsqu'une sous population est connue pour son comportement atypique, la classer par rapport aux groupes construits sur le reste de la population renforce à la fois l'interprétation des groupes et la connaissance que l'on peut avoir des ces " niches " d'observations. On parle plus volontiers d'individus illustratifs dans ce cas.

Dans ce didacticiel, nous construisons tout d'abord les groupes à l'aide de la méthode des K-Means (méthode des centres mobiles). Puis, nous associons chaque individu supplémentaire à la classe qui lui est la plus proche au sens de la distance aux centres de classes. La méthode est viable car la technique utilisée pour classer l'individu supplémentaire est en accord avec la démarche de constitution des groupes lors de l'apprentissage. Ce n'est pas toujours bien compris. Si nous avions utilisé une classification ascendante hiérarchique avec la méthode du saut minimum, classer un nouvel individu à partir de la distance aux centres de classes n'est pas approprié. La stratégie d'affectation doit être en adéquation avec la stratégie d'agrégation.

Notre fichier est composé exclusivement de variables qualitatives. Nous devons donc passer par une phase préalable de préparation des variables (voir aussi K-Means sur variables qualitatives).

Nous utilisons Tanagra 1.4.28 et R 2.7.2 (avec le package FactoMineR pour l'analyse des correspondances multiples). Dans ce didacticiel, nos objectifs sont : (1) montrer comment réaliser ce type de tâche avec ces deux logiciels ; (2) comparer les résultats ; (3) en détaillant les commandes dans R, nous donnons une meilleure visibilité sur les calculs réalisés par Tanagra.

Mots clés : clustering, classification automatique, typologie, k-means, méthode des centres mobiles, méthode des nuées dynamiques, ACM, AFCM, analyse factorielle des correspondances multiples, interprétation des classes, tableau de contingence, déploiement de modèles, classement d’individus supplémentaires, exportation des résultats
Composants : MULTIPLE CORRESPONDENCE ANALYSIS, K-MEANS, GROUP CHARACTERIZATION, CONTINGENCY CHI-SQUARE, EXPORT DATASET
Lien : fr_Tanagra_KMeans_Deploiement.pdf
Données : banque_classif_deploiement.zip
Références :
Wikipedia (en), « K-Means algorithm ».
F. Husson, S. Lê, J. Josse, J. Mazet, « FactoMineR – A package dedicated to Factor Analysis and Data Mining with R ».

dimanche 26 octobre 2008

K-Means – Comparaison de logiciels

La méthode des K-Means (méthode des centres mobiles) est une technique de classification automatique (clustering en anglais). Elle vise à produire un regroupement de manière à ce que les individus du même groupe soient semblables, les individus dans des groupes différents soient dissemblables.

Nous l’avons déjà décrite (faire recherche sur le mot clé k-means ou voir la section classification-clustering) par ailleurs. Notre idée dans ce didacticiel est de montrer sa mise en oeuvre dans différents logiciels libres de Data Mining. Nous souhaitons utiliser la démarche suivante :

  • Importer les données ;
  • Réaliser quelques statistiques descriptives sur les variables actives ;
  • Centrer et réduire les variables ;
  • Réaliser la classification automatique via les K-Means sur les variables transformées, en décidant nous même du nombre de classes ;
  • Visualiser les données avec la nouvelle colonne représentant la classe d’appartenance des individus ;
  • Illustrer les classes à l’aide des variables actives, via des statistiques descriptives comparatives et des graphiques judicieusement choisis ;
  • Croiser la partition obtenue avec une variable catégorielle illustrative ;
  • Exporter les données, avec la colonne additionnelle, dans un fichier.

Ces étapes sont usuelles lors de la construction d’une typologie. L’intérêt de ce didacticiel est de montrer qu’elles sont pour la plupart, sous des formes parfois diverses certes, réalisables avec les logiciels libres de Data Mining. Il faut simplement trouver les bons composants et le bon enchaînement.

Nous étudierons les logiciels suivants : Tanagra 1.4.28 ; R 2.7.2 (sans package additionnel spécifique) ; Knime 1.3.5 ; Orange 1.0b2 et RapidMiner Community Edition.

Nous utilisons la méthode des centres mobiles dans ce tutoriel. Il est possible de suivre la même démarche globale en lui substituant n’importer quelle autre technique de classification automatique (la classification ascendante hiérarchique, les cartes de Kohonen, etc.).

Bien évidemment, je ne peux prétendre maîtriser complètement les différents logiciels. Il se peut que des fonctionnalités m’échappent pour certains d’entre eux. Il faut surtout voir les grandes lignes et le parallèle entre les outils, les experts pourront compléter les opérations à leur guise.

Mots clés : clustering, classification automatique, typologie, k-means, méthode des centres mobiles, méthode des nuées dynamiques, ACP, interprétation des classes
Composants : PRINCIPAL COMPONENT ANALYSIS, K-MEANS, GROUP CHARACTERIZATION, EXPORT DATASET
Lien : fr_Tanagra_et_les_autres_KMeans.pdf
Données : cars_dataset.zip
Références :
Wikipedia (en), « K-Means algorithm ».

mardi 14 octobre 2008

Traitement de gros volumes – CAH Mixte

La CAH (classification ascendante hiérarchique) est une technique de classification automatique (clustering en anglais). Elle vise à produire un regroupement des individus de manière à ce que les individus du même groupe soient semblables, des individus dans des groupes différents soient dissemblables.

Le succès de la CAH repose sur sa capacité à produire des partitions emboîtées. Au lieu de fournir une solution clé en main, irréversible, elle donne la possibilité de choisir, parmi les regroupements proposés, celui qui correspond au mieux aux contraintes de l’étude et aux objectifs de l’analyste. Cet avantage s’accompagne d’une représentation graphique, le dendrogramme. Il nous suggère, dans le continuum des solutions envisageables, celles qui semblent les plus pertinentes.

Son principal défaut est le temps de calcul. Il devient vite rédhibitoire dès que le nombre d’observations est élevé. Pour dépasser cet écueil, on procède alors à la CAH Mixte. Elle consiste à faire précéder la CAH proprement dite par une phase de pré-regroupement, en utilisant un algorithme des nuées dynamiques par exemple, la CAH prend alors comme point de départ ces pré-classes. De fait, avec cette stratégie, il devient possible de traiter de très grands fichiers tout en bénéficiant des avantages de la CAH.

Cette approche a déjà été largement abordée dans un de nos anciens didacticiels (voir CAH Mixte – Le fichier IRIS de Fisher). La méthode est par ailleurs longuement décrite dans l’ouvrage de Lebart et al. (2000). Conformément à ce qui est préconisé par les auteurs, nous réalisons la classification sur les axes factoriels de l’ACP (analyse en composantes principales). L’idée est de « lisser » les informations exploitées en évacuant les fluctuations aléatoires.

L’enjeu dans ce didacticiel est de mettre en œuvre cette stratégie sur un fichier de taille relativement considérable, avec 500.000 observations et 68 variables. Nous utiliserons Tanagra 1.4.27 et R 2.7.2. Nous nous en tenons à ces deux logiciels. En effet, il n’est pas possible d’implémenter la CAH Mixte avec les autres logiciels libres (Weka, Orange, Knime, Rapidminer). Et lancer directement la CAH standard sur un tel fichier n’est pas raisonnable.

Mots clés : clustering, classification automatique, typologie, CAH, k-means, nuées dynamiques, ACP, classification sur facteurs
Composants : PRINCIPAL COMPONENT ANALYSIS, K-MEANS, HAC, GROUP CHARACTERIZATION, EXPORT DATASET
Lien : fr_Tanagra_CAH_Mixte_Gros_Volumes.pdf
Données : sample-census.zip
Références :
L. Lebart, A. Morineau, M. Piron, « Statistique Exploratoire Multidimensionnelle », Dunod, 2000 ; chapitre 2, sections 2.3 et 2.4.

mardi 7 octobre 2008

Régression logistique - Comparaison de logiciels

La régression logistique est une technique prédictive, très populaire dans la communauté statistique. Je ne sais pas si elle est très utilisée parce que très enseignée, ou très enseignée parce que largement utilisée. En tous les cas, on ne peut pas passer à côté si on s’intéresse un tant soit peu au Scoring c.-à-d. aux configurations où l’on souhaite prédire ou expliquer les valeurs d’une variable discrète (nominale ou ordinale) à partir d’une série de descripteurs (de type quelconque).

Les raisons de cet engouement sont nombreuses. La régression logistique s’intègre dans un cadre théorique parfaitement identifié, celui de la régression linéaire généralisée. C’est une technique semi paramétrique. Son champ d’application est large. Par rapport aux techniques issues de l’apprentissage automatique, elle intègre les outils de la statistique inférentielle. Enfin, autre atout fort, la lecture des coefficients sous forme de surcroît de risque (les fameux « odds ratio ») donne aux utilisateurs un outil de choix pour comprendre l’essence de la relation entre les descripteurs et la variable à prédire.

La régression logistique est implémentée dans tous les logiciels de statistique commerciaux. Elle est plus rare en revanche dans les logiciels libres. En partie parce que la méthode est peu connue des informaticiens, ceux qui sont les plus enclins à programmer des outils. La situation change quand même un peu maintenant. Avec le label « data mining », il y a un certain brassage des cultures. On peut parler de « faire une régression » sans que certaines personnes ne s’imaginent que vous êtes en train de retomber en enfance.

Dans ce didacticiel, nous comparons la mise en œuvre de la régression logistique à l’aide de quelques logiciels libres : Tanagra 1.4.27, bien sûr, puisque je travaille dessus ; R 2.7.2 (procédure GLM), qui est incontournable dès que l’on souhaite utiliser des techniques d’obédience statistique ; Orange 1.0b2, qui l’intègre dans sa panoplie ; Weka 3.5.6, qui l’aborde exclusivement sous l’angle de l’optimisation, en faisant l’impasse sur la partie inférentielle ; et enfin, toujours Weka mais via le package RWeka 0.3-13 pour le logiciel R.

Au delà de la comparaison, ce didacticiel est aussi l’occasion de montrer la démarche à suivre pour réaliser la succession d’opérations suivantes sur ces différents logiciels : importer un fichier au format ARFF ; fractionner les données en apprentissage et test ; lancer la modélisation sur la fraction apprentissage ; évaluer les performances sur la partie test ; procéder à une sélection de variables en accord avec la régression logistique (et non pas basé sur des critères qui n’ont aucun rapport avec l’approche) ; évaluer de nouveau les performances du modèle simplifié.

Mots clés : régression logistique, scoring, apprentissage supervisé
Composants : BINARY LOGISTIC REGRESSION, SUPERVISED LEARNING, TEST, DISCRETE SELECT EXAMPLES
Lien : fr_Tanagra_Perfs_Reg_Logistique.pdf
Données : wave_2_classes_with_irrelevant_attributes.zip
Références :
Wikipédia (fr), « Régression logistique »

vendredi 3 octobre 2008

SVM - Comparaison de logiciels

Les machines à vecteurs de support (ou séparateur à vaste marge) sont des techniques d’apprentissage supervisé qui s’appuient sur deux idées fortes : (1) le principe de la maximisation de la marge ; (2) lorsque les données ne sont pas linéairement séparables, il est possible, par le principe des noyaux, de se projeter dans un espace de plus grande dimension pour trouver la solution adéquate, sans avoir à former explicitement ce nouvel espace de représentation.

Nous nous plaçons dans un cadre particulièrement favorable aux SVM dans ce didacticiel. Nous souhaitons prédire la famille d’appartenance de séquences de protéines à partir de la présence - absence de suites de 4 acides aminées (4-grams). Nous traitons un problème à 2 classes, nous disposons de 135 observations et 31809 descripteurs. Notre objectif est de comparer le comportement de quelques implémentations libres des SVM. Ce document vient en complément d’autres comparaisons que nous avons réalisés dans des contextes différents.

Ce comparatif est intéressant à plus d’un titre. Tout d’abord, nous aurons la possibilité d’évaluer les différentes implémentations des SVM, tant en temps de calcul qu’en qualité de prédiction. L’optimisation reposant sur des heuristiques, il est normal que les temps de calcul soient différents, mais il se peut également que les performances en classement qui en résultent ne soient pas identiques. Pouvoir les situer est une démarche importante. Dans les publications utilisant les SVM, on devrait non seulement dire « nous avons utilisé les SVM, avec tel noyau », mais aussi préciser « quelle implémentation des SVM », tant parfois les résultats peuvent diverger d’un logiciel à l’autre.

Autre point important. A y regarder de plus près, nous sommes également confrontés à un problème de volumétrie ici. Même si le nombre d’observations est faible, le nombre de variables, lui, est élevé. Or, les logiciels évalués chargent la totalité des données en mémoire vive. De nouveau la mémoire disponible devient un goulot d’étranglement.

Les logiciels évalués dans ce didacticiel sont : ORANGE, RAPIDMINER, TANAGRA et WEKA.

Mots clés : svm, support vector machine, séparateur à vaste marge, machine à vecteurs de support
Composants : C-SVC, SVM, SUPERVISED LEARNING, CROSS-VALIDATION
Lien : fr_Tanagra_Perfs_Comp_SVM.pdf
Données : wide_protein_classification.zipRéférences :
Ricco Rakotomalala, "Support Vector Machine - Diapos", mai 2016.
Wikipédia (en), « Support vector machine »