Скачать презентацию Extraction de motifs Règles d association et motifs Скачать презентацию Extraction de motifs Règles d association et motifs

6c0aeed4358222f63728cb5b8c436042.ppt

  • Количество слайдов: 151

Extraction de motifs : Règles d’association et motifs séquentiels Pascal Poncelet LIRMM Pascal. Poncelet@lirmm. Extraction de motifs : Règles d’association et motifs séquentiels Pascal Poncelet LIRMM Pascal. Poncelet@lirmm. fr http: //www. lirmm. fr/~poncelet

Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Text Mining Conclusions 2

Pourquoi fouiller les données ? o De nombreuses données sont collectées et entreposées n Pourquoi fouiller les données ? o De nombreuses données sont collectées et entreposées n Données du Web, e-commerce n Achats dans les supermarchés n Transactions de cartes bancaires o Les ordinateurs deviennent de moins en moins chers et de plus en plus puissants o La pression de la compétition est de plus en plus forte n Fournir de meilleurs services, s’adapter aux clients (e. g. dans les CRM) 3 Contexte général

Pourquoi fouiller les données ? o Les données sont collectées et stockées rapidement (GB/heures) Pourquoi fouiller les données ? o Les données sont collectées et stockées rapidement (GB/heures) n Capteurs : RFID, supervision de procédé n Télescopes n Puces à ADN générant des expressions de gènes n Simulations générant de téraoctets de données o Les techniques traditionnelles ne sont pas adaptées 4 Contexte général

Un enjeu stratégique Déterminer les moyens pour fidéliser les clients Identifier les nouveaux marchés Un enjeu stratégique Déterminer les moyens pour fidéliser les clients Identifier les nouveaux marchés Anticiper les changements de comportement Minimiser les risques Identifier les nouveaux produits ou services 5 Contexte général

Qu’est ce que le Data Mining ? o De nombreuses définitions n Processus non Qu’est ce que le Data Mining ? o De nombreuses définitions n Processus non trivial d’extraction de connaissances d’une base de données pour obtenir de nouvelles données, valides, potentiellement utiles, compréhensibles, . … n Exploration et analyse, par des moyens automatiques ou semi-automatiques, de large quantité de données en vue d’extraire des motifs intéressants 6 Contexte général

Le processus de KDD Données Pré-traitementpré-traitées Données transformées et nettoyage Databases Datawarehouse Data. Mart Le processus de KDD Données Pré-traitementpré-traitées Données transformées et nettoyage Databases Datawarehouse Data. Mart Web Données cibles visualisation Motifs / Modèles 7 Contexte général

Données, Informations, Connaissances Décision • Promouvoir le produit P dans la région R durant Données, Informations, Connaissances Décision • Promouvoir le produit P dans la région R durant la période N • Réaliser un mailing sur le produit P aux familles de profil F Connaissance (data mining) • Une quantité Q du produit P est vendue en région R • Les familles de profil F utilisent M% de P durant la période N Information (requêtes) • X habite la région R • Y a A ans • Z dépense son argent dans la ville V de la région R Données • Consommateurs • Magasins • Ventes • Démographie • Géographie Contexte général 8

Data Mining ou non ? l NON l OUI Recher le salaire d’un employé Data Mining ou non ? l NON l OUI Recher le salaire d’un employé Les supporters achètent de la bière le samedi et de l’aspirine le dimanche Interroger un moteur de recherche Web pour avoir des informations sur le Data Mining Regrouper ensemble des documents retournés par un moteur de recherche en fonction de leur contenu Contexte général 9

Applications o o o o Contexte général Médecine : bio-médecine, drogue, Sida, séquence génétique, Applications o o o o Contexte général Médecine : bio-médecine, drogue, Sida, séquence génétique, gestion hôpitaux, . . . Finance, assurance : crédit, prédiction du marché, détection de fraudes, … Social : données démographiques, votes, résultats des élections, Marketing et ventes : comportement des utilisateurs, prédiction des ventes, espionnage industriel, … Militaire : fusion de données. . (secret défense) Astrophysique : astronomie, « contact » ( ; -)) Informatique : agents, règles actives, IHM, réseau, Data. Warehouse, Data Mart, Internet (moteurs intelligent, profiling, text mining, …) 10

Fouille de données BASES DE DONNEES INTELLIGENCE ARTIFICIELLE (APPRENTISSAGE) Fouille de Données STATISTIQUES … Fouille de données BASES DE DONNEES INTELLIGENCE ARTIFICIELLE (APPRENTISSAGE) Fouille de Données STATISTIQUES … INTERFACES HOMME-MACHINE 11

Recherche de motifs fréquents o Qu’est ce qu’un motif fréquent ? n Un motif Recherche de motifs fréquents o Qu’est ce qu’un motif fréquent ? n Un motif (ensemble d’items, séquences, arbres, …) qui interviennent fréquemment ensemble dans une base de données [AIS 93] o Les motifs fréquents : une forme importante de régularité n Quels produits sont souvent achetés ensemble ? n Quelles sont les conséquences d’un ouragan ? n Quel est le prochain achat après un PC? 12

Recherche de motifs fréquents o Analyse des associations n Panier de la ménagère, cross Recherche de motifs fréquents o Analyse des associations n Panier de la ménagère, cross marketing, conception de catalogue, analyse de textes n Corrélation ou analyse de causalité o Clustering et Classification n Classification basée sur les associations o Analyse de séquences n Web Mining, détection de tendances, analyses ADN n Périodicité partielle, associations temporelles/cycliques 13

 « Panier de la ménagère » o Recherche d’associations n n o recherche « Panier de la ménagère » o Recherche d’associations n n o recherche de corrélations entre attributs (items) caractéristiques : « panier de la ménagère » de très grandes données limitations : données binaires Recherche de motifs séquentiels n recherche de corrélations entre attributs (items) mais en prenant en compte le temps entre items => comportement 14 Contexte général

Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Text Mining Conclusions 15

Recherche de règles d’association 16 Recherche de règles d’association 16

Panier de la ménagère Localisation Produits achetés Identification Date, heure 17 Les règles d Panier de la ménagère Localisation Produits achetés Identification Date, heure 17 Les règles d ’association

Aidons Mme Guénolé Aidons Mme Guénolé

La légende 19 Les règles d ’association La légende 19 Les règles d ’association

