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.

mercredi 19 octobre 2016

Clustering : algorithme des k-médoïdes - Diapos

La méthode des k-médoïdes est une technique de classification automatique par réallocations. Sa particularité repose essentiellement sur la notion de médoïde, qui correspond au point représentatif d’un ensemble d’observations associées à un groupe. Si les classes sont relativement convexes, sa position dans l’espace de représentation est très proche du barycentre. En revanche, pour les classes non convexes, ou en présence de points atypiques, il se révèle autrement plus robuste en dépassant le caractère artificiel du barycentre.

Ce support présente les idées sous-jacentes à la méthode. L’algorithme PAM (partitioning around medoids) – qui est une des implémentations les plus connues de l’approche - est détaillé, ainsi que CLARA (clustering large applications) qui se révèle plus adapté au traitement des grandes bases de données. Le critère silhouette est mis en avant pour identifier le nombre adéquat de classes, vieux serpent de mer de la classification automatique.

Mots-clés : classification automatique, typologie, clustering, apprentissage non supervisé, classification par partition, méthodes de réallocation, médoïde, PAM, partitioning aroung medoids, CLARA, clsutering large applications, critère silhouette, graphique silhouette
Document : Classification - Algorithme des k-médoïdes
Références :
Tutoriel Tanagra, "Clustering : méthode des centres mobiles", octobre 2016.
Tutoriel Tanagra, "Clustering : caractérisation des classes", septembre 2016.
Tutoriel Tanagra, "Classification ascendante hiérarchique - Diapos", juillet 2016.
Tutoriel Tanagra, "Classification automatique sous R", octobre 2015.
Tutoriel Tanagra, "Classification automatique sous Python", mars 2016.

mercredi 12 octobre 2016

Clustering : méthode des centres mobiles - Diapos

La méthode des centres mobiles - méthode des K-Means - est une technique de classification automatique populaire, d’une part parce qu’elle est très simple, d’autre part parce que son implémentation ne nécessite pas de conserver en mémoire vive la totalité des données, permettant ainsi de traiter des très grandes bases. Même si par ailleurs l’algorithme est relativement lent car il nécessite le passage répété des observations.

Ce support décrit l’algorithme dans les grandes lignes. Nous nous intéressons ensuite aux différentes extensions telles que le traitement des variables actives qualitatives ou mixtes (qualitatives et quantitatives), la classification floue (fuzzy c-means), et la classification de variables (classification autour des variables latentes). On se rend compte à cet égard que la méthode des centres mobiles est relativement souple et s’applique à une large palette de problèmes.

Mots-clés : classification automatique, typologie, clustering, apprentissage non supervisé, inertie inter-classes, inertie intra-classes, inertie expliquée, théorème d’huygens, classification par partition, méthodes de réallocation
Document : Classification - Méthode des centres mobiles
Références :
Tutoriel Tanagra, "Clustering : caractérisation des classes", septembre 2016.
Tutoriel Tanagra, "Classification ascendante hiérarchique - Diapos", juillet 2016.
Tutoriel Tanagra, "Classification automatique sous R", octobre 2015.
Tutoriel Tanagra, "Classification automatique sous Python", mars 2016.

mercredi 28 septembre 2016

Clustering : caractérisation des classes - Diapos

L’interprétation des classes est une étape essentielle de la classification automatique. En effet, une fois les groupes constitués, il faut comprendre les mécanismes qui en sont à l’origine. Identifier les caractéristiques qui sous-tendent les différenciations entre les groupes est primordial pour s’assurer de leur crédibilité.

Dans ce support de cours, nous explorons les techniques simples univariées et multivariées. Les premières ont le mérite de la facilité de calcul et de lecture, mais ne tiennent pas compte de l’effet conjoint des variables. Les secondes sont a priori plus performantes, mais nécessitent une expertise supplémentaire pour appréhender pleinement les résultats.

Mots-clés : classification automatique, typologie, clustering, apprentissage non supervisé, inertie inter-classes, inertie intra-classes, inertie expliquée, théorème d’huygens, valeur test, distance entre centres de classes, rapport de corrélation
Document : Caractérisation des classes
Références :
Tutoriel Tanagra, "Interpréter la valeur test", avril 2008.
Tutoriel Tanagra, "Classification ascendante hiérarchique - Diapos", juillet 2016.
Tutoriel Tanagra, "Classification automatique sous R", octobre 2015.
Tutoriel Tanagra, "Classification automatique sous Python", mars 2016.

jeudi 18 août 2016

Master SISE - Remise à niveau - Clustering

Le clustering (classification automatique, typologie, apprentissage non supervisé) consiste à catégoriser des objets à partir de leurs propriétés de similarité. Ce programme de remise à niveau pour le Master SISE est consacré à la classification ascendante hiérarchique (CAH) et la méthode des centres mobiles (K-Means), techniques que l’on retrouve quasi-systématiquement dans les cours d’initiation au clustering. D’autres méthodes avancées seront étudiées en Master (méthodes adaptées aux grandes dimensions, dbscan, birch, cartes de Kohonen, etc.).

