1.06k likes | 1.38k Views
Fouille de données (Data Mining) Partie V – Fouille de données complexes. Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012. Plan Général du Cours. Introduction Principales techniques Motifs fréquents Associations Classification et prédiction
E N D
Fouille de données (Data Mining)Partie V – Fouille de données complexes Karine Zeitouni ISTY - 3ème année Université de Versailles Saint-Quentin Edition 2011-2012
Plan Général du Cours • Introduction • Principales techniques • Motifs fréquents • Associations • Classification et prédiction • Groupage et segmentation • Préparation des données • Filtrage et validation • Méthodologie et Standards • Fouille de données complexes • Motifs séquentiels • Fouille de texte • Fouille de données spatiales et spatiotemporelles • Etude de cas Fouille de données complexes
Les séquences temporelles • Les patterns séquentiels • séquence d ’items ordonnés (pas ensemble) • similaire aux règles associatives mais l'ordre importe • exemple : • achat de chaussures, puis pantalon, puis chemise • consultation de pages web (pageA, pageC, pageF) • Les règles cycliques • règles vérifiées périodiquement • ex : tout les matins, café => sucre, gâteaux • X=>Y cycle (l,o) signifie que X=>Y tous les l unités de temps en commençant au temps o. Fouille de données complexes
Exemple : Le Web Usage Mining • Le Weblog contient des données sur la dynamiquedu Web • Son analyse permet de cibler les utilisateurs (clients, marchés) potentiels • La recherche de régularités (séquences fréquentes de pages visitées) permet : • D’ajuster la conception des pages et des liens et d’améliorer les performancesdes sites • Les associations de pages côté client permet d’optimiser le cache du navigateur, d’effectuer du « prefetching » Fouille de données complexes
Principaux algorithmes • introduction du concept initial et algorithme Apriori-like • Agrawal & Srikant. “Mining sequential patterns,” ICDE’95 • GSP - Generalized Sequential Patterns : • (Srikant & Agrawal, EDBT’96) • Pattern-growth : FreeSpan & PrefixSpan : • (Han et al., KDD’00; Pei, et al., ICDE’01) • Basé bitmap : SPADE • (Zaki, Machine Leanining’00) • Introduction des contraintes : SPIRIT • (Garofalakis, Rastogi, Shim, VLDB’99); (Pei et al.,CIKM’02) • … Fouille de données complexes
Ex : Le panier de la ménagère • But : mettre en évidence un ordre fréquent dans l’historique de l’achat. Ex : Ordinateur puis webcam La séquence : < (ef) (ab) (df) c b > Base de séquences La séquence est composée d’ensembles d’articles. Ordre important pour les séquences mais pas dans les ensembles <a(bc)dc> est sous-séquence de <a(abc)(ac)d(cf)> Avec un seuil de support min_sup =2, <(ab)c> est un motif séquentiel fréquent Fouille de données complexes
Sous-séquences fréquentes (1) • Algorithme GSP [Skirant 95]: • Extension d’Apriori • Génération de candidats modifiée • Inconvénient : plusieurs parcours de la base => coût élevé abbc abcb bbcb cbbc cbcb bbb bbc cbb cbc abb abc aa ab ac ba bb bc ca cb cc a b c Fouille de données complexes
Sous-séquences fréquentes (2) • Algorithme PrefixSpan [Pei 2001]: • Inspiré de FP-tree et FP-growth de J. Han • Code les données dans une structure d’arbre • Plus performant que GSP si la structure tient en mémoire • Point faible : compacité moyenne => peut dépasser la taille de la mémoire Fouille de données complexes
PrefixSpan Prefix and Suffix (Projection) • <a>, <aa>, <a(ab)> and <a(abc)> are prefixes of sequence <a(abc)(ac)d(cf)> • Given sequence <a(abc)(ac)d(cf)> Fouille de données complexes
PrefixSpan Mining Sequential Patterns by Prefix Projections • Step 1: find length-1 sequential patterns • <a>, <b>, <c>, <d>, <e>, <f> • Step 2: divide search space. The complete set of seq. pat. can be partitioned into 6 subsets: • The ones having prefix <a>; • The ones having prefix <b>; • … • The ones having prefix <f> Fouille de données complexes
PrefixSpan Finding Seq. Patterns with Prefix <a> • Only need to consider projections w.r.t. <a> • <a>-projected database: <(abc)(ac)d(cf)>, <(_d)c(bc)(ae)>, <(_b)(df)cb>, <(_f)cbc> • Find all the length-2 seq. pat. Having prefix <a>: <aa>, <ab>, <(ab)>, <ac>, <ad>, <af> • Further partition into 6 subsets • Having prefix <aa>; • … • Having prefix <af> Fouille de données complexes
Completeness of PrefixSpan SDB Length-1 sequential patterns <a>, <b>, <c>, <d>, <e>, <f> Having prefix <c>, …, <f> Having prefix <a> Having prefix <b> <a>-projected database <(abc)(ac)d(cf)> <(_d)c(bc)(ae)> <(_b)(df)cb> <(_f)cbc> <b>-projected database … Length-2 sequential patterns <aa>, <ab>, <(ab)>, <ac>, <ad>, <af> … … Having prefix <aa> Having prefix <af> … <aa>-proj. db <af>-proj. db Fouille de données complexes
PrefixSpanPerformance on Data Set C10T8S8I8 Fouille de données complexes
R M M T E S 0 1 1 0 1 1 1 0 1 1 1 0 1 1 0 0 1 1 1 0 1 1 0 1 1 0 2 0 Algorithme Indexed Bit Map (IBM)[Savary –PKDD 2005] M = Maison T = Travail E = École S = Supermarché R = Restaurant VS INDEX IBM 2 1 ID Séquences Ai 0 … < M; T; M > 1 Ø … < M; T; E; M > 2 Ø … 3 < M; T; M > NB … 4 < M; E; S; M > 5 < M; R; M > … Structure de données en mémoire Fouille de données complexes
Data Structure based on 4 components: (i) a Bit Map: represents the distinct sequences of the DB (ii) an SV vector: encodes all the ordered combinations of sequences (iii) an index (INDEX) on the Bit Map: allows a direct access to sequences according to their size (iv) an NB table associated to the Bit Map which informs about the frequency of each distinct sequence Algorithme Indexed Bit Map (IBM)[Savary –PKDD 2005] Fouille de données complexes
Algorithme Indexed Bit Map (IBM)[Savary –PKDD 2005] IBM (sequence database DB, threshold t) 00Foreach sequence s in DB 01 Gen-sequence-vector (s) 02 Encode and Insert s in the IBM 03 Update NB 04 Update Index 05End For 06 Integer k := 1; 07Whileexists frequent sequence of size k 08 k := k+1; 09 Generate Ck 10 Gen-frequent-sequences (t) 11End While Fouille de données complexes
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 68 45 8 12 21 32 1 1 1 1 1 1 1 1 Génération et recherche de candidats VS Génération de candidat [Srikant 96] M T E T S M IBM NB 1 1 1 1 1 1 1 1 0 CANDIDATS TAILLE 4 INDEX 1 1 1 1 1 1 1 4 0 1 METM ETMT 2 1 1 1 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 CANDIDAT TAILLE 5 (fusion) Ø 1 1 1 0 0 0 1 1 Ø 1 1 1 1 0 1 1 0 1 0 CANDIDAT = MT Fouille de données complexes CANDIDAT = METM
IBMTableau binaire indexé. Peu gourmand en mémoire. Temps de traitement plus important (décalages). IBM2Tableau de booléens indexé. Plus gourmand en mémoire. Temps de traitement plus faible. • IBM_Opt • Structure stockée sur disque et chargée en mémoire. • IBM2_Opt • Structure stockée sur disque et chargée en mémoire. IBM, IBM2 et Optimisations Fouille de données complexes
Performances en temps d’exécution Performances avec 300 000 tuples Fouille de données complexes
Performances en temps d’exécution Performances avec 1 000 000 tuples Fouille de données complexes
Performances en temps d’exécution Performances avec fichier chess.dat (KDNUGGETS, 100 000 tuples) Fouille de données complexes
Performances en occupation mémoire Occupation mémoire (MO) Tailles de la base de données (nombre de séquences) Fouille de données complexes
Text Mining Objectifs, Applications Construction du Lexique Vectorisation des Textes Classification des vecteurs
1. Objectifs • Documents électroniques • Structurés (10%) et non-structurés (90%) • Beaucoup d'outils limités au structuré (BDR) • Grand volume, croissance exponentielle • Problèmes • Recherche plein texte (IR) • Extraction de connaissances (catégorie, mots-clés, …) • Structuration (XML, Tables) Fouille de données complexes
Définition • Text Mining • Procédé consistant à synthétiser (classer, structurer, résumer, …) les textes en analysant les relations, les patterns, et les règles entre unités textuelles (mots, groupes, phrases, documents) • Techniques • Classification • Apprentissage • Recherche d’information • Statistiques • TALN = Techniques d’analyse du langage naturel Fouille de données complexes
Processus de Text Mining: Vue simplifiée Morphologique, linguistique, produit des vecteurs de fréquence des mots importants Fouille de données complexes
Domaines d’application • Affectation de documents à des thèmes prédéfinis • Traitement des e-mails (redirection, filtrage) • Organisation des documents par catégories • Classement des contacts au centre d’appel • Méthodes souvent supervisées Fouille de données complexes
Problèmes classiques • Moteur de recherche Web (e.g., Google) • Annotation d'information • Classification (supervisée) et clustering (non supervisée) de documents • Reconnaissance d'entités nommées • Reconnaissance de scénarios • Extraction d'information • Construction de résumés Fouille de données complexes
Etapes de la fouille de textes • 1. Sélection du corpus de documents • Documents pré-classés • Documents à classer • 2. Extraction des termes • Analyse grammaticale et/ou lemmatisation • Filtrage des termes extraits • 3. Transformation • Passage à un espace vectoriel • Réduction des dimensions • 4. Classification • Automatique supervisée ou non • Élaboration de taxonomie (classement) • 5. Visualisation des résultats • 6. Interprétation des résultats Fouille de données complexes
Architecture type: Classification Termes uniques présents dans les documents Documents d’apprentissage Sélection des termes pré-traitement Termes uniques Lexique document Représentation Vecteurs des documents Vecteur des documents Calcul des similarités Apprentissage Calcul des scores des catégories catégories affectées k proches voisins Catégorisation Fouille de données complexes
Exemple: Classification Google 16 classes divisées en catégories Fouille de données complexes
Text Mining versus Data Mining Fouille de données complexes
2. Construction du Lexique • Elément clé dans la compréhension d'un domaine • Aussi appelé dictionnaire, thésaurus, catalogue … • Il existe des standards ISO • Permet d'obtenir une forme canonique du document • Peut contenir des entités nommées • Ex: Puy de Dôme, Mont Blanc • Construction manuelle difficile • Différent mais voisin du concept d'ontologie Fouille de données complexes
Stop Words (mots de liaison) • Liste de mots (ex. ceux listés par Oracle text) sont les 200 suivants : a , beaucoup, comment, encore, lequel, moyennant, près, ses, toujours, afin, ça, concernant, entre, les, ne, puis, sien, tous, ailleurs, ce, dans, et, lesquelles, ni, puisque, sienne, toute, ainsi, ceci, de, étaient, lesquels, non, quand, siennes, toutes, alors, cela, dedans, était, leur, nos, quant, siens, très, après, celle, dehors, étant, leurs, notamment, que, soi, trop, attendant, celles, déjà, etc, lors, notre, quel, soi-même, tu, au, celui, delà, eux, lorsque, notres, quelle, soit, un, aucun, cependant, depuis, furent, lui, nôtre, quelqu’un, sont, une, aucune, certain, des, grâce, ma, nôtres, quelqu’une, suis, vos, au-dessous, certaine, desquelles, hormis, mais, nous, quelque, sur, votre, au-dessus, certaines, desquels, hors, malgré, nulle, quelques-unes, ta, vôtre, auprès, certains, dessus, ici, me, nulles, quelques-uns, tandis, vôtres, auquel, ces, dès, il, même, on, quels, tant, vous, aussi, cet, donc, ils, mêmes, ou, qui, te, vu, aussitôt, cette, donné, jadis, mes, où, quiconque, telle, y, autant, ceux, dont, je, mien, par, quoi, telles, autour, chacun, du, jusqu, mienne, parce, quoique, tes, aux, chacune, duquel, jusque, miennes, parmi, sa, tienne, auxquelles, chaque, durant, la, miens, plus, sans, tiennes, auxquels, chez, elle, laquelle, moins, plusieurs, sauf, tiens, avec, combien, elles, là, moment, pour, se, toi, à, comme, en, le, mon, pourquoi, selon, ton. Fouille de données complexes
Lemme et Stem • Lemmatisation ~ forme canonique • book, books [book] • mange, mangera, mangeaient, mangeant, [manger] • Nécessite une grammaire • Généralement entrée de référence en dictionnaire • Stemming ~ racine + dérivation [préfixe/suffixe] • produire, production, productivité [produc] • Calculer par un algorithme (Stemmer) Fouille de données complexes
Synonymie et Polysémie • Synonyme • Même concept qualifié par différents termes • Ex: bandit, brigand, voleur • Dégrade le rappel • Polysémie • Termes identiques utilisés dans des contextes sémantiques différents • Ex: base • De données • Immeuble • Vectorielle • Dégrade la précision Fouille de données complexes
Chaque document est vu comme une séquence de mots Le nombre de mots du lexique présents dans les documents du corpus détermine la dimension de l’espace L’espace des vecteurs Fouille de données complexes
Représentation des documents Vecteurs de document Matrice Terme/Document ou Document/terme Nécessité de pondérer Pondération (importance relative) Nécessité de réduire l’espace Réduction de dimension d1 d2 dd w11 w12 w1d w21 w22 w2d wt1 wt2 wtd t1 t2 tt Freq = Représentation des documents Fouille de données complexes
Term frequency (TF) • Un terme qui apparait plusieurs fois dans un document est plus important qu’un terme qui apparaît une seule fois • wij = Nombre d’occurrences du terme ti dans le document dj • TFij = Fréquence du terme ti dans le document dj Fouille de données complexes
Inverse document frequency (IDF) • Un terme qui apparaît dans peu de documents est un meilleur discriminant qu’un terme qui apparaît dans tous les documents • dfi = nombre de documents contenant le terme ti • d = nombre de documents du corpus • Inverse document frequency Fouille de données complexes
Pondération TF-IDF • TF-IDF signifie Term Frequency x Inverse Document Frequency : • Proposée par [Salton 1989], mesure l'importance d’un terme dans un document relativement à l’ensemble des documents. • tf i,j = fréquence du terme i dans le document j df i = nombre de documents contenant le terme i N = d = nombre de documents du corpus Fouille de données complexes
d3 d2 d1 Similarité entre documents • Permet de ranger les documents par pertinence • Le cosinus de l’angle est souvent utilisé • > cos()<cos() • d2 est plus proche de d1 que de d3 Fouille de données complexes
Réduction de dimension • Seuillage de fréquence • Document Frequency Thresholding • Test du Ki-2 • Détermine les termes les plus caractéristiques de chaque catégorie • LSI • Latent Semantic Indexing • Réduction par changement de base Fouille de données complexes
Documents d’apprentissage Termes Calcule DocFreq(w) Seuil Filtre les termes tq : DocFreq < Seuillage de fréquence Termes caractéristiques Fouille de données complexes
Catégories C={c1,c2,..cm} Termes Score du terme Seuil d’indépendance Filtre les termes | X2max(w)< Test du Ki-2 Estimation d’indépendence entre termes et catégories A:=|{d| dcj wd}| B:=|{d| dcj wd}| C:=|{d| dcj wd}| D:=|{d| dcj wd}| N:=|{d| dD}| Termes caractéristiques Fouille de données complexes
Latent Semantic Indexing (LSI) • Une technique de l’algèbre linéaire • Décomposition en valeurs propres (SVD) • Essaie d’estimer les relations cachés • Découvre les patterns d’association entre mots et concepts • Permet de réduire l’espace à K dimensions • Ex: de 10**6 à 100 ou 200 Fouille de données complexes
documents * * = F T * D S terms * * (t,d) (t,m) (m,d) (m,m) Principe de LSI m<<min(t,d) T: t m matrice orthogonale TT*T=I D: m d matrice orthogonale DT*D=I S: S matrice diagonale singulière non croissante Fouille de données complexes
L'indexation en résumé • Les étapes • Eliminer les mots de liaison (stop words) • Remplacer chaque mot par sa racine+ (stems) • Pondérer les termes (ex: TFIDF) • Sélectionner les meilleurs termes • Détecter des patterns (terme composé, groupe…) • Convertir les documents en vecteurs Fouille de données complexes
4. Classification de documents • Trois algorithmes de classification supervisée souvent considérés • KNN (K Nearest Neighbor) • Un document est classé dans la catégorie dominante parmi ses k plus proches voisins • Centroid • Sélection de la catégorie de plus proche centroïde • Naïve Bayes • Sélectionner la catégorie la plus probable Fouille de données complexes