Recherche de règles d’association o Règles de la forme ANTECEDENT CONSEQUENT [Support, Confiance] (support Recherche de règles d’association o Règles de la forme ANTECEDENT CONSEQUENT [Support, Confiance] (support et confiance sont des mesures d’intérêt définies par l’utilisateur) n Achat (x, « Beurre » ) ET Achat (x, « Pain » ) Achat(x, « Lait » ) [70%, 80%] n Achat (x, « Bière » ) ET Achat (x, « Gâteaux » ) Achat (x, « Couches » ) [30%, 80%] n Achat (x, « Caviar » ) Achat(x, « Champagne » ) [10%, 90%] 20 Les règles d ’association

Panier de la ménagère Localisation Premier paragraphe « Livre d’architecture contenant les principes généraux Panier de la ménagère Localisation Premier paragraphe « Livre d’architecture contenant les principes généraux … » Identification Position # Date Mots # Produits 21

Interprétation o R : X Y (A%, B%) n Support : portée de la Interprétation o R : X Y (A%, B%) n Support : portée de la règle Proportion de paniers contenant tous les attributs A% des clients ont acheté les 2 articles X et Y n Confiance : Proportion de paniers contenant le conséquent parmi ceux qui contiennent l’antécédent B% des clients qui ont acheté X ont aussi acheté Y n Beurre, Pain Lait [70%, 80%] n Bière, Gâteaux Couches [30%, 80%] n Caviar Champagne [10%, 90%] 22 Les règles d ’association

Utilisation des règles d’association Bière, … Couches n Couches comme conséquent déterminer ce qu’il Utilisation des règles d’association Bière, … Couches n Couches comme conséquent déterminer ce qu’il faut faire pour augmenter les ventes n Bière comme antécédent quel produit serait affecté si on n’arrête de vendre de la bière n Bière comme antécédent et Couche comme conséquent quels produits devraient être vendus avec la Bière pour promouvoir la vente de couches Les règles d ’association 23

Définitions des ensembles fréquents n Soit un ensemble I = {I 1, I 2, Définitions des ensembles fréquents n Soit un ensemble I = {I 1, I 2, . . . , Im} d’items, une transaction T est définie comme les sous-ensembles d’items dans I ( I). o I = {Bière, Café, Couche, Gâteaux, Moutarde, Saucisse. . . } o T 1 = {Café, Moutarde, Saucisse} n Une transaction n’a pas de duplicats n Soit une base de données D un ensemble de n transactions et chaque transaction est nommée par un identifiant (TID). o D = {{T 1, {Café, Moutarde, Saucisse}}, {T 2, {Bière, Café, Gâteaux}}, . . . } 24 Les règles d ’association

Une base de données o Une représentation de la base de données D o Une base de données o Une représentation de la base de données D o En fait …. 25 Les règles d ’association

Définition des ensembles fréquents (cont. ) n Une transaction T supporte un ensemble X Définition des ensembles fréquents (cont. ) n Une transaction T supporte un ensemble X I si elle contient tous les items de X (X T). o T 1 supporte {Café, Moutarde, Saucisse} n Support de X (Supp(X)) : fraction de toutes les transactions dans D qui supportent X. n Si supp(X) ³ smin l’ensemble X est dit fréquent. n Un ensemble d’items (itemset) X de cardinalité k = |X| est appelé un k-itemset. 3 -itemset : {Café, Moutarde, Saucisse} 26 Les règles d ’association

Propriétés des ensembles fréquents n Propriété 1 : support pour les sous-ensembles o Si Propriétés des ensembles fréquents n Propriété 1 : support pour les sous-ensembles o Si A B pour les itemsets A, B alors supp(A) >= supp(B) car toutes les transactions dans D qui supportent B supportent aussi nécessairement A. A={Café, Moutarde}, B ={Café, Moutarde, Saucisse} n Propriété 2 : les sous-ensembles d’ensembles fréquents sont fréquents n Propriété 3 : les sur-ensembles d’ensembles non fréquents sont non fréquents (anti-monotonie) 27 Les règles d ’association

Définition des Règles d’association n Une règle d’association est une implication de la forme Définition des Règles d’association n Une règle d’association est une implication de la forme R : X Y où X et Y sont des itemsets disjoints : X, Y I et X Y = . Bière, Gâteaux Couches 28 Les règles d ’association

Définition des Règles d’association (cont. ) n Confiance (confidence) dans une règle R n Définition des Règles d’association (cont. ) n Confiance (confidence) dans une règle R n Si une transaction supporte X, elle supporte aussi Y avec une certaine probabilité appelée confiance de la règle (conf(R)). conf( R ) = p(Y T | X T) = p(Y T Ù X T) / p(X T) = support (X U Y) / support(X) Supp(Bière, Gâteaux, Couches) conf(R) = -------------- ≥ confiance ? Supp (Bière, Gâteaux) 29 Les règles d ’association

Propriétés des règles d’association o Propriété 4 : pas de composition des règles n Propriétés des règles d’association o Propriété 4 : pas de composition des règles n Si X Z et Y Z sont vrais dans D, X U Y Z n’est pas nécessairement vrai. n Considérons le cas où X Y = Ø et les transactions dans D supportent Z si et seulement si elles supportent X ou Y, alors l ’ensemble X U Y a un support de 0 et donc X U Y Z a une confiance de O%. o Propriété 5 : décomposition des règles n Si X U Y Z convient, X Z et Y Z peut ne T(Z) pas être vrai. T(Y) T(X) 30 Les règles d ’association

Propriétés des règles d’association o Propriété 6 : pas de transitivité n Si X Propriétés des règles d’association o Propriété 6 : pas de transitivité n Si X Y et Y Z , nous ne pouvons pas en déduire que X Z. o Propriété 7 : déduire si une règle convient n Si A (L-A) ne vérifie pas la confiance alors nous n’avons pas B (L-B) pour les itemsets L, A, B et B A. 31 Les règles d ’association

En résumé o o Itemsets : A, B ou B, E, F Support pour En résumé o o Itemsets : A, B ou B, E, F Support pour un itemset Supp (A, D)=1 Supp (A, C) = 2 o Itemsets fréquents (min. Supp=50%) {A, C} est un itemset fréquent o Trans. ID Items 1 A, D 2 A, C Pour min. Supp = 50% et min. Conf = 3 50%, nous avons les règles suivantes : 4 A C [50%, 50%] C A [50%, 100%] A, B, C A, B, E, F 32 Les règles d ’association

Schéma algorithmique de base o o o La plupart des approches utilise le même Schéma algorithmique de base o o o La plupart des approches utilise le même schéma algorithmique Pour construire les règles d ’association, le support de tous les itemsets fréquents dans la base doit être calculé L ’algorithme procède en deux phases : n 1) Génération de tous les ensembles fréquents n 2) Génération des règles d ’association 33 Les règles d ’association

Comptage des itemsets o o o Une première approche I = {A, B, C} Comptage des itemsets o o o Une première approche I = {A, B, C} Génération de tous les cas possibles : { }, {A}, {B}, {C}, {A, B}, {A, C}, {B, C} {A, B, C} o Comptage du support 34 Les règles d ’association

Génération des ensembles fréquents o o o Le nombre d ’ensemble fréquent potentiel est Génération des ensembles fréquents o o o Le nombre d ’ensemble fréquent potentiel est égal à la taille du produit cartésien de tous les items …. qui croit exponentiellement en fonction du nombre d ’items considérés. Approche naïve : recherche exhaustive et test de tous les ensemble du produit cartésien pour savoir s ’ils sont fréquents 1000 items => 21000 ensembles à considérer 35 Les règles d ’association

Vers un algorithme générique N = 1 SCAN N=N+1 GENERATION N-Fréquents N-Candidats SCAN N-fréquents Vers un algorithme générique N = 1 SCAN N=N+1 GENERATION N-Fréquents N-Candidats SCAN N-fréquents 36 Les règles d ’association

Construction des règles n Pour chaque ensemble fréquent X, chaque sousensemble est choisi comme Construction des règles n Pour chaque ensemble fréquent X, chaque sousensemble est choisi comme antécédent de la règle, le reste devenant la partie conséquent. n Comme X est fréquent, tous les sous-ensembles sont fréquents (Propriété 3) donc leur support est connu. La confiance d’une règle est calculée et une règle est conservée ou pas selon la confiance minimale. n Amélioration : (Propriété 7) quand une règle échoue, aucun sous ensembles de l ’antécédent n ’est à considérer. 37 Les règles d ’association

Bref historique o o o Problématique initiée en 1993 CPU vs. I/O De nombreux Bref historique o o o Problématique initiée en 1993 CPU vs. I/O De nombreux algorithmes. . . AIS - R. Agrawal, T. Imielinski and A. Swami - ACM SIGMOD 1993 SETM - Houtsma and Swami - IBM Technical Record APRIORI - R. Agrawal and R. Srikant - VLDB 1994 PARTITION - A. Sarasere, E. Omiecinsky and S. Navathe - VLDB 1995 SAMPLING - H. Toivonen - VLDB 1996 DIC - S. Brin, R. Motwani, J. Ulman and S. Tsur - ACM SIGMOD 1997 Prefix. Span - J. Pei, J. Han, …. - ICDE’ 01 SPADE - M. Zaki - Machine Learning’ 01 …. 2006, 2007 Les règles d ’association 38

L’algorithme APRIORI o o o But : minimiser les candidats Principe : générer seulement L’algorithme APRIORI o o o But : minimiser les candidats Principe : générer seulement les candidats pour lesquels tous les sous-ensembles ont été déterminés fréquents Génération des candidats réalisée avant et de manière séparée de l'étape de comptage 39 Les règles d ’association

L’algorithme APRIORI Input : Ck: itemsets candidats de taille k Output : Lk : L’algorithme APRIORI Input : Ck: itemsets candidats de taille k Output : Lk : itemsets fréquents de taille k L 1 = {items fréquents}; for (k = 1; Lk != ; k++) do Ck+1 = candidats générés à partir de Lk; Pour chaque transaction t de la base de données, incrémenter le compteur de tous les candidats dans Ck+1 qui sont contenus dans t Lk+1 = candidats dans Ck+1 avec min. Supp return k Lk; 40 Les règles d ’association