Les exercices de ce thème font la part belle à l’interprétation des résultats, en particulier la caractérisation des groupes à l’aide des variables actives et illustratives. Les outils utilisés sont Excel, Tanagra et R.

Document principal : Principes de la classification automatique
Outils : Excel, Tanagra, R (RStudio)
Exercice 1 : Classification ascendante hiérarchique, données.
Exercice 2 : Centres mobiles, données.
Exercice 3 : Étude de cas.

mardi 16 août 2016

Master SISE - Remise à niveau - Analyse prédictive

L’analyse prédictive a énormément contribué à la popularité du data mining et du machine learning. Dans ce programme de remise à niveau pour le master SISE, nous nous concentrons sur les techniques d’apprentissage supervisé où la variable cible est catégorielle. C’est un parti pris pédagogique sachant que la régression fait également partie de l’analyse prédictive mais, dans sa perception commune, elle est plutôt associée à la démarche économétrique et aux statistiques.

Dans une première approche, nous nous focaliserons sur l’analyse discriminante linéaire et les arbres de décision. Les méthodes avancées (ex. SVM, méthodes ensemblistes [random forest, boosting, gradient boosting], réseaux de neurones, etc.) sont enseignées en Master.

Nous multiplions les outils dans ce thème : nous utilisons Excel en tandem avec Tanagra et Sipina d’une part ; R (RStudio) d’autre part. Pouvoir jongler entre les outils permet de ne pas en être dépendants.

Document principal : Principes de l’apprentissage supervisé
Outils : Excel, Tanagra, Sipina, R (RStudio)
Exercice 1 : Analyse discriminante prédictive, données.
Exercice 2 : Analyse discriminante et sélection de variables, données.
Exercice 3 : Arbres de décision, données.
Exercice 4 : Arbres de décision – Frontières induites.
Exercice 5 : Comparaison de méthodes, données.

jeudi 11 août 2016

Master SISE - Remise à niveau - Inférence statistique

L’inférence statistique constitue la base même de la découverte de connaissances à partir des données. Il s’agit de délimiter jusqu’à quel point un constat ou une mesure effectuée sur un échantillon (un ensemble d’observations) peut être généralisé sur l’ensemble de la population. L’approche est d’autant plus crédible que nous pouvons associer une probabilité d’erreur aux décisions que nous prenons.

Le domaine est vaste et complexe. Il prend ses racines dans les calculs probabilistes. Nous simplifions un peu beaucoup dans ce programme de remise à niveau pour le master SISE en nous focalisant sur les aspects opérationnels de la pratique des statistiques : les estimations ponctuelles et par intervalle, les tests d’hypothèses.

Tous les calculs doivent être effectués sur machine à partir de fichiers de données réalistes, sous Excel et sous R.

Document principal : Inférence statistique
Outils : Excel + R (RStudio)
Exercice 1 : Lecture des tables statistiques.
Exercice 2 : Estimation et test, données.
Exercice 3 : Comparaison de populations, données.
Exercice 4 : Corrélation et régression, données.

vendredi 5 août 2016

Les cartes de Kohonen avec R

Ce tutoriel vient compléter le support de cours consacré aux "Cartes auto-organisatrices de Kohonen". Le premier objectif est de mettre en lumière deux aspects importants de l’approche : sa capacité à résumer l’information disponible dans un espace à deux dimensions ; son couplage avec une méthode de classification automatique permettant d’associer la représentation topologique (et la lecture que l’on peut en faire) à l’interprétation des groupes issus de la typologie. Nous utiliserons le logiciel R et le package « kohonen ».

Dans un deuxième temps, nous effectuerons une étude comparée de la qualité de la segmentation avec les K-Means, qui fait figure de référence, en procédant à une validation externe c.-à-d. en confrontant les regroupements proposés par les approches avec une classification préétablie. Cette procédure est souvent utilisée en recherche pour évaluer les performances des méthodes de clustering. Elle prend tout son sens lorsqu’on l’applique sur des données artificielles où l’on connait – parce que générée sciemment – la bonne typologie. Nous utiliserons les composants K-Means et Kohonen-Som de Tanagra.

Rendons à César ce qui lui appartient, ce tutoriel est en partie inspiré de l’article de Shane Lynn, accessible sur le site R-bloggers. Je me suis évertué à le compléter en introduisant les calculs intermédiaires permettant de mieux saisir le sens des graphiques, et en effectuant l’étude comparative.

