jeudi 16 mars 2017

Détection de communautés - Diapos

La détection de communautés a pour objectif de mettre en évidence des groupes d’individus qui se forment implicitement dans les réseaux sociaux. Les individus à l’intérieur d’une communauté interagissent plus fortement – et donc tissent des liens plus affirmés – entre eux qu’avec les autres. Le thème a connu un regain d’intérêt spectaculaire ces dernières années avec la multiplication des médias sociaux. Les finalités sont multiples : identifier les profils types, ajuster les recommandations, réaliser des actions ciblées, réorganiser une structure, etc.

Ce support de cours décrit les tenants et aboutissants de la détection de communautés. Plusieurs algorithmes simples sont décrits. Les approches décrites s’appuient sur la représentation en graphes des réseaux sociaux.

Mots clés : web mining, communautés, réseaux sociaux, médias sociaux, algorithmes divisifs, algorithmes agglomératifs, multidimensional scaling, matrice d'adjacence
Document : Détection de communautés dans les réseaux sociaux
Références :
Tang L., Liu H., « Community detection and mining in social media », Morgan and Claypool Publishers, 2010 (http://dmml.asu.edu/cdm/).

samedi 4 mars 2017

Analyse de tweets sous R

Twitter est devenu un instrument incontournable de communication pour tous les acteurs sociaux. Les hommes politiques, les sportifs, les dirigeants d'entreprises l'utilisent pour donner la primeur de leur actualité, leurs décisions, leurs actions à venir. Il constitue également une plate-forme d'échange qui permet à tout un chacun d'exprimer son opinion en réaction à une annonce ou à un évènement. Des informations, parfois très importantes, transitent ainsi dans tous les sens, tous les jours, sans que nous saisissions toute la portée de ce déluge de textes qui, parfois, semblent peu cohérents.

Dans ce tutoriel, nous montrons comment accéder à des messages liés à un thème choisi sur Twitter. Nous initierons une étude relativement basique des propriétés des tweets dans un premier temps. Nous enchaînerons ensuite sur l'exploitation du contenu des messages. Nous travaillerons sous R en nous appuyant sur le package "twitteR" de Jeff Gentry qui se révèle particulièrement pratique (Package ‘twitteR’).

Mots clés : text mining, fouille de textes, corpus, bag of words, sac de mots, twitter, package twitteR, logiciel R, package tm
Document : Analyse de tweets sous R
Données : Collection de tweets
Références :
Wikipédia, "Twitter".
Jeff Gentry, "Package 'twitteR'".

mardi 21 février 2017

Python : Manipulations des données avec Pandas

La manipulation des données est la base de l’activité du data scientist. Si on ne sait pas charger un fichier, exécuter des restrictions et des projections, réaliser des transformations, croiser les variables, représenter les données à l’aide de graphiques simples, la suite des opérations se révèlera très difficile. Quel que soit notre niveau de connaissances sur les techniques de machine learning, nous serions un peu comme une poule qui a trouvé un couteau : nous savons ce qu’il faut faire, mais nous ne savons pas comment faire. C’est ballot comme dirait toto.

Ainsi, dans tous mes enseignements de statistique et de data mining face à un public non statisticien ou data miner (peu au fait des logiciels de data mining), je consacre systématiquement au moins un TD (travaux dirigés) à des exercices de manipulation de données : charger un fichier, réaliser des filtrages, des tris, des recherches, etc. Mes outils privilégiés jusqu’à présent étaient Excel et R. Face à la demande croissante des étudiants, j’ai décidé d’écrire un support décrivant les manipulations basiques des ensembles de données (dataset) sous Python. C’est aussi et surtout l’occasion de faire découvrir la magnifique librairie Pandas, puissante et foisonnante. Un peu trop peut-être. J’ai passé un temps monumental à l’explorer dans tous les sens. Je ne suis pourtant pas sûr d’en avoir mesuré toutes les subtilités à ce jour. Je peux comprendre qu’un néophyte se décourage rapidement face à la documentation en ligne qui est particulièrement touffue. C’est la raison pour laquelle j’ai écrit un support assez basique, schématisant les opérations les plus fréquemment réalisées, au moins pour une première mise en bouche.

Enfin, ce support a été l’occasion d’écrire un document à l’aide du notebook Jupyter. Je le connaissais depuis longtemps. Je n’ai pas été convaincu par le rendu jusqu’à présent. Mais le fait est que j’écrirai de plus en plus de tutoriels pour Python à l’avenir. Je dois explorer cette piste qui me permettrait de réduire le temps de rédaction, exploitable pour R aussi d’ailleurs. Il faut simplement que j’aie une plus grande maîtrise de l’organisation et de la mise en forme du PDF final.

Mots clés : pandas, python, manipulation des données, filtres, tableaux croisés, DataFrame, data.frame, Series, graphiques, matplotlib
Document : Manipulation des données avec Pandas
Données : Données et notebook Jupyter
Références :
Python Data Analysis Library, pandas.
Tutoriel Tanagra, "Manipulation des données avec R", août 2012.

jeudi 2 février 2017

Filtrage collaboratif et recommandations - Diapos

Le filtrage collaboratif regroupe l’ensemble des méthodes qui visent à construire des systèmes de recommandation utilisant les opinions, les évaluations et le comportement d’un groupe d’individus (Wikipédia). La vente en ligne – entres autres, on peut penser aussi aux suggestions sur les plateformes de partage de vidéos, etc. – rend ces systèmes indispensables. Nous ne disposons plus d’un vendeur qui va essayer de comprendre nos attentes pour nous aiguiller vers les bons achats (bien que l’on voie maintenant apparaître des guides qui essaient de nous prendre en main sur les sites). Et, d’un autre côté, un expert ne peut pas édicter tous les règles de gestion qui permettrait d’avancer des propositions efficaces sur un site. S’appuyer sur l’expérience commune se révèle être une stratégie féconde.

Dans ce support, nous dessinons les tenants et aboutissants du domaine. Nous explicitons la démarche en détaillant concrètement deux approches, l’une centrée utilisateur (ex. client), l’autre centrée item (ex. produit). Nous constatons que des méthodes relativement simples permettent de répondre à un cahier des charges exigeant.

Mots clés : web mining, collaborative filtering, recommendation system, système de recommandation
Document : Filtrage collaboratif et système de recommandation
Références :
Ekstrand M.D., Riedl J.T., Konstan J.A., « Collaborative Filtering Recommender Systems », in Foundations and Trends in Human-Computer Interaction, vol. 4, n°2, p. 81-173, 2011.

mardi 24 janvier 2017

Les expression régulières sous R

La manipulation de documents textuels en text mining implique de nombreuses opérations de recherche, de remplacement, de nettoyage, de découpage… Il s’agit donc de pouvoir effectuer des requêtes sur du contenu qui n’est pas structuré comme le serait une base de données.

Les expressions régulières constituent un outil privilégié dans ce contexte. Elles correspondent à des modèles (motifs) qui permettent de décrire des ensembles de chaînes de caractères. Les outils tels que grep() ou gsub() de R par exemple savent les mettre à profit pour effectuer des recherches ou des rechercher / remplacer dans les documents. Le dispositif peut s’appliquer au traitement de textes bruts totalement non structurés ; il peut faire merveille également dans l’exploitation des documents semi-structurés tels que les fichiers logs.

Dans ce support de cours, je décris succinctement les idées sous-jacentes aux expressions régulières et les principaux éléments de syntaxe. Un exemple réaliste de recherche dans des SMS possiblement délictueux permet d’appréhender pleinement leur intérêt.

Mots clés : text mining, fouille de textes, expressions régulières, grep, gsub, posix étendu, perl, analyse des fichiers logs
Document : Expressions régulières sous R
Fichiers : Données et programme R
Références :
Zyntrax-Info, "Regular Expressions – User Guide".
Jwang, "Utilisation des expressions régulières sous R".

mercredi 18 janvier 2017

Fouille d'opinions et analyse des sentiments - Diapos

Savoir ce que pensent les "gens" (électeurs, clients, concurrents, etc.) est fondamental pour les décideurs (partis politiques, entreprise, etc.). Le web 2.0 (on parle aussi de médias sociaux ou de réseaux sociaux numériques) est un terrain privilégié pour recueillir à moindre coût l’opinion et le sentiment de tout un chacun, par rapport à une décision ou un projet politique, par rapport à un produit, etc.

Dans ce support de cours, nous décrivons les enjeux et les méthodes de la fouille d’opinions (opinion mining) et, de sa déclinaison la plus usuelle, l’analyse des sentiments (sentiment analysis). Nous sommes bien dans le domaine du text mining puisque nous travaillons à partir de données textuelles. Mais les spécificités du web peuvent amener des points de vue et des outils qui permettent d’enrichir l’analyse. Nous nous attarderons notamment sur la plateforme de microblogage Twitter, support de communication particulièrement populaire aujourd’hui.

Mots clés : text mining, fouille de textes, web mining, opinion mining, sentiment analysis, analyse des tweets
Document : Opinion mining et sentiment analysis
Références :
Aggarwal C., Zhai C., "Mining Text Data", Springer, 2012.
Russell M.A., "Mining the Social Web – Data Mining Facebook, Twitter, Linkedin, Google+, Github, and more", O’Reilly, 2013.

jeudi 5 janvier 2017

Bonne année 2017 - Bilan 2016

L’année 2016 s’achève, 2017 commence. Je vous souhaite à tous une belle et heureuse année 2017.

Un petit bilan chiffré concernant l'activité organisée autour du projet Tanagra pour l'année écoulée. L'ensemble des sites (logiciel, support de cours, ouvrages, tutoriels) a été visité 264.045 fois en 2016, soit 721 visites par jour.

Depuis la mise en place du compteur Google Analytics (01 février 2008), le groupe de sites a été visité 2.111.078 fois, soit 649 visites par jour.

Par rapport à l’année dernière (2015), les visiteurs viennent toujours en majorité de la France (50%), du Maghreb (16%) et de l’Afrique francophone. Les pages de supports de cours ont toujours autant de succès. La page dédiée à la Programmation Statistique sous Python monte en puissance avec 31 visites par jour, mais reste loin de la Programmation R (141 sessions journalières) ou du Data Mining (126). Il reste une marge de progression.

36 posts de supports de cours et tutoriels en français ont été réalisés cette année, 10 en anglais (hum… il y a du boulot…). Le programme de remise à niveau pour l’accession au Master SISE a été mon principal projet cet été.

En cette nouvelle année, je souhaite le meilleur à tous les passionnés de Data Science, de Statistique et d’Informatique.

Ricco.
Diaporama : Tanagra - Bilan 2016

samedi 31 décembre 2016

Text mining : catégorisation de SMS sous Python


L’objectif de la catégorisation de textes est d’associer aussi précisément que possible des documents à des classes prédéfinies. Nous nous situons dans le cadre de l’apprentissage supervisé, avec une variable cible catégorielle, souvent binaire. La particularité réside dans la nature de la variable prédictive qui est un document textuel. Mettre en œuvre directement les techniques prédictives n’est pas possible, il faut passer obligatoirement par une phase de préparation des données.

La représentation par sac de mots (bag of words) est souvent privilégiée pour ramener la description du corpus de textes en tableau individus (documents) – variables (termes) : on parle de matrice documents termes. Elle est accolée à la variable cible pour former l’ensemble de données. L’affaire est censée être réglée à ce stade puisque nous retrouvons la conformation habituelle des données propice à l’analyse prédictive. Elle ne fait que commencer en réalité car la matrice a pour singularité d’avoir une dimensionnalité élevée (plusieurs milliers de descripteurs) et d’être creuse (beaucoup de valeurs sont nulles). Certaines techniques de machine learning sont plus adaptées que d’autres. La réduction de la dimensionnalité notamment revêt une importance considérable, d’une part pour améliorer les performances, d’autre part pour rendre interprétables les résultats car, au final, au-delà de la prédiction pure, il s’agit aussi de comprendre la nature de la relation entre les documents et les classes.

Dans ce tutoriel, nous décrirons le processus de catégorisation de textes sous Python en exploitant essentiellement les capacités de text mining du package scikit-learn, lequel fournira également les méthodes de data mining (régression logistique). Nous traiterons des SMS à classer en messages « spam » (courrier indésirable, délictueux) ou « ham » (légitime). Le corpus provient de la « SMS Spam Collection v.1 » (Almeida et al., 2011).

Mots clés : text mining, fouille de textes, corpus, bag of words, sac de mots, f1-score, rappel, précision, sélection de variables, logistic regression, scikit learn, python
Document : Identification des spams dans les SMS
Données : Données et programme Python
Références :
Almeida, T.A., Gómez Hidalgo, J.M., Yamakami, « A. Contributions to the Study of SMS Spam Filtering: New Collection and Results », in Proceedings of the 2011 ACM Symposium on Document Engineering (DOCENG'11), Mountain View, CA, USA, 2011.

vendredi 23 décembre 2016

Excel avancé - Cours et exercices corrigés

J’ai dû arrêter mon cours d’Excel avancé (outils d'analyse et programmation VBA - Visual Basic pour Applications) cette année. Avec un petit pincement au cœur quand même. C’était un de mes derniers enseignements devant un public non informaticien. Il me fallait développer des trésors d’ingéniosité et de patience pour persuader les étudiants que c’était intéressant pour eux (au cas où ils en douteraient) et qu’ils étaient capables de le faire (ils en doutaient vraiment beaucoup, surtout durant les premières séances). C’était d’ailleurs le dernier enseignement que je faisais de tête en m’astreignant à écrire les principales notions au tableau pour éviter d’aller trop vite (tout le monde connaît mon débit de parole cataclysmique, sans compter mon incapacité à faire cours sans pousser des beuglements avec conviction [tout le bâtiment profitait de mes séances] tant je suis submergé par ce que je fais...).

Maintenant que j’arrête le cours, je sens que je vais tout oublier. J’ai donc décidé de rédiger proprement au moins la partie VBA, et de mettre de l’ordre dans mes TD en explicitant les exercices. Je les mets en ligne avec leurs corrigés pour que tout le monde puisse en profiter.

Il faut connaître un peu Excel avant de pouvoir tirer profit de ces exercices. Le TD n°1 vous permettra de vous situer par rapport au niveau attendu pour la suite des séances.

Exercices corrigés - Excel avancé et Programmation VBA
ThèmeSujetCorrigé
TD n°1. Construction d’une feuille de calcul. Références absolues et relatives. Elaboration de graphiques.
TD n°2. Introduction à la programmation VBA. Branchements conditionnels. Ecriture et utilisation des fonctions personnalisées.
TD n°3. Simulations et scénarios. Table de simulation à 1 et 2 entrées. Gestionnaire de scénarios. Programmation VBA des fonctions personnalisées avec branchement conditionnels et branchements multiples.
TD n°4. Les boucles en programmation VBA. Exploitation du type Range (plage de cellules) dans les fonctions personnalisées.
TD n°5. Résolution des problèmes et optimisation. Valeur cible et solveur.
TD n°6. Programmation VBA des fonctions personnalisées. Les boucles while et for each. Le type Variant.
TD n°7. Programmation des macros VBA. Exploitation directe des classeurs et feuilles. Programmation des simulations.
TD n°8. Programmation des macros VBA sur les sélections. Sélection simples (une seule zone) et multiple (plusieurs zones).

Références :
Rakotomalala R., "Excel - Programmation VBA", Dec. 2016.
Rakotomalala R., "Page de cours - Excel avancé".

dimanche 11 décembre 2016

Text mining : topic model - Diapos

Le « topic modeling » est un processus de réduction de la dimensionnalité en fouille de textes. Il cherche à mettre en exergue les « topics » (thèmes) sous-jacents aux documents d’un corpus.

D’une part, les topics s’expriment dans l’espace des termes, ce qui permet de les interpréter. D’autre part, ils définissent un nouvel espace permettant de décrire les documents. Ce qui permet de mieux comprendre leur nature et les informations qu’ils (les documents) véhiculent. Les algorithmes de machine learning (supervisé ou non-supervisé) peuvent tirer parti du nouveau système de représentation, plus compact, pour réaliser des analyses plus pertinentes.

Ce support décrit deux approches particulièrement populaires dans le domaine : (1) l’approche LSI, latent semantic indexing (ou LSA – latent semantic analysis) ; (2) la LDA, latent dirichlet allocation. Nous mettrons surtout l’accent sur les idées qui les guident et la lecture des résultats.

Mais nous aborderons également une approche basée sur l’analyse factorielle des correspondances (AFC), très peu citée dans la documentation en langue anglaise. Pourtant, comme la LSI, elle s’appuie sur un mécanisme de décomposition en valeur singulière (SVD – singular value decomposition), sauf qu’elle exploite en entrée une matrice de documents termes présentant les informations sous un angle différent.

Mots clés : text mining, fouille de textes, corpus, bag of words, sac de mots, lsi, latent semantic indexing, lsa, latent semantic analysis, afc, analyse factorielle des correspondances, lda, latent dirichlet analysis, svd, singular value decomposition
Document : Topic model
Références :
Aggarwal C., Zhai C., "Mining Text Data", Springer, 2012.
Grossman D., Frieder O., "Information retrieval - Algorithms and heuristics",  Second Edition, Springer, 2004.

lundi 28 novembre 2016

Text mining : la catégorisation de textes - Diapos

Ce troisième volet consacré à la fouille de textes concerne la catégorisation de documents (document classification en anglais).

L’affaire semble simple une fois la matrice documents termes constituée. Nous disposons d’un tableau individus variables avec comme colonne supplémentaire la classe d’appartenance de chaque document. Il s’agit d’un problème très classique d’analyse prédictive. C’est pourtant à ce stade que le vrai travail commence. En effet, nous devons faire face à quelques spécificités : nous cherchons souvent à avant tout identifier une classe contre les autres, la matrice de données est creuse et de forte dimensionnalité. Ces éléments nous amènent à approfondir plusieurs aspects particuliers de l’apprentissage supervisé.

Dans ce support, nous nous attardons sur la mesure d’évaluation des performances avec la F-Mesure (f-measure, f-score) qui permet d’arbitrer entre le rappel et la précision. Nous parlerons également des techniques supervisées rapides et agressives de sélection de variables visant à réduire la dimensionnalité. Enfin, nous étudierons plusieurs techniques prédictives populaires dans la catégorisation de textes car apportent des réponses adaptées aux singularités du domaine.

Mots clés : text mining, fouille de textes, corpus, bag of words, sac de mots, f-mesure, f-measure, rappel, précision, courbe précision rappel, micro average, macro average, sélection de variables, méthode filtre, k-ppv, k plus proches voisins, k-nn, nearest neighbor, bayésien naïf, naive bayes, modèle d'indépendance conditionnelle, méthode rocchio
Document : Catégorisation de textes
Références :
Weiss S., Indurkhya N., Zhang T., Damerau F., « Text Mining – Predictive methods for analyzing unstructured information », Springer, 2005.
Aggarwal C., Zhai C., « Mining Text Data », Springer, 2012.

samedi 19 novembre 2016

Text mining : la matrice documents termes - Diapos

Ce second volet consacré au text mining aborde la construction de la matrice documents termes. Elle est centrale dans le processus de fouille de texte. L’efficacité des techniques data mining subséquentes dépend essentiellement de sa qualité, de sa capacité à reproduire l’information pertinente contenue dans les documents textuels.

Plusieurs volets sont détaillés : l’extraction des termes, la réduction de la dimensionnalité, la question de la pondération, et enfin les mesures de similarité et de distances adaptées aux spécificités du domaine.

Des traitements exemples sur un corpus jouet et sur les données « acq » de Reuters (disponibles avec le package ‘tm’ pour le logiciel R) permettent d’illustrer le propos.

Mots clés : text mining, fouille de textes, corpus, mots vides, stop words, lemmatisation, lemmatization, racinisation, stemming, term frequency, TF, inverse document frequency, IDF, TF-IDF, distance euclidienne, indice de jaccard, similarité cosinus, n-grams, n-grammes, shingles
Document : Matrice documents termes
Références :
Weiss S., Indurkhya N., Zhang T., Damerau F., « Text Mining – Predictive methods for analyzing unstructured information », Springer, 2005.
Aggarwal C., Zhai C., « Mining Text Data », Springer, 2012.

lundi 14 novembre 2016

Introduction au text mining - Diapos

J’entame cette semaine mon nouveau cours de Text Mining en Master SISE. Je l’assurai avec un binôme depuis plusieurs années déjà. Cette année j’ai décidé de le prendre en main seul afin de le coupler avec le cours de web mining et d’analyse des réseaux sociaux qui aura lieu au second semestre.

Ce premier support introductif essaie de cerner la fouille de textes (text mining) en le cadrant par rapport à la démarche générique du data mining. Les principales applications sont détaillées. Une première approche avec la représentation des corpus (collection de documents) à l’aide des sacs de mots (bag of words) est initiée. Ce thème sera largement approfondi dans un second support qui sera en ligne tantôt.

Mots-clés : text mining, fouille de textes, recherche d'information, catégorisation de textes, information retrieval, document classification, clustering de textes, bag of words, sac de mots
Document : Introduction au text mining
Références :
Weiss S., Indurkhya N., Zhang T., Damerau F., « Text Mining – Predictive methods for analyzing unstructured information », Springer, 2005.
Feldman R., Sanger J., « The text mining handbook – Advanced approcahes in analyzing unstructuerd data », Cambridge University Press, 2008.
Aggarwal C., Zhai C., « Mining Text Data », Springer, 2012.

lundi 31 octobre 2016

Etude des logiciels de data science

Le logiciel est une composante clé de l’activité du data scientist. S’extasier sur la formule mathématique de la marge dans les SVM est une chose, savoir mettre en œuvre la méthode à bon escient sur une étude réelle avec des vraies données en est une autre. Et cela passe forcément par les outils.

Dans le cadre de mes enseignements en Master SISE, j’ai demandé aux étudiants d’effectuer une étude exploratoire de plusieurs logiciels de data science. J’ai imposé la liste des logiciels à analyser de manière à ce que les étudiants puissent faire preuve d’adaptabilité. Mon objectif était leur faire découvrir des outils d’horizons et avec des modes opératoires différents. Ils disposaient de trois semaines, sachant qu’ils avaient des cours en parallèle, pour : prendre en main l’outil, en évaluer les contours, l’installer dans notre salle informatique, monter des études de cas (on parle de « lab » de nos jours) sous forme de travaux dirigés qu’ils devaient assurer auprès de leurs collègues, élaborer un corrigé sous forme de tutoriel animé à publier sur un site de partage de vidéo.

Les étudiants ont si bien travaillé que je me suis dit qu’il était intéressant de partager leur production avec vous. Sont recensés dans le tableau suivant : la présentation succincte de l’outil, la fiche du lab, les données associées, le corrigé accessible sur Youtube. Les logiciels ont pour point commun d’être libres ou de proposer une version d’essai gratuite suffisamment opérationnelle. D’autres outils existent bien sûr, ils seront vraisemblablement étudiés dans le futur. Et R, Python et Knime ont été laissés sciemment de côté parce qu’ils font l’objet de cours et TD par ailleurs dans le master.

Enfin, tout est perfectible bien sûr. Il s’agit là d’un certain point de vue sur les outils étudiés. Prétendre à l’exhaustivité est impossible, surtout avec des contraintes de temps fortes (préparation, présentation, durée des labs). Les présentations et les exercices constituent avant tout des points d’entrées qui nous permettent de nous initier à l’utilisation de ces logiciels. C’était l’objectif premier du projet.

Étude des logiciels de Data Science
LogicielPrésentationExercicesDonnéesTutoriel
Azure Machine Learning
RapidMiner
Weka
Orange
Rattle
Dataiku DSS

Références :
Piatetsky G., « Gartner 2016 Magic Quadrant for Advanced Analytics Platforms: gainers and losers », KDnuggets, Feb. 2016.

dimanche 23 octobre 2016

Clustering : la méthode TwoStep Cluster

Au gré de mes pérégrinations sur le web, mon attention a été attirée par l’algorithme de classification automatique (clustering, apprentissage non supervisé) TwoStep Cluster décrit sur le site de SPSS. Il présente des caractéristiques très intéressantes de prime abord : il sait traiter les variables actives quantitatives et qualitatives, il peut appréhender des très grandes bases de données avec des temps de traitements ébouriffants, il sait détecter automatiquement le nombre adéquat de classes. La méthode répond à bien des préoccupations pratiques des data scientist dans ce type de démarche. Pourtant, très étrangement, elle est peu connue, et il n’existe pas de package pour R ou pour Python qui ait essayé de l’implémenter.

En y regardant de plus près, je me suis rendu compte qu’il s’agissait d’une approche mixte (ou approche combinée) (Lebart et al., 1995 ; section 2.3) popularisée par le logiciel SPAD. Dans une première étape, des pre-clusters sont construits à l'aide d'un algorithme de partitionnement rapide. Dans une deuxième étape, ces pre-clusters sont fusionnés itérativement à l'aide d'un algorithme hiérarchique.

En réalité, la vraie originalité de la solution SPSS réside dans la stratégie de détection des classes dans la structure hiérarchique. Ce tutoriel s’attachera surtout dans un premier temps à décrypter le mécanisme d’identification du nombre "optimal" de classes. Dans un second temps, nous comparerons sur une base de taille relativement importante l’efficacité (identification du bon nombre de classes) et les temps de calcul de l’algorithme par rapport à des implémentations classiques de l’approche mixte combinant méthode des centres mobiles et classification ascendante hiérarchique, sous SPAD, Tanagra et R.

Mots clés : clustering, classification automatique, typologie, apprentissage non-supervisé, CAH, k-means, birch, ACP, classification sur facteurs, logiciel R, kmeans, hclust, bic, aic
Composants : K-MEANS, HAC
Document : TwoStep Cluster
Données : Données et programme R
Références :
IBM SPSS, "TwoStep Cluster Analysis", version 21.0.0.
Tutoriel Tanagra, "Traitement des gros volumes - CAH Mixte", octobre 2008.
L. Lebart, A. Morineau, M. Piron, « Statistique Exploratoire Multidimensionnelle », Dunod, 1995.