Détails d’APRIORI o Comment générer les candidats ? n Etape 1: auto-jointure sur Lk Détails d’APRIORI o Comment générer les candidats ? n Etape 1: auto-jointure sur Lk n Etape 2: élagage o Comment compter le support des candidats ? 41 Les règles d ’association

Génération des candidats o Les items de Lk-1 sont ordonnés par ordre lexicographique o Génération des candidats o Les items de Lk-1 sont ordonnés par ordre lexicographique o Etape 1: auto-jointure sur Lk-1 INSERT INTO Ck SELECT p. item 1, p. item 2, …, p. itemk-1, q. itemk-1 FROM Lk-1 p, Lk-1 q WHERE p. item 1=q. item 1, …, p. itemk-2=q. itemk-2, p. itemk-1 < q. itemk-1 o Etape 2: élagage For each itemset c in Ck do For each (k-1)-subsets s of c do if (s is not in Lk-1) then delete c from Ck 42 Les règles d ’association

Génération des candidats : exemple o o L 3={abc, abd, ace, bcd} Auto-jointure : Génération des candidats : exemple o o L 3={abc, abd, ace, bcd} Auto-jointure : L 3*L 3 n abcd à partir de abc et abd n acde à partir de acd et ace o Élagage : n acde est supprimé car ade n’est pas dans L 3 o C 4={abcd} 43 Les règles d ’association

Stockage des candidats o un arbre (structure de hash-tree) structure de tous les 3 Stockage des candidats o un arbre (structure de hash-tree) structure de tous les 3 -candidats possibles pour 5 items (A, B, C, D, E) A B C {C} {D} {E} C B {C, D} {C, E} {D, E} D {D, E} {E} Ensemble {A, C, D} 44 Les règles d ’association

Comptage du support des candidats o Parcourir la base. Pour chaque tuple extrait t, Comptage du support des candidats o Parcourir la base. Pour chaque tuple extrait t, compter tous les candidats inclus dedans n Recher toutes les feuilles qui peuvent contenir les candidats n Hachage sur chaque item du tuple et descente dans l ’arbre des candidats o o Dans les feuilles de l’arbre vérifier ceux effectivement supportés par t Incrémenter leur support 45 Les règles d ’association

Illustration Support minimal = 1 46 Les règles d ’association Illustration Support minimal = 1 46 Les règles d ’association

Illustration L 1 = {{A}, {B}, {C}, {D}, {E}, {F}, {G}} 1 -itemsets fréquents Illustration L 1 = {{A}, {B}, {C}, {D}, {E}, {F}, {G}} 1 -itemsets fréquents 47 Les règles d ’association