Mots-clés : som, self organizing maps, kohonen, technique de visualisation, réduction de dimensionnalité, classification automatique, clustering, cah, classification mixte, logiciel R, package kohonen
Composants : KOHONEN-SOM, HAC, K-MEANS
Lien : Les cartes de Kohonen avec R
Fichier : waveform - som
Références :
Tutoriel Tanagra, "Les cartes auto-organisatrices de Kohonen - Diapos", Juillet 2016.
Tutoriel Tanagra, "Les cartes de Kohonen", Juillet 2008.
Lynn S., "Self-Organising Maps for Customer Segmentation using R", R-bloggers, February 2014.

jeudi 4 août 2016

Master SISE - Remise à niveau - Analyses factorielles

Les techniques d’analyses factorielles sont très populaires, notamment dans le monde francophone. D’une part, parce que l’école d’analyse factorielle française a été, et est toujours, particulièrement prolifique, nous délivrant des ouvrages exceptionnels donnant tout le sel à ces techniques ; d’autre part, parce que les méthodes sont intrinsèquement performantes, nous offrant des possibilités multiples d’inspection des données.

Ce programme de remise à niveau pour le Master SISE concerne l’analyse en composantes principales (ACP), l’analyse des correspondances multiples (ACM) et l’analyse factorielle des correspondances (AFC). A chaque thème est associé deux séries d’exercices : la première se présente comme un guide permettant d’assimiler les principaux repères d’une analyse ; la seconde est une étude de cas où l’étudiant doit architecturer lui-même sa démarche, en fonction des objectifs de l’étude et des caractéristiques des données.

Les supports de qualité pouvant servir de référence sont très nombreux sur internet. J’ai fait une petite sélection dans le document principal. Il est très facile d’enrichir son apprentissage en faisant quelques recherches sur Google. Le tout est de ne pas se perdre.

Document principal : Analyses factorielles
Voir aussi : Pages ACP et AFC/ACM de ce site des tutoriels
Outils : R + RStudio (conseillé, non obligatoire)
Exercice 1 : Apprentissage ACP, données (Autos 2005).
Exercice 2 : Etude de cas ACP (Crime).
Exercice 3 : Apprentissage ACM, données (Races canines).
Exercice 4 : Etude de cas ACM (Cars preference).
Exercice 5 : Apprentissage AFC, données (Médias professions).
Exercice 6 : Etude de cas AFC (Régionales 2004).

dimanche 31 juillet 2016

Les cartes auto-organisatrices de Kohonen - Diapos

Les cartes de Kohonen (en anglais, SOM : self organizing maps) sont des réseaux de neurones orientés à deux couches : l’entrée correspond à la description des données, la sortie est organisée sous forme de grille (le plus souvent) et symbolise une organisation des données. Les cartes servent à la fois pour la réduction de dimensionnalité (d’un espace à p dimensions, nous nous projetons dans un espace 2D), pour la visualisation (les proximités sur la grille correspondent à une proximité dans l’espace initial), et la classification automatique (on peut procéder à des regroupements des neurones de la couche de sortie).

Ce support de cours décrit dans les grandes lignes les mécanismes sous-jacents aux cartes de Kohonen. L’accent est mis sur la visualisation qui est un de ses atouts forts.  La mise en œuvre sous R (package kohonen) et Tanagra (KOHONEN-SOM) est également présentée. J’ai déjà écrit un tutoriel sur le sujet il y a fort longtemps (2008), un autre viendra incessamment où j’essaierai de mettre l’accent sur la visualisation et la robustesse de la méthode.

Mots-clés : som, self organizing maps, kohonen, technique de visualisation, réduction de dimensionnalité, classification automatique, clustering, cah, classification mixte, logiciel R, package kohonen
Composants : KOHONEN-SOM
Document : Kohonen SOM - Diapos
Références :
Tutoriel Tanagra, "Les cartes de Kohonen", Juillet 2008.
Tutoriel Tanagra, "Les cartes de Kohonen avec R", Août 2016.

jeudi 28 juillet 2016

Master SISE - Remise à niveau - Introduction à R

R est multiple : il représente un langage de programmation doté des attributs principaux d’un langage (type de données, structures algorithmiques, organisation des programmes en fonctions et modules) ; il correspond à un logiciel de statistique et de data mining, doté d’une bibliothèque de fonctions extensibles à l’infini grâce au système des packages, particulièrement ingénieux je trouve, qui contribue largement à son succès ; il propose enfin des outils performants de management des données.

Mon cours en Master se focalise sur le premier aspect. Le second viendra au fur et à mesure de l’étude des techniques de data mining et machine learning. Ce programme de remise à niveau pour le Master SISE est donc principalement consacré au troisième thème, celui de la manipulation des données, de l’exploration des opérations de calculs intermédiaires (transformation de variables, recodage, statistiques récapitulatives, etc.), et des représentations graphiques.

Document principal : Introduction au logiciel R
Outils : R + RStudio (conseillé, non obligatoire)
Exercice 1 : Manipulation des data frame, données.
Exercice 2 : Calculs statistiques sur vecteurs, données.
Exercice 3 : Corrélation et régression avec R, données.