Illustration 2 -itemsets fréquents{{A, B}, {A, C}, {A, D}, {A, E}, {A, F}, {B, Illustration 2 -itemsets fréquents{{A, B}, {A, C}, {A, D}, {A, E}, {A, F}, {B, C}, {B, D}, {B, E}, {B, F}, {B, G}, {C, D}, {C, E}, {C, F}, {D, E}, {D, F}, {D, G}, {E, F}, {E, G}, {F, G}} Les règles d ’association 48

Illustration L 3 = {{A, B, C}, {A, B, D}, {A, B, E}, {A, Illustration L 3 = {{A, B, C}, {A, B, D}, {A, B, E}, {A, B, F}, {A, C, D}, … {D, F, G}} {B, C, G} élagué par Apriori-Gen car {C, G} n ’appartient pas à L 2 Les règles d ’association 49

Illustration L 4 = {{A, B, C, D}, {A, B, C, E}, {A, B, Illustration L 4 = {{A, B, C, D}, {A, B, C, E}, {A, B, C, F}, … {C, D, E, F}} {B, D, F, G}, {B, E, F, G} élagués car {B, F, G} n ’appartient pas à L 3 {D, E, F, G} élagué car {E, F, G} n ’appartient pas à L 3 Les règles d ’association 50

Illustration 6 -itemsets fréquents L 6 = {{A, B, C, D, E, F}} C Illustration 6 -itemsets fréquents L 6 = {{A, B, C, D, E, F}} C 7 = { } => l ’algorithme se termine. 7 balayages pour déterminer tous les itemsets fréquents 51 Les règles d ’association

Espace de recherche NIV 4 ABCD ABC AB ABD AC A ACD BC BCD Espace de recherche NIV 4 ABCD ABC AB ABD AC A ACD BC BCD AD B C BD D NIV 3 CD NIV 2 NIV 1 Algorithme par niveau {} 52 Les règles d ’association

Partition o But : Réduire le nombre de passes o Principe : n partitionner Partition o But : Réduire le nombre de passes o Principe : n partitionner la base de manière à ce que chaque partition tienne en mémoire centrale (utilisation d ’Apriori pour chaque partition) n 2 passes sur la base 53 Les règles d ’association

Partition (cont. ) o Phase 1 : Division de la base n Traiter les Partition (cont. ) o Phase 1 : Division de la base n Traiter les partitions une par une : les itemsets fréquents sont fusionnés pour générer l ’ensemble de tous les itemsets fréquents potentiels o Phase 2 : le support de ces itemsets est calculé 54 Les règles d ’association

DIC (Dynamic Itemset Counting) o But : réduction du nombre de balayage de la DIC (Dynamic Itemset Counting) o But : réduction du nombre de balayage de la base o Lecture par blocs de M transactions o Essayer de générer le plus vite possible, i. e. à la fin de M, des (k+1)-itemsets pour les recher dans les prochaines M transactions 55 Les règles d ’association

DIC (Cont. ) transactions 2 -itemsets 3 -itemsets 4 -itemsets 1 -itemsets 2 -itemsets DIC (Cont. ) transactions 2 -itemsets 3 -itemsets 4 -itemsets 1 -itemsets 2 -itemsets 3 -itemsets 4 -itemsets 56 Les règles d ’association

Sampling o Idée : prendre un ensemble aléatoire qui réside en mémoire centrale et Sampling o Idée : prendre un ensemble aléatoire qui réside en mémoire centrale et recher tous les itemsets fréquents Très efficace : 1 passe, 2 passes au pire o Basée sur la bordure négative o 57 Les règles d ’association

Bordure négative ABCD ABC AB ABD AC A ACD BC BCD AD B C Bordure négative ABCD ABC AB ABD AC A ACD BC BCD AD B C BD CD D {} 58 Les règles d ’association

Bordure négative Fréquents min. Supp = 2 Bordure négative ABD (2) AB(2) AC(2) A(3) Bordure négative Fréquents min. Supp = 2 Bordure négative ABD (2) AB(2) AC(2) A(3) BC(1) B(3) AD(2) C(3) BD(2) CD(1) D(3) {} 59 Les règles d ’association

Sampling (cont. ) o Algorithme support minimum, petit support minimum, une base et un Sampling (cont. ) o Algorithme support minimum, petit support minimum, une base et un échantillon de la base 1 - prendre un échantillon de la base 2 - Calculer les fréquents avec petit support minimum en mémoire centrale : Fréquents et Bordure 3 - Evaluer la fréquence des itemsets fréquents et de la bordure négative sur le reste de la base 4 - Retourner le résultat et les éventuels manques 60 Les règles d ’association

Sampling (cont. ) o D = 10 millions de tuples - A. . . Sampling (cont. ) o D = 10 millions de tuples - A. . . F - support minimum = 2% - Echantillon s de 20 000 tuples petit support minimum = 1, 5% Pour l’échantillon avec 1, 5% : F={{A, B, C}, {A, C, F}, {A, D}, {B, D}} Bordure négative = BN={{B, F}, {C, D}, {D, F}, {E}} o Evaluer F et BD sur le reste de la base avec 2% 1 - on trouve {A, B}, {A, C, F} en une passe 2 - si {B, F} devient fréquent sur D => manque peut être {A, B, F} => reporter l ’erreur et effectuer une seconde passe 61 Les règles d ’association

Max. Miner : Mining Max-patterns o But : recher les longs itemsets fréquents o Max. Miner : Mining Max-patterns o But : recher les longs itemsets fréquents o Max-patterns : bordures de motifs fréquents n Un sous-ensemble d’un max-pattern est fréquent n Un sur-ensemble d’un max-pattern est non fréquent o Parcours en largeur et en profondeur 62 Les règles d ’association

Max. Miner : Mining Max-patterns (cont. ) o 1 er passage: recher les items Max. Miner : Mining Max-patterns (cont. ) o 1 er passage: recher les items fréquents n A, B, C, D, E o 2 nd passage: recher les support pour n AB, AC, AD, AE, ABCDE n BC, BD, BE, BCDE n CD, CE, CDE, o Comme BCDE est un max-pattern, il n’est pas nécessaire de vérifier BCD, BDE, CDE dans les parcours suivants Tid Items 10 20 B, C, D, E, 30 Les règles d ’association A, B, C, D, E A, C, D, F min. Supp=2 63

Génération des candidats o o Depuis 2000 « La base peut tenir en mémoire Génération des candidats o o Depuis 2000 « La base peut tenir en mémoire » Constat : génération d ’un trop grand nombre de candidats o s ’il y a 104 1 -itemset => génération de 107 candidats 2 itemsets o Pour un fréquent de 100, il faut générer plus de 1030 candidats au total n Est-il possible de proposer une méthode qui évite de générer des candidats ? 64 Les règles d ’association

FP-Tree 1 - Parcours de la base pour recher les 1 -fréquents 2 - FP-Tree 1 - Parcours de la base pour recher les 1 -fréquents 2 - Tri des fréquents dans l ’ordre décroissant TID Items triés 1 I 1, I 2, I 5 I 2, I 1, I 5 2 I 2, I 4 3 I 2, I 3 4 I 1, I 2, I 4 I 2, I 1, I 4 5 I 1, I 3 6 I 2, I 3 7 I 1, I 3 8 I 1, I 2, I 3, I 5 I 2, I 1, I 3, I 5 9 I 1, I 2, I 3 I 2, I 1, I 3 Les règles d ’association L = [ I 2: 7, I 1: 6, I 3: 6, I 4 : 2, I 5 : 2] 65

FP-Tree (cont. ) Parcourir les transactions de la base Création du FP-Tree : null FP-Tree (cont. ) Parcourir les transactions de la base Création du FP-Tree : null « faire glisser les transactions dans l’arbre » - Une branche existe : incrémenter le support - Créer la branche autrement I 2: 7 I 1: 2 null I 1: 4 (I 2, I 1, I 5) I 3: 2 I 2: 1 I 4: 1 I 1: 1 I 5: 1 Les règles d ’association I 5: 1 I 3: 2 I 5: 1 66

FP-Tree (cont. ) null I 2 I 1 6 I 3 6 I 4 FP-Tree (cont. ) null I 2 I 1 6 I 3 6 I 4 2 I 1: 2 2 I 5 I 2: 7 7 I 1: 4 I 3: 2 I 4: 1 I 5: 1 I 3: 2 I 5: 1 Association d’un tableau de pointeurs trié 67 Les règles d ’association

FP-Tree (cont. ) On commence par ceux dont le support est le plus faible FP-Tree (cont. ) On commence par ceux dont le support est le plus faible null I 2: 7 I 1: 2 I 1: 4 I 3: 2 I 4: 1 I 5: 1 I 3: 2 I 5: 1 min. Supp = 1 Les règles d ’association Pour I 5 chemins pour I 5 et en considérant I 5 comme suffixe on a : => (support I 3 = 1) Génération : I 2 I 5 : 2 I 1 I 5 : 2 Pour I 4 Avec I 4 comme suffixe et => fréquent I 2 I 4 : 2 Pour I 3 Avec I 3 comme suffixe , , => fréquents : I 2 I 3 : 4 I 1 I 3 : 2 I 2 I 1 I 3 : 2. . . 68

Bénéfices de FP-tree o Préserve l’information complète pour l’extraction d’itemsets o Pas de passage Bénéfices de FP-tree o Préserve l’information complète pour l’extraction d’itemsets o Pas de passage supplémentaire sur la base o Approche Compacte n Les items sont triés dans un ordre décroissant de fréquence : plus ils apparaissent fréquemment plus ils seront partagés n Ne peut jamais être plus grand que la base d’origine (sans compter les liens, les nœuds et les compteurs) 69 Les règles d ’association

Cas des données corrélées o D’autres types d’algorithmes n Utilisation du treillis et de Cas des données corrélées o D’autres types d’algorithmes n Utilisation du treillis et de ses propriétés n Recherche des itemsets fermés fréquents (les itemsets maximaux pour lesquels il n’existe pas de super ensemble avec la même valeur de support) n Recherche des générateurs n Recherche de représentation condensée (clos, libres, dérivables) o Close, Close+, Charm … 70 Les règles d ’association

Quelques conclusions o De nombreux travaux n De nouvelles approches condensées n De nouvelles Quelques conclusions o De nombreux travaux n De nouvelles approches condensées n De nouvelles contraintes (réduire l’espace de recherche) n Préservation de la vie privée n Approches Incrémentales n Règles plus générales n Définir de nouvelles mesures (lift, implication, …) 71 Les règles d ’association

Règles d’association incrémentales o o o Générer les règles dans une base dynamique Problème Règles d’association incrémentales o o o Générer les règles dans une base dynamique Problème : les algorithmes considèrent des bases statiques Objectifs : n Chercher les itemsets fréquents dans D {D D} o o o Doit être fréquent dans D ou D D Sauvegarder tous les fréquents, la bordure … Data Streams (Flots de Données) 72 Les règles d ’association

Des règles plus générales o Les règles négatives Expr(Ci) Expr(Cj) avec AND, OR, NOT Des règles plus générales o Les règles négatives Expr(Ci) Expr(Cj) avec AND, OR, NOT o o Les règles sur plusieurs dimensions Les règles à attributs variables Age [x, y] => Salaire > 45 K€ (5%; 30%) o o Les règles approximatives Les règles avec généralisation Associée à une taxonomie 73 Les règles d ’association

Utilité des règles o La règle utile contenant des informations de qualité qui peuvent Utilité des règles o La règle utile contenant des informations de qualité qui peuvent être mises en pratique ex : le samedi, les clients des épiceries achètent en même temps de la bière et des couches o Résultats connus par quiconque ex : les client des épiceries achètent en même temps du pain et du beurre o Résultats inexplicables difficiles à situer et donc à expliquer ex : lors de l'ouverture d'une quincaillerie, parmi les articles plus vendus on trouve les abattants de toilette 74 Les règles d ’association

D’autres mesures Articles A B C A, B A, C B, C A, B, D’autres mesures Articles A B C A, B A, C B, C A, B, C Fréquences (%) 45 42, 5 40 25 20 15 5 o Si on considère les règles à trois articles, elles ont le même support 5%. Le niveau de confiance est alors : Règle A, B → C 0, 20 A, C → B 0, 25 B, C → A o Confiance 0, 33 La règle « B, C → A » possède la plus grande confiance. si B et C apparaissent simultanément dans un achat alors A y apparaît aussi avec une probabilité estimée de 33%. 75 Les règles d ’association

D’autres mesures (cont. ) Articles o B C A, B A, C B, C D’autres mesures (cont. ) Articles o B C A, B A, C B, C A, B, C Fréquences (%) o A 45 42, 5 40 25 20 15 5 A apparaît dans 45% des achats. Il vaut donc mieux prédire A sans autre information que de prédire A lorsque B et C apparaissent. l'amélioration permet de comparer le résultat de la prédiction en utilisant la fréquence du résultat Amélioration = confiance / frequence(résultat) 76 Les règles d ’association

D’autres mesures (cont. ) o Une règle est intéressante lorsque l'amélioration est supérieure à D’autres mesures (cont. ) o Une règle est intéressante lorsque l'amélioration est supérieure à 1. Pour les règles choisies, on trouve : Règle Amélioration 0. 20 40% 0. 50 A, C → B 0. 25 42. 5% 0. 59 B, C → A o Freq(résultat) A, B→ C o Confiance 0. 33 45% 0. 74 Par contre, la règle si « A → B » possède un support de 25%, une confiance de 0. 55 et une amélioration de 1. 31, cette règle est donc la meilleure. En règle générale, la meilleure règle est celle qui contient le moins d'articles. 77 Les règles d ’association

Visualisation Les règles d ’association DBMiner (www. dbminer. com) 78 Visualisation Les règles d ’association DBMiner (www. dbminer. com) 78

Les règles d ’association DBMiner (www. dbminer. com) 79 Les règles d ’association DBMiner (www. dbminer. com) 79

Les règles d ’association Intelligent Miner (www. ibm. com) 80 Les règles d ’association Intelligent Miner (www. ibm. com) 80

Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Text Mining Conclusions 81

Pourquoi la recherche de séquence ? o Un important domaine de recherche pour le Pourquoi la recherche de séquence ? o Un important domaine de recherche pour le data mining avec de très nombreuses applications n n n Analyse des achats des clients Analyse de puces ADN Processus Conséquences de catastrophes naturelles Web mining Détection de tendances dans des données textuelles 82 Les motifs séquentiels

Recherche de Motifs Séquentiels o o o Même problématique mais avec le temps Item Recherche de Motifs Séquentiels o o o Même problématique mais avec le temps Item : « un article » Transaction : un client + un itemset + une estampille temporelle T = [C, (a, b, c)5] Séquence : liste ordonnée d’itemsets Séquence de données : « activité du client » Soit T 1, T 2, … Tn, les transactions du client C, la séquence de données de C est : [C, ] 83 Les motifs séquentiels

Recherche de Motifs Séquentiels o Support minimal : nombre minimum d’occurrences d’un motif séquentiel Recherche de Motifs Séquentiels o Support minimal : nombre minimum d’occurrences d’un motif séquentiel pour être considéré comme fréquent o Attention l’occurrence n’est prise en compte qu’une fois dans la séquence Support (20) dans <(10) (20 30) (40) (20)>=1 84 Les motifs séquentiels

Problématique o Soit D une base de données de transactions de clients. Soit σ Problématique o Soit D une base de données de transactions de clients. Soit σ une valeur de support minimal Recher toutes les séquences S telles que : support(S) ≥σ dans D o 50% des personnes qui achètent du vin et du fromage le lundi achètent aussi du pain le vendredi <(French wine, cheese) (bread)> 86 Les motifs séquentiels

Illustration Support = 60% (3 clients) => <(10 30) (20 60)> 87 Les motifs Illustration Support = 60% (3 clients) => <(10 30) (20 60)> 87 Les motifs séquentiels

Itemsets : Espace de recherche NIV 4 ABCD ABC AB ABD AC A ACD Itemsets : Espace de recherche NIV 4 ABCD ABC AB ABD AC A ACD BC BCD AD B C BD D NIV 3 CD NIV 2 NIV 1 Algorithme par niveau {} 88 Les motifs séquentiels

Motifs Séquentiels : l’espace de recherche AAA AA A(AB) AAB (AB) A AB A(AC) Motifs Séquentiels : l’espace de recherche AAA AA A(AB) AAB (AB) A AB A(AC) AAC AC B (AB)B BB (ABC) (AB)C (BC) BC ABB … CC C {} 89 Les motifs séquentiels

La propriété d’antimonotonie o Une propriété essentielle (c. f. Apriori [AIS 93]) n Si La propriété d’antimonotonie o Une propriété essentielle (c. f. Apriori [AIS 93]) n Si une séquence n’est pas fréquente, aucune des super-séquences de S n’est fréquente! Support (<(10) (20 30)>) < minsupp Support (<(10) (20 30) (40)>)<< minsupp 90 Les motifs séquentiels

Vers un algorithme générique N = 1 SCAN N=N+1 GENERATION N-Fréquents N-Candidats SCAN N-fréquents Vers un algorithme générique N = 1 SCAN N=N+1 GENERATION N-Fréquents N-Candidats SCAN N-fréquents 91 Les motifs séquentiels

o Comment générer les candidats ? 92 o Comment générer les candidats ? 92

Génération des candidats o o S-Extension : ajout d’une séquence I-Extension : ajout d’un Génération des candidats o o S-Extension : ajout d’une séquence I-Extension : ajout d’un itemset <(1 2) (3)> < (2) (3 4)> <(1 2) (3 4)> I-Extension <(1 2) (3)> < (2) (3) (5)> <(1 2) (3) (5)> S-Extension 93 Les motifs séquentiels

GSP o A la APRIORI [Srikant, Agrawal, EDBT’ 96] L=1 While (Result. L != GSP o A la APRIORI [Srikant, Agrawal, EDBT’ 96] L=1 While (Result. L != NULL) Candidate Generate Prune Test L=L+1 94 Les motifs séquentiels

Comptage des supports des candidats Candidats Stockés en Mémoire centrale Un tuple T={cid, <(a) Comptage des supports des candidats Candidats Stockés en Mémoire centrale Un tuple T={cid, <(a) (bc) (d)>} C 1 T ? C 2 T ? C 3 T ? C 4 T ? C 5 T ? Cn T ? BASE DE DONNEES MEMOIRE CENTRALE 98 Les motifs séquentiels

Stockage des candidats Root 10 30 <(10) (30) (40)> <(10) (30 40)> 40 30 Stockage des candidats Root 10 30 <(10) (30) (40)> <(10) (30 40)> 40 30 <(30 40 50)> <(40 50) (30)> <(30) (40 60)> <(40 50) (40)> 40 <(10) (10 40)> <(10 40) (20)> S = <(10) (30) (10 40)> 99 Les motifs séquentiels

PSP (Prefix Tree for Sequential Patterns) o Vers une structure plus efficace : prefix PSP (Prefix Tree for Sequential Patterns) o Vers une structure plus efficace : prefix tree root <(10) (30) (20)> <(10) (30 40)> <(10) (40 10)> 10 20 30 20 Les motifs séquentiels 40 40 10 30 20 40 40 10 10 30 40 <(30 50 40 10) (30) (20 10)> 100

PSP (cont. ) o Génération des candidats de taille 2 Root 10 20 30 PSP (cont. ) o Génération des candidats de taille 2 Root 10 20 30 40 Root 10 10 20 30 40 20 20 30 30 40 40 20 10 10. . . 101 Les motifs séquentiels

PSP (cont. ) o Génération des candidats de taille > 2 Root 10 30 PSP (cont. ) o Génération des candidats de taille > 2 Root 10 30 20 40 Root 30 20 40 10 30 20 Candidats et fréquents dans le même arbre 20 40 20 30 40 40 10 10 30 40 40 10 té d’ rié tonie rop ono P m nti a 102 Les motifs séquentiels

SPAM o o Utilisation de bitmaps pour recher les motifs fréquents Hypothèse : la SPAM o o Utilisation de bitmaps pour recher les motifs fréquents Hypothèse : la base tient toujours en mémoire On construit d’un arbre lexicographique contenant toutes les branches possibles – élimination des branches en fonction du support Nouvelle représentation des données 103 Les motifs séquentiels

Motifs généralisés o Pour certains domaines d’applications il est nécessaire de limiter les résultats Motifs généralisés o Pour certains domaines d’applications il est nécessaire de limiter les résultats corrélations entre achat du caviar le 1 er janvier et de champagne le 31 décembre ? o Contraintes de temps window. Size : regrouper des événements min. Gap : considérer des événements comme trop proches max. Gap : considérer des événements comme trop éloignés 104 Les motifs séquentiels

Illustration Support = 50% : <(Ringworld) (Ringworld Engineers)> et <(Foundation) (Ringworld Engineers)> window. Size=7 Illustration Support = 50% : <(Ringworld) (Ringworld Engineers)> et <(Foundation) (Ringworld Engineers)> window. Size=7 jours : <(Foundation, Ringworld) (Ringworld Engineers)> Les motifs séquentiels 105

Contraintes temporelles o o d = <1(1) 2(2 3) 3(4) 4(5 6) 5(7)> Candidat Contraintes temporelles o o d = <1(1) 2(2 3) 3(4) 4(5 6) 5(7)> Candidat : C = <(1 2 3 4) (5 6 7)> n window. Size = 3, min. Gap=0, max. Gap = 5, n d = <(1 2 3 4) (5 6 7)> - Donc C est inclus dans d o Candidat : C = <(1 2 3) (6 7)> n window. Size = 1, min. Gap=3, max. Gap = 4, n d =<(1 2 3) (4) (5 6 7)> n min. Gap pas respecté entre 3 et 5 ! C pas inclus dans d 106 Les motifs séquentiels

Comment gérer les contraintes ? Candidats stockés En mémoire Un tuple T={cid, <(a) (bc) Comment gérer les contraintes ? Candidats stockés En mémoire Un tuple T={cid, <(a) (bc) (d)>} + w. S, min. Gap, max. Gap BASE DE DONNEES Backtracking s t idat an d u ig can v na les n re E nt MEMOIRE CENTRALE E 107 Les motifs séquentiels

Inclusion des contraintes <(10) (20) (30) (50) (60)> <(10) (20) (30) (40 50) (60)> Inclusion des contraintes <(10) (20) (30) (50) (60)> <(10) (20) (30) (40 50) (60)> min. Gap=1 <(10) (20) (30 40) (60)> (60) window. Size=5 <(10) (20) (30 40 50) (60)> 108 Les motifs séquentiels

Recherche des inclusions Date C 1 1 7 2 13 3 window. Size = Recherche des inclusions Date C 1 1 7 2 13 3 window. Size = 5, min. Gap = 1 Via min. Gap <(1) (2) (3) (4) (6)> <(1) (2) (3) (5) (6)> Puis avec window. Size <(1) (2) (3) (4 5) (6)> <(1) (2) (3 4 5) (6)> En fait: <(1) (2) (3) (4 5) (6)> et <(1) (2) (3 4 5) (6)> Les motifs séquentiels 17 4 18 5 24 6 109

Recherche des inclusions (cont. ) Date C 1 1 1 7 2 2 13 Recherche des inclusions (cont. ) Date C 1 1 1 7 2 2 13 3 3 17 4 4 18 5 5 24 6 6 min. Gap 4 5 3 4 5 110 Les motifs séquentiels

Recherche des inclusions (cont. ) 1 2 3 4 5 6 min. Gap 4 Recherche des inclusions (cont. ) 1 2 3 4 5 6 min. Gap 4 5 3 4 5 Les motifs séquentiels Un chemin = une séquence Tous les chemins mais quid des inclusions 111

Recherche des inclusions (cont. ) 1 2 3 4 5 6 min. Gap 4 Recherche des inclusions (cont. ) 1 2 3 4 5 6 min. Gap 4 5 3 4 5 112 Les motifs séquentiels

Recherche des inclusions (cont. ) 5 1 2 3 4 6 4 5 3 Recherche des inclusions (cont. ) 5 1 2 3 4 6 4 5 3 4 5 Regrouper ensemble les nœuds de même origine Les motifs séquentiels 113

Recherche des inclusions (cont. ) 1 2 3 6 4 5 3 4 5 Recherche des inclusions (cont. ) 1 2 3 6 4 5 3 4 5 Supprimer les nœuds inclus ayant même destination Les motifs séquentiels 114

Recherche des inclusions (cont. ) 1 2 3 6 4 5 3 4 5 Recherche des inclusions (cont. ) 1 2 3 6 4 5 3 4 5 <(1) (2) (3) (4 5) (6)> et <(1) (2) (3 4 5) (6)> 115 Les motifs séquentiels

Recherche des inclusions (cont. ) S Arbre des candidats DB AVANT S GTC {S Recherche des inclusions (cont. ) S Arbre des candidats DB AVANT S GTC {S 1, S 2, . . Sn} Arbre des candidats DB APRES 116 Les motifs séquentiels

Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Plan o o o Contexte général Règles d’association Motifs séquentiels Applications : Web Mining, Text Mining Conclusions 117

118 118

Web Usage Mining o o Analyse de l’usage des visiteurs sur un site Web Web Usage Mining o o Analyse de l’usage des visiteurs sur un site Web Les pages contiennent l’information Les liens sont des « routes » (hyperliens) Comment les personnes naviguent-elles sur Internet ? n Web Usage Mining (Clickstream Analysis) n Information sur les chemins de navigation disponibles dans des fichiers logs. o Principe : intégrer et « fouiller » ces données pour en produire de l’information et de la connaissance 119 Applications

Web Usage Mining o o Pourquoi analyse l’usage des sites Web ? La connaissance Web Usage Mining o o Pourquoi analyse l’usage des sites Web ? La connaissance sur la manière dont les visiteurs utilisent un site Web permet de : n Fournir une aide pour réorganiser site n Aider le concepteur à positionner l’information importante que les visiteurs recherchent. n Précharger et cacher les pages n Fournir des sites adaptatifs (personnalisation) n Eviter le « zapping » o Utile dans le cas du e-commerce Applications 120

Exemple d’utilisation 121 Applications Exemple d’utilisation 121 Applications

Web Usage Mining o De nombreux outils disponibles o Statistiques générales : n n Web Usage Mining o De nombreux outils disponibles o Statistiques générales : n n n Nombre de hits Quelle est la page la plus populaire du site ? Qui a visité le site ? Qu’est ce qui a été téléchargé ? Quels sont les mots clés utilisés pour venir sur le site ? 122 Applications

Web Usage Mining 30%Promo « 75% des parisiens qui achètent une raquette de tennis Web Usage Mining 30%Promo « 75% des parisiens qui achètent une raquette de tennis achètent trois mois après des chaussures » Modification dynamique 123 Applications

Log or Logs? Information sur les chemins de navigation dans les fichiers logs 124 Log or Logs? Information sur les chemins de navigation dans les fichiers logs 124 Applications

Web logs IP or domain name User Id Request Date and Time 123. 456. Web logs IP or domain name User Id Request Date and Time 123. 456. 78. 9 - - [24/Oct/1999: 13: 44 – 0400] “GET /Images/tagline. gif HTTP/1. 0” 200 1449 http: //www. teced. com/ “Mozilla/4. 51 [en] (Win 98; I)” Status File Size Referrer URL Browser Cookies 125 Applications

Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. 78. 9 [25/Apr/1998: 03: 04: 41 – 0500 GET A. html HTTP/1. 0 200 3290 123. 456. 78. 9 [25/Apr/1998: 03: 05: 34 – 0500 GET B. html HTTP/1. 0 2050 123. 456. 78. 9 [25/Apr/1998: 03: 05: 39 – 0500 GET L. html HTTP/1. 0 200 4130 - Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 02 – 0500 GET F. html HTTP/1. 0 200 5096 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 58 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 42 – 0500 GET B. html HTTP/1. 0 2050 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 55 – 0500 GET R. html HTTP/1. 0 200 8140 L. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 09: 50 – 0500 GET C. html HTTP/1. 0 200 1820 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 02 – 0500 GET O. html HTTP/1. 0 200 2270 F. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 45 – 0500 GET J. html HTTP/1. 0 200 9430 C. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 12: 23 – 0500 GET G. html HTTP/1. 0 200 7220 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 05: 22 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (Win 95, I) Clients Applications Dates Items Mozilla/3. 01 (Win 95, I) A. html Mozilla/3. 01 (Win 95, I) 126

Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. 78. 9 [25/Apr/1998: 03: 04: 41 – 0500 GET A. html HTTP/1. 0 200 3290 123. 456. 78. 9 [25/Apr/1998: 03: 05: 34 – 0500 GET B. html HTTP/1. 0 2050 123. 456. 78. 9 [25/Apr/1998: 03: 05: 39 – 0500 GET L. html HTTP/1. 0 200 4130 - Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 02 – 0500 GET F. html HTTP/1. 0 200 5096 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 58 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 42 – 0500 GET B. html HTTP/1. 0 2050 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 55 – 0500 GET R. html HTTP/1. 0 200 8140 L. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 09: 50 – 0500 GET C. html HTTP/1. 0 200 1820 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 02 – 0500 GET O. html HTTP/1. 0 200 2270 F. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 45 – 0500 GET J. html HTTP/1. 0 200 9430 C. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 12: 23 – 0500 GET G. html HTTP/1. 0 200 7220 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 05: 22 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (Win 95, I) Clients Applications Dates Mozilla/3. 01 (Win 95, I) A. html Mozilla/3. 01 (Win 95, I) Items 127

Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. Web logs IP Address Time Method/URL/Protocol Sta Size Referre d - Agent 123. 456. 78. 9 [25/Apr/1998: 03: 04: 41 – 0500 GET A. html HTTP/1. 0 200 3290 123. 456. 78. 9 [25/Apr/1998: 03: 05: 34 – 0500 GET B. html HTTP/1. 0 2050 123. 456. 78. 9 [25/Apr/1998: 03: 05: 39 – 0500 GET L. html HTTP/1. 0 200 4130 - Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 02 – 0500 GET F. html HTTP/1. 0 200 5096 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 06: 58 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 42 – 0500 GET B. html HTTP/1. 0 2050 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 07: 55 – 0500 GET R. html HTTP/1. 0 200 8140 L. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 09: 50 – 0500 GET C. html HTTP/1. 0 200 1820 A. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 02 – 0500 GET O. html HTTP/1. 0 200 2270 F. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 03: 10: 45 – 0500 GET J. html HTTP/1. 0 200 9430 C. html Mozilla/3. 01 (X 11, I, IRIX 6. 2, IP 22) 123. 456. 78. 9 [25/Apr/1998: 03: 12: 23 – 0500 GET G. html HTTP/1. 0 200 7220 B. html Mozilla/3. 01 (Win 95, I) 123. 456. 78. 9 [25/Apr/1998: 05: 22 – 0500 GET A. html HTTP/1. 0 200 3290 - Mozilla/3. 01 (Win 95, I) Clients Applications Dates Mozilla/3. 01 (Win 95, I) A. html Mozilla/3. 01 (Win 95, I) Items 128

KDD pour WUM ? Transformer les données pour pouvoir apprendre Liens dynamiques, Sites web KDD pour WUM ? Transformer les données pour pouvoir apprendre Liens dynamiques, Sites web adaptatifs, évaluation de site … Pre - processing Extraction de motifs Application Web Log Files Clustering, Classification, Association Rule, Sequential Pattern … 129 Applications

Pre-traitements o Data Filtering - Data Cleaning n Status Code (1 xx: Informational, 2 Pre-traitements o Data Filtering - Data Cleaning n Status Code (1 xx: Informational, 2 xx: Success, 3 xx: Redirection, 4 xx: Client Error, 5 xx: Server Error) n Requêtes automatiques (bots, performance monitoring systems) n Suppression des entrées concernant des requêtes pour des fichiers graphiques, des frames … n Suppression des entrées générées par des spiders/crawlers (utilisés par les moteurs de recherche) 130 Applications

Web Usage Mining o o Préparation des données (suffixe, éliminations des robots – agents Web Usage Mining o o Préparation des données (suffixe, éliminations des robots – agents de moteurs) Identification de l’utilisateur Tout n’est pas dans le fichier Access Log Utilisation d’heuristiques : Si une page est demandée et qu’elle n’est pas directement liée aux autres pages, il est probable qu’il existe différents utilisateurs sur la même machine Applications Utilisation des informations sur l’IP, le nom de la machine, 131 le navigateur, des informations temporelles …

Web Usage Mining o Problèmes : n ID utilisateurs supprimées pour des raisons de Web Usage Mining o Problèmes : n ID utilisateurs supprimées pour des raisons de sécurité n IP individuelles cachées par les proxys n Les caches des proxy et du côté clients o Solutions actuelles : n Enregistrement de l’utilisateur – pratique ? ? n Cookies – difficile ? ? n « Cache busting » - augmente le trafic sur le réseau (inutile avec certains proxy) 132 Applications

Web Usage Mining o o Sessions : Comment identifier/définir une transaction d’un visiteur ? Web Usage Mining o o Sessions : Comment identifier/définir une transaction d’un visiteur ? « Time Oriented » n Durée totale d’une session : ≤ 30 minutes n Par temps passé sur une page : ≤ 10 minutes/page o « Navigation Oriented » n Le « referrer » est la page précédente, ou le « referrer » n’est pas défini mais demandé dans les 10 secondes, ou le lien de la page précédente à la page courante dans le site web 133 Applications

Web Usage Mining o Sources de données n Utilisation de fichiers logs n Mais Web Usage Mining o Sources de données n Utilisation de fichiers logs n Mais aussi cookies, bases de données des clients, …. 134 Applications

Web Usage Mining o Architecture type Mécanisme de requêtes Fichiers Access Log Données Extérieures Web Usage Mining o Architecture type Mécanisme de requêtes Fichiers Access Log Données Extérieures Nouvelles Données Pré-traitement Fouille de Données Règles d’Associations Motifs séquentiels Classification Repository 135 Applications

Text Mining o Qu'est ce que le Text Mining n L'extraction de connaissance à Text Mining o Qu'est ce que le Text Mining n L'extraction de connaissance à partir de données textuelles (découvertes de tendances, classification/organisation, …. ) o Les BD textuelles sont omniprésentes n Bases de données de bibliothèques, bases de données de documents, mails, WWW, … n Les données textuelles sont structurées ou semistructurées o La quantité de données textuelles augmente très rapidement « Le texte est facile à produire » 136 Applications

Text Mining vs. Recherche d’information o Recherche d ’Information (Information Retrieval) Domaine développé en Text Mining vs. Recherche d’information o Recherche d ’Information (Information Retrieval) Domaine développé en parallèle des bases de données L'information est organisée dans (un grand nombres de) document Pb : localiser les documents pertinents en se basant sur l'entrée de l'utilisateur (mots clés ou documents exemples) o o Quid de la connaissance supplémentaire ? Requête vs Data Mining 137 Applications

Text Mining - Classification o Classification automatique n Classification automatique d'un grand nombre de Text Mining - Classification o Classification automatique n Classification automatique d'un grand nombre de documents (pages Web, mails, fichiers textuels) basée sur un échantillon de documents pré-classifié o Mise en oeuvre n Echantillon : des experts génèrent l'échantillon n Classification : l'ordinateur découvre les règles de classification n Application : les règles découvertes peuvent être utilisées pour classer des nouveaux documents et les affecter à la bonne classe 138 Applications

Text Mining - Classification o Quelques problèmes n Synonymie : un mot T peut Text Mining - Classification o Quelques problèmes n Synonymie : un mot T peut ne pas apparaître dans un document mais si le document est très lié à T (data mining / software product) n Polysémie : le même mot peut avoir plusieurs sens (mining) n Représentation des documents (vecteurs de termes, choix des termes représentatifs, calcul de la distance entre un vecteur représentant le groupe de documents et celui du nouveau document, …) n Evolution des classes dans le temps 139 Applications

Text Mining - Corrélations o Analyse d'associations basée sur des mots clés n Recher Text Mining - Corrélations o Analyse d'associations basée sur des mots clés n Recher des associations/corrélations parmi des mots clés ou des phrases o Mise en œuvre n Pré-traitement des données : parser, supprimer les mots inutiles (le, la, …) => prise en compte d'une analyse morpho-syntaxique (e. g. lemmatiseur) n Un document est représenté par : (document_id, {ensemble de mots clés}) n Appliquer des algorithmes de recherche de règles d'association 140 Applications

Text Mining - Corrélations o Quelques problèmes n Ceux du traitement de la langue Text Mining - Corrélations o Quelques problèmes n Ceux du traitement de la langue naturelle n Les mots inutiles (ordinateur ? Utile ? ) – Réduction de l’espace de recherche n Les associations de mots, phrase, paragraphe, . . . 141 Applications

Text Mining – Analyse de tendances o o Recher des tendances dans les documents Text Mining – Analyse de tendances o o Recher des tendances dans les documents Mise en œuvre n Pré-traitement : attention l'ordre est important n Document représenté par : (document_id, ) n Appliquer des algorithmes de motifs séquentiels n Générer l'historique des phrases n Recherche les phrases qui correspondent à des tendances 142 Applications

Text Mining – Analyse de tendances o Principes n Un mot : (m) n Text Mining – Analyse de tendances o Principes n Un mot : (m) n Une phrase : <(m 1) (m 2) (m 3) … (mn)> n Paramètres : Window. Size, Max. Gap, Min. Gap) Une phrase = une phrase o Une phrase = un ensemble de mots proches o Une phrase = un paragraphe min. Gap max. Gap (m 1) (m 2) (mn) Applications Window. Size 143

Text Mining – Analyse de tendances o Gérer l'historique des phrases n Partitionner les Text Mining – Analyse de tendances o Gérer l'historique des phrases n Partitionner les documents en fonction de leur estampille (ex : année pour les brevets, mois pour des documents sur le Web n Pour chaque partition, génération des ensembles fréquents de phrases n Maintenir l'historique des supports pour chaque phrase n Interroger l'historique des phrases pour connaître les tendances (tendance récente à monter, transition récente, résurgence d'usage, …. ) 144 Applications

Text Mining – Analyse de tendances Brevets classés dans la catégorie « Induced Nuclear Text Mining – Analyse de tendances Brevets classés dans la catégorie « Induced Nuclear Reactions: Processes, Systems and Elements » 4, 5 <(fuel) (cladding)> 4 Support (%) 3, 5 <(heat) (removal)> 3 2, 5 <(feed) (water)> <(zirconium) (based) (alloy)> 2 1, 5 <(removal) (system) <(emergency) (cooling)> 1 0, 5 0 Applications 1990 1991 1992 Période 1993 1994 145

Conclusions o Les points forts : n Résultats clairs et explicites. n Adaptée à Conclusions o Les points forts : n Résultats clairs et explicites. n Adaptée à l’exploitation non dirigée des données o n Travaille sur des données de taille variable n Calculs utilisés simples à comprendre Les points faibles : n Volume de calculs (fonction du nombre d’items) n Difficulté de sélectionner le bon nombre d’articles 146 Conclusions

Conclusions o o Depuis 1996 : Problème de recherche ouvert Données de plus en Conclusions o o Depuis 1996 : Problème de recherche ouvert Données de plus en plus complexes (représentations, …), obtenues de plus en plus rapidement (incrémental, flots de données), avec de nouvelles contraintes (préservation de la vie privée, contraintes de dimensions, temporelles), avec valeurs manquantes, … Besoins de nouveaux indicateurs de qualité 147 Conclusions

Conclusions o o o Une URL : KDD Mine ttp: //www. kdnuggets. com Google, Conclusions o o o Une URL : KDD Mine ttp: //www. kdnuggets. com Google, citeseer, … Quelques outils Intelligent Miner (www. ibm. com) Entreprise Miner (SAS Institute) Mine. Set (Silicon Graphics Inc. ) Clementine (Integral Solutions Ltd, racheté par SPSS) DBMiner (www. dbminer. com) o Le projet Weka (librairie de classes Java) http: //www. cs. waikato. ac. nz/ml/weka 148 Conclusions

Références o o o o R. Agrawal, T. Imielinski, and A. Swami. Mining association Références o o o o R. Agrawal, T. Imielinski, and A. Swami. Mining association rules between sets of items in large databases. SIGMOD'93, 207 -216, Washington, D. C. R. Agrawal and R. Srikant. Fast algorithms for mining association rules. VLDB'94 487 -499, Santiago, Chile. R. Agrawal and R. Srikant “Mining sequential patterns”, In Proc. ICDE’ 95, Taiwan, March 1995. R. J. Bayardo. Efficiently mining long patterns from databases. In Proc. SIGMOD’ 98, WA, June 1998 S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. In SIGMOD’ 97 M. N. Garofalakis, R. Rastogi, K. Shim: SPIRIT: Sequential Pattern Mining with Regular Expression Constraints. VLDB 1999: 223 -234, Edinburgh, Scotland. J. Han, J. Pei, and Y. Yin: “Mining frequent patterns without candidate generation”. In Proc. ACMSIGMOD’ 2000, pp. 1 -12, Dallas, TX, May 2000. H. Mannila, H. Toivonen, and A. I. Verkamo. Efficient algorithms for discovering association rules. KDD'94, 181 -192, Seattle, WA, July 1994. J. Han and M. Kamber, Data Mining: Concepts and Techniques, Morgan Kaufmann, 2000. J. Han, J. Pei, B. Mortazavi-Asl, Q. Chen, U. Dayal, M. -C. Hsu, "Free. Span: Frequent Pattern-Projected Sequential Pattern Mining", In Proc. 2000 Int. Conf. on Knowledge Discovery and Data Mining (KDD'00), Boston, MA, August 2000. J. Han, J. Pei, and Y. Yin: “Mining frequent patterns without candidate generation”. In ACM-SIGMOD’ 2000, Dallas, TX, May 2000. V. Kapoor, P. Poncelet, F. Trousset and M. Teisseire. "Privacy Preserving Sequential Pattern Mining in Distributed Databases". Proceedings of the Fifteenth Conference on Information and Knowledge Management (CIKM 2006), Arlington, US, November 2006. 149

Références o o o o H. Mannila, H. Toivonen and A. I. Verkamo. Efficient Références o o o o H. Mannila, H. Toivonen and A. I. Verkamo. Efficient algorithms for discovering association rules. In Proc. KDD’ 94, WA, July 1994 P. A. Laur, M. Teisseire and P. Poncelet. "AUSMS: An Environment for Frequent Sub-Substructures Extraction in a Semi-Structured Object Collection". Proceedings of the 14 th International Conference on Database and Expert Systems Applications (DEXA'03), Prague, Czech Republic, LNCS, pages 38 -45, September 03. F. Masseglia, P. Poncelet and M. Teisseire. "Peer-to-Peer Usage Mining: a Distributed Mining Approach". Proceedings of the IEEE 20 th International Conference on Advanced Information Networking and Applications (AINA 2006), Vienna, Austria, April 2006. F. Masseglia, F. Cathala and P. Poncelet. "PSP: Prefix Tree For Sequential Patterns". Proceedings of the 2 nd European Symposium on Principles of Data Mining and Knowledge Discovery (PKDD'98), Nantes, France, LNAI, Vol. 1510, pp. 176 -184, September 1998. F. Masseglia, M. Teisseire et P. Poncelet. "Extraction de motifs séquentiels - Problèmes et Méthodes". Revue Ingénierie des Systèmes d'Information (ISI), Numéro spécial "Extraction et usages multiples de motifs dans les Bases de Données", Vol. 9, N. 3 -4, 2004, pp. 183 -210. F. Masseglia, M. Teisseire and P. Poncelet. "Pre-Processing Time Constraints for Efficiently Mining Generalized Sequential Patterns". Proceedings of the 11 th International Symposium on Temporal Representation and Reasoning (TIME'04), Tatihou, Basse Normandie, France, July 2004 F. Masseglia, P. Poncelet and M. Teisseire. "Incremental Mining of Sequential Patterns in Large Databases". Data and Knowledge Engineering, Volume 46, Issue 1, pages 97 -121, 2003. (PDF) F. Masseglia, M. Teisseire and P. Poncelet. "HDM: A Client/Server/Engine Architecture for Real Time Web Usage". Knowledge and Information Systems (KAIS) journal, Vol. 5, N° 4, October 2003. 150

Références o o o o C. Raissi and P. Poncelet. Références o o o o C. Raissi and P. Poncelet. "Towards a New Approach for Mining Maximal Frequent Itemsets over Data Stream". Journal of Intelligent Information Systems, Springer (to appear 2006) C. Raissi, P. Poncelet and M. Teisseire. "SPEED: Mining Maximal Sequential Patterns over Data Streams". Proceedings of the 3 rd IEEE International Conference on Intelligent Systems (IEEE IS 2006), London, UK, September 2006. A. Savasere, E. Omiecinski, and S. Navathe. An efficient algorithm for mining association in large databases. In VLDB’ 95 R. Srikant and R. Agrawal “Mining sequential patterns: Generations and performance improvements”, In Proc. EDBT’ 96, France, March 1996. H. Toivonen. Sampling large databases for association rules. In VLDB’ 96 Wei Wang, Jiong Yang, Philip S. Yu: Mining Patterns in Long Sequential Data with Noise. SIGKDD Explorations 2(2): 28 -33 (2000) M. J. Zaki. Efficient enumeration of frequent sequences. CIKM’ 98. Novermber 1998. 151