La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

1 Extraction de Connaissances à partir de Données et Fouille de Données Knowledge Discovery in Data Bases and Data Mining Pascal Poncelet

Présentations similaires


Présentation au sujet: "1 Extraction de Connaissances à partir de Données et Fouille de Données Knowledge Discovery in Data Bases and Data Mining Pascal Poncelet"— Transcription de la présentation:

1 1 Extraction de Connaissances à partir de Données et Fouille de Données Knowledge Discovery in Data Bases and Data Mining Pascal Poncelet Centre de Recherche LGI2P Ecole des Mines dAlès

2 2 Objectifs du cours Knowledge Discovery in Data Bases (KDD) Extraction de Connaissances à partir de Données (ECD) Data Mining (DM) Fouille de Données (FD) Règles d association Motifs Séquentiels Applications

3 3 Organisation du cours Les règles dassociation Les motifs séquentiels Web Usage Mining Text Mining Conclusion

4 4 Recherche de règles dassociation Les règles d association

5 5 Recherche de règles dassociation Les règles d association l Règles de la forme : ANTECEDENT CONSEQUENT [Support, Confiance] (support et confiance sont des mesures dintérêt définies par lutilisateur) l Exemples l Achat (x, « Beurre ») ET Achat (x, « Pain ») Achat(x, « Lait ») [70%, 80%] l Achat (x, « Bière ») ET Achat (x, « Gâteaux ») Achat (x, « Couches ») [30%, 80%] l Achat (x, « Caviar ») Achat(x, « Champagne ») [10%, 90%] l Age (x, « ») ET Revenue (x, «42..50K ») Achat(x, « Voiture ») [1%,75%] l Cours (x, « Introduction à Unix ») Cours (x, « Programmation C ») [34%, 84 %]

6 6 Recherche de règles dassociation Les règles d association

7 7 Recherche de règles dassociation Les règles d association l Interprétation l R : X Y (A%, B%) l A% de toutes les transactions montrent que X et Y ont été achetés en même temps (support de la règle) et B% des clients qui ont acheté X ont aussi acheté Y (confiance dans la règle). l Beurre, Pain Lait [70%, 80%] l Bière, Gâteaux Couches [30%, 80%] l Caviar Champagne [10%, 90%] l Brosse à dents dentifrice [13%, 90%] l « Introduction à Unix » « Programmation C » (34%, 84%)

8 8 Recherche de règles dassociation Les règles d association l Utilisation des règles dassociation Bière, … Couches l Couches comme conséquent Peut être utilisé pour déterminer ce quil faut faire pour augmenter les ventes l Bière comme antécédent Peut être utilisé pour voir quel produit serait affecté si on narrête de vendre de la bière l Bière comme antécédent et Couche comme conséquent Peut être utilisé pour voir quels produits devraient être vendus avec la Bière pour promouvoir la vente de couches

9 9 Recherche de règles dassociation Les règles d association l Définition des ensembles fréquents Soit un ensemble I = {I1, I2,..., Im} ditems, une transaction T est définie comme les sous-ensembles ditems dans I ( I). l I = {Bière, Café, Couche, Gâteaux,Moutarde,Saucisse...} l T1 = {Café,Moutarde,Saucisse} l Une transaction na pas de duplicats l Soit une base de données D un ensemble de n transactions et chaque transaction est nommée par un identifiant (TID). D = {{T1, {Café,Moutarde,Saucisse}}, {T2, {Bière, Café, Gâteaux}},...}

10 10 Recherche de règles dassociation Les règles d association l Une représentation de la base de données D l En fait ….

11 11 Recherche de règles dassociation Les règles d association l Définition des ensembles fréquents (suite) Une transaction T supporte un ensemble X I si elle contient tous les items de X (X T). l T1 supporte {Café, Moutarde,Saucisse} Support de X (supp(X)) : fraction de toutes les transactions dans D qui supportent X ; si supp(X) s min lensemble X est dit fréquent. l Un ensemble ditems (itemset) X de cardinalité k = |X| est appelé un k-itemset. 3-itemset : {Café, Moutarde, Saucisse}

12 12 Recherche de règles dassociation Les règles d association l Propriétés des ensembles fréquents l Propriété 1 : support pour les sous-ensembles 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} l Propriété 2 : les sur-ensembles densembles non fréquents sont non fréquents Si litemset A ne vérifie pas le support minimum dans D, i.e. supp(A) < s min, alors tous les sur-ensembles B de A ne seront pas fréquents car supp(B) supp(A) < s min (par la propriété 1).

13 13 Recherche de règles dassociation Les règles d association l Propriétés des ensembles fréquents (2) l Propriété 3 : les sous-ensembles densembles fréquents sont fréquents l Si litemset B est fréquent dans D, i.e. supp(B) >= s min, alors tous les sous ensembles A de B sont aussi fréquents dans D car supp(A) >= supp(B) >= s min (propriété 1). En particulier, si A = {i1, i2,...ik} est fréquent, tous ses (k- 1)-sous-ensembles sont fréquents. Linverse nest pas vrai.

14 14 Recherche de règles dassociation Les règles d association l Définition des règles dassociation l Une règle dassociation est une implication de la forme R : X Y où X et Y sont des itemsets disjoints : X, Y I et X Y =. R : Bière, Gâteaux Couches l Confiance (confidence) dans une règle R : 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)

15 15 Recherche de règles dassociation Les règles d association l Définition des règles dassociation (suite) l propriété conditionnelle que si T supporte X, elle supporte aussi Y l pour chaque itemset fréquent, L, rechercher les sous- ensembles non vides X. l Pour chaque sous-ensemble X : R : X (L-X) ssi : Support(L) / Support (X) > confiance supp(Bière,Gâteaux,Couches) conf(R) = >= confiance ? supp (Bière, Gâteaux)

16 16 Recherche de règles dassociation l Itemsets : A, B ou B, E, F l Support pour un itemset : Supp (A,B)=1 Supp (A,C) = 2 l Itemsets fréquents Avec minSupp=2, {A,C} est un itemset fréquent l Pour minSupp = 50% et minConf = 50%, nous avons les règles suivantes : l A C [50%, 50%] l C A [50%, 100%] Les règles d association Trans. ID Items 1A, D 2A, C 3A, B, C 4B, E, F

17 17 Recherche de règles dassociation Les règles d association l Propriétés des règles dassociations l Propriété 4 : pas de composition des règles Si X Z et Y Z sont vrais dans D, X U Y Z nest pas nécessairement vrai. 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%. l Propriété 5 : décomposition des règles Si X U Y Z convient, X Z et Y Z peut ne pas être vrai. T(X) T(Z) T(Y)

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

19 19 Recherche de règles dassociation Les règles d association l Schéma algorithmique de base l La plupart des approches utilise le même schéma algorithmique l Pour construire les règles d association, le support de tous les itemsets fréquents dans la base doit être calculé l L algorithme procède en deux phases : l Première étape Génération de tous les ensembles fréquents l Seconde Etape Génération des règles d association

20 20 Recherche de règles dassociation Les règles d association l Génération de tous les ensembles fréquents l 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. l Approche naïve : recherche exhaustive et test de tous les ensemble du produit cartésien pour savoir s ils sont fréquents l 1000 items => ensembles à considérer l Approche générale : l génération de candidats supposés fréquents l comptage du support des candidats au travers de la base l réduire le nombre de candidats générés

21 21 Recherche de règles dassociation Les règles d association l Vers un algorithme générique : N = 1 N-fréquents N=N+1 N-candidats N-fréquents détéctés

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

23 23 Recherche de règles dassociation Les règles d association l Problèmatique initiée en 1993 l Réduire le temps CPU l Réduire le nombre de passes sur la base (I/O) l 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 PrefixSpan - J. Pei, J. Han, …. - ICDE01 SPADE - M. Zaki - Machine Learning01 ….

24 24 Recherche de règles dassociation Les règles d association l L algorithme AIS l Premier algorithme l Algorithme général pour la recherche ditemsets fréquents

25 25 Recherche de règles dassociation Les règles d association Parcours de la base Génération des candidats Mise à jour du support

26 26 Recherche de règles dassociation Les règles d association l Deux cas extrêmes l 2 m compteurs, i.e. tous les sous-ensembles de I ( 1 seule passe mais infaisable !! (m > 1000 items)) l génération de trop de candidats : extension d'un seul item à la fois => trop de passes sur la base l Entre les deux l support attendu pour un itemset, i.e. mesurer l'estimation du support en fonction des passes précédentes et des x tuples déjà lus dans la passe courante itemset attendu fréquent (large) itemset attendu petit

27 27 Recherche de règles dassociation Les règles d association

28 28 Recherche de règles dassociation Les règles d association l Un exemple Items set I = {A, B, C, D, E, F} Frontier set F = {A,B} Transaction t = {A,B,C,D,F} Cas des 1-extensions TID A B C D F t A B A B CA B D F 1-Extensions:

29 29 Recherche de règles dassociation Les règles d association Avec le support attendu ABC attendu fréquent (à continuer) ABCD attendu petit (ne pas étendre) ABCF attendu fréquent (pas étendable) ABD attendu petit (ne pas étendre) ABF attendu large (pas étendable) ABCDF non considéré (ABCD petit) ABDF non considéré (ABD petit) ABCE, ABE non considéré (E n appartient pas à t)

30 30 Recherche de règles dassociation Les règles d association l Construction du frontier set l idée initiale : sélectionner seulement les itemsets fréquents maximaux l mais : si ABCD et ABD sont en fait fréquents, si ABD rejeté du frontier set alors quid de ABDF ? (complétude ?) l Frontier set pour la passe suivante = « candidats attendus petits mais en fait fréquents dans la passe courante » les extensions de ces candidats n'ont jamais été considérées (pas de redondance + complétude) et les autres ?

31 31 Recherche de règles dassociation Les règles d association l Construction du frontier set (2) l candidat itemset fréquents mais pas attendu petits pas dans le frontier set (toutes les extensions ont déjà été considérées) l candidat itemset petit pas dans le frontier set (le support de l'extension ne peut pas être supérieur à celui de l'itemset )

32 32 Recherche de règles dassociation Les règles d association l Défaut : trop de candidats générés l temps de calcul vs. accès disque l « pruning techniques » : une extension doit-elle être inclue dans l'ensemble candidat ou pas ? utilisation de fonctions d'optimisation (prix total des transactions,...)

33 33 Recherche de règles dassociation Les règles d association l L algorithme SETM l Conçu pour utiliser des opérations BD standards l Propre représentation de données : tous les itemsets supportés par une transaction sont stockés avec le TID de la transaction l Modification répétée de la base de données pour : - la génération des candidats, - le comptage du support, - la suppression des ensembles non fréquents.

34 34 Recherche de règles dassociation Les règles d association l Calcul des candidats par autojointure des itemsets fréquents : insert into C k+1 select a.TID, a.item 1, a.item 2,...,a.item k, b.item k from L k a, L k b where a.TID=b.TID, a.item 1 =b.item 1,...a.item k-1 = b.item k-1, a.item k < b.item k

35 35 Recherche de règles dassociation Les règles d association

36 36 Recherche de règles dassociation Les règles d association Tri sur les items C2 TIDItems 3A,B 1A,C 3A,C 1A,D 3A,D 2B,C 3B,C 2B,D 3B,D 1C,D 2C,D 3C,D Suppression des itemsets non fréquents L2 TIDItems 1A,C 3A,C 1A,D 3A,D 2B,C 3B,C 2B,D 3B,D 1C,D 2C,D 3C,D Group by Items avec un Having

37 37 Recherche de règles dassociation Les règles d association

38 38 Recherche de règles dassociation Les règles d association l Candidats recopiés pour chaque transaction où ils interviennent Grande taille des résultats intermédiaires l Stockage explicite des itemsets (items listés par ordre ascendant) l Grandes relations intermédiaires triées deux fois pour générer le prochain ensemble de candidats l Génére moins de candidats qu'AIS Avec L2 comme frontier set et pour la première transaction, AIS génère {A,C,E}, {A,D,E} et {C,D,E} alors que E n'est pas un item fréquent l Conclusion …. Inefficace mais intéressant car facile à mettre en œuvre

39 39 Recherche de règles dassociation Les règles d association l L algorithme APriori l But : minimiser les candidats l Principe : générer seulement les candidats pour lesquels tous les sous-ensembles ont été déterminés fréquents l Génération des candidats réalisée avant et de manière séparée de l'étape de comptage l Génération des candidats une seule fois et non pas transaction par transaction SETM créé plus de candidats et pour chaque transaction

40 40 Recherche de règles dassociation Les règles d association

41 41 Recherche de règles dassociation Les règles d association L4 = {{A,C,D,F}, {A,C,D,H},...} génération du candidat C5 = {A,C,D,F,H} sous-ensembles à tester : {C,D,F,H}, {A, D,F,H}, {A,C,F,H}

42 42 Recherche de règles dassociation Les règles d association l Stockage de tous les ensembles candidats dans un arbre (structure de hash-tree) structure de tous les 3-candidats possibles pour 5 items A B C B C D {C} {D} {E} {D} {E} {C,D} {C,E} {D,E} Ensemble {A,C,D}

43 43 Recherche de règles dassociation Les règles d association l Parcourir la base et compter tous les candidats possibles d un tuple t de la base: l Rechercher toutes les feuilles qui peuvent contenir les candidats - Hachage sur chaque item du tuple et descente dans l arbre des candidats l Vérification pour voir ceux effectivement supportés par t l Incrémenter leur support

44 44 Recherche de règles dassociation Les règles d association

45 45 Recherche de règles dassociation Les règles d association L1 = {{A},{B},{C},{D},{E},{F},{G}} 1-itemsets fréquents Support minimal = 1

46 46 Recherche de règles dassociation Les règles d association 2-itemsets fréquents L2 = {{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}}

47 47 Recherche de règles dassociation Les règles d association 3-itemsets fréquents L3 = {{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 à L2

48 48 Recherche de règles dassociation Les règles d association 4-itemsets fréquents L4 = {{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 à L3 {D,E,F,G} élagué car {E,F,G} n appartient pas à L3

49 49 Recherche de règles dassociation Les règles d association 6-itemsets fréquents L6 = {{A,B,C,D,E,F} C7 = { } => l algorithme se termine => 7 balayages pour déterminer tous les itemsets fréquents

50 50 Recherche de règles dassociation Les règles d association l Avantage : beaucoup moins de candidats générés et très efficace l Problème : trop de lecture de la base APrioriTid (stockage des candidats et des transactions comme SETM) APrioriHybrid = Apriori + AprioriTid l La référence

51 51 Recherche de règles dassociation Les règles d association l L algorithme Partition l But : Réduire le nombre de passes l Principe : partitionner la base de manière à ce que chaque partition tienne en mémoire centrale (utilisation d Apriori pour chaque partition) - 2 passes sur la base l Phase 1 : Division de la base; 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 l Phase 2 : le support de ces itemsets est généré pour identifier les itemsets fréquents réels

52 52 Recherche de règles dassociation Les règles d association l L algorithme DIC (Dynamic Itemset Counting) l But : réduction du nombre de balayage de la base l Lecture par blocs de M transactions l Essayer de générer le plus vite possible, i.e. à la fin de M, des (k+1)-itemsets pour les rechercher dans les prochaines M transactions l Par exemple, pour transactions avec M = compter les 1-itemsets dans les commencer à compter les 2-itemsets après lecture des transactions 3-itemsets après les transactions … 1,5 passages au lieu des 3 d Apriori

53 53 Recherche de règles dassociation Les règles d association transactions 4-itemsets 2-itemsets3-itemsets4-itemsets 1-itemsets 2-itemsets3-itemsets

54 54 Recherche de règles dassociation Les règles d association l L algorithme SAMPLING l Idée : prendre un ensemble aléatoire qui réside en mémoire centrale et rechercher tous les itemsets fréquents l Très efficace : 1 passe, 2 passes au pire l Basée sur la bordure négative R={A,B,C,D,E,F} pour un support minimum : {A}, {B}, {C}, {F}, {A,B}, {A,C}, {A,F}, {C,F}, {A,C,F} la bordure négative = {{B,C}, {B,F}, {D}, {E}} principe : étant donnée un ensemble de résultats, la bordure négative contient les itemsets « les plus proches » qui pourraient être fréquents (par exemple, {B,C} n est pas dans le résultat mais ses sous-ensembles oui)

55 55 Recherche de règles dassociation Les règles d association l 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 minumum en mémoire centrale 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 D = 10 millions de tuples - A... F - support minimum = 2% - Echantillon s de tuples petit support minimum = 1,5% Fréquents trouvés sur l échantillon pour 1,5% : F={{A,B,C},{A,C,F},{A,D},{B,D}} Bordure négative = BD={{B,F},{C,D},{D,F},{E}} 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

56 56 Recherche de règles dassociation Les règles d association l Depuis 2000 : Hypothèse forte « La base peut tenir en mémoire » l Constat : génération d un trop grand nombre de candidats l s il y a itemset => génération de 10 7 candidats 2- itemsets l Pour un fréquent de 100, il faut générer plus de candidats au total l Est-il possible de proposer une méthode qui évite de générer des candidats ? La réponse : FP-Tree

57 57 Recherche de règles dassociation Les règles d association null I2:7 I1:4 I5:1 I3:2 I4:1 I3:2 I4:1 I1:2 I3:2 1 - Parcours de la base pour rechercher les 1-fréquents 2 - Tri des fréquents dans l ordre décroissant 3 - Construction de l arbre

58 58 Recherche de règles dassociation Les règles d association null I2:7 I1:4 I5:1 I3:2 I4:1 I3:2 I4:1 I1:2 I3:2 I2 I1 I3 I4 I

59 59 Recherche de règles dassociation Les règles d association null I2:7 I1:4 I5:1 I3:2 I4:1 I3:2 I4:1 I1:2 I3:2 On commence par ceux dont le support est le plus faible Pour I5 chemins pour I5 et en considérant I5 comme suffixe on a : => (support I3 = 1) Génération : I2 I5 : 2 I1 I5 : 2 I2 I1 I5 : 2 Pour I4 Avec I4 comme suffixe et => fréquent I2 I4 : 2 Pour I3 Avec I3 comme suffixe,, => fréquents : I2 I3 : 4 I1 I3 : 2 I2 I1 I3 : 2... Support minimal = 1

60 60 Recherche de règles dassociation Les règles d association l Des règles plus générales l Les règles négatives : Expr(Ci) Expr(Cj) avec ET, OU, NOT l Les règles multi-attributs : Associent des valeurs d attributs distincts téléphone : source = « New-York » Cible = « Paris » l Les règles à attributs variables : Age [x,y] => Salaire > 45 K (5%; 30%) l Les règles avec généralisation Associée à une taxonomie l Les motifs séquentiels A Puis B Puis C

61 61 Recherche de règles dassociation Les règles d association l Approches très efficaces maintenant l Attention : les règles d'association sont faciles à comprendre mais attention leur utilité est moins évidente l 3 cas de règles l La règle utile contenant des informations de qualité qui peuvent être mises en pratique ex : le Jeudi, les clients des épiceries achètent en même temps de la bière et des couches l Les résultats triviaux qui sont connus par quiconque ex : les client des épiceries achètent en même temps du pain et du beurre l Les résultats inexplicables qui sont difficiles à situer et donc à expliquer ex : lors de l'ouverture d'une quincaillerie, parmi les articles les plus vendus on trouve les abattants de toilette

62 62 Recherche de règles dassociation Les règles d association DBMiner (www.dbminer.com)

63 63 Recherche de règles dassociation Les règles d association DBMiner (www.dbminer.com)

64 64 Recherche de règles dassociation Les règles d association Intelligent Miner (www.ibm.com)

65 65 Organisation du cours Les règles dassociation Les motifs séquentiels Web Usage Mining Text Mining Conclusion

66 66 Recherche de motifs séquentiels Les motifs séquentiels l Même problématique mais avec le temps l Item : « un article » l Transaction : un client + un itemset + une estampille temporelle l Séquence : liste ordonnée ditemsets l Séquence de données : « activité du client » Soit T 1, T 2, … T n, les transactions du client C, la séquence de données de C est : l Support minimal : nombre minimum doccurrences dun motif séquentiel pour être considéré comme fréquent l Attention loccurrence nest prise en compte quune fois dans la séquence

67 67 Recherche de motifs séquentiels Les motifs séquentiels l Inclusion : l Soient S 1 = et S 2 = S 1 S 2 ssi i 1 < i 2 < … < i n / a 1 b i1, …. a n b in l Exemples : S1 = S2 = S1 S3 = nest pas incluse dans S1

68 68 Recherche de motifs séquentiels Les motifs séquentiels Support = 60% (3 clients) =>

69 69 Recherche de motifs séquentiels Génération des candidats pour les motifs séquentiels Les motifs séquentiels

70 70 Recherche de motifs séquentiels 30 Nécessité d une structure efficace : structure de hachage Root S = 40 Les motifs séquentiels

71 71 Recherche de motifs séquentiels l Vers une structure plus efficace : Structure prefix tree (PSP) : Exploitation des préfixes communs que présentent les candidats root Les motifs séquentiels

72 72 Recherche de motifs séquentiels l Génération des candidats de taille Root Root Les motifs séquentiels

73 73 Recherche de motifs séquentiels l Génération des candidats de taille > Root Root Les motifs séquentiels

74 74 Recherche de motifs séquentiels l Les motifs séquentiels conviennent pour un grand nombre d applications l mais pour certains domaines d applications il est nécessaire de limiter les résultats ex : corrélations entre achat du caviar le 1er janvier 2002 et de champagne le 31 décembre 2002 l Vers les motifs séquentiels généralisés windowSize : regrouper des événements minGap : considérer des événements comme trop proches maxGap : considérer des événements comme trop éloignés Les motifs séquentiels

75 75 Recherche de motifs séquentiels l Séquence de données : d = l Candidat : C = Avec windowSize = 3, minGap=0, maxGap = 5, d devient Donc C est inclus dans d l Candidat : C = Avec windowSize = 1, minGap=3, maxGap = 4, d devient or minGap pas respecté entre 3 et 5 Donc C nest pas inclus dans d Les motifs séquentiels

76 76 Recherche de motifs séquentiels windowSize=7 jours : <(Foundation, Ringworld) (Ringworld Engineers)> Support = 50% : et Les motifs séquentiels

77 77 Recherche de motifs séquentiels Un autre exemple <(10) (20) (30 40) (60) minGap=1 windowSize=5 Les motifs séquentiels

78 78 Date C windowSize = 5, minGap = 1 Via minGap Puis avec windowSize En fait: et Recherche de motifs séquentiels Les motifs séquentiels

79 79 Date C Recherche de motifs séquentiels Les motifs séquentiels minGap

80 80 Date C Recherche de motifs séquentiels Les motifs séquentiels minGap Un chemin = une séquence Tous les chemins mais quid des inclusions ?

81 81 Recherche de motifs séquentiels Les motifs séquentiels minGap

82 82 Recherche de motifs séquentiels Les motifs séquentiels Regrouper ensemble les nœuds de même origine

83 83 Recherche de motifs séquentiels Les motifs séquentiels Supprimer les nœuds inclus ayant même destination

84 84 Recherche de motifs séquentiels Les motifs séquentiels et

85 85 Recherche de motifs séquentiels Les motifs séquentiels S S {S1, S2,.. Sn} DB GTC AVANT APRES Arbre des candidats

86 86 Organisation du cours Les règles dassociation Les motifs séquentiels Web Usage Mining Text Mining Conclusion

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

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

89 89 Web Usage Mining Exemple dutilisation Applications

90 90 Web Usage Mining l Un exemple doutil : Analog (Web Log File Analyser) l Statistiques générales : l Nombre de hits l Quelle est la page la plus populaire du site ? l Qui a visité le site ? l Quest ce qui a été téléchargé ? l Quels sont les mots clés utilisés pour venir sur le site ? Applications

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

92 92 Web Usage Mining Applications

93 93 Web Usage Mining Applications

94 94 Web Usage Mining l Sources de données l Utilisation de fichiers logs l Les logs sont enregistrés dans quatre types de fichiers : l fichier de logs de transfert : il enregistre tous les transferts de fichiers résultant dune requête à un serveur ; l fichier de logs derreur : il conserve la trace des incidents survenus dans le dialogue avec le serveur (ex : URL erronée, transfert interrompu,...) ; l fichier de logs référentiels : il indique le site et la page de provenance et darrivée ; fichier de logs dagent : il archive les informations sur léquipement des utilisateurs (ex : caractéristiques du navigateur,....) l Mais aussi cookies, bases de données des clients, …. Applications

95 95 Web Usage Mining Applications

96 96 Web Usage Mining l Préparation des données Vérification du suffixe (gif, jpeg, …) Elimination des robots (agents des moteurs) l Identification de lutilisateur Tout nest pas dans le fichier Access Log Utilisation dheuristiques : Si une page est demandée et quelle nest pas directement liée aux autres pages, il est probable quil existe différents utilisateurs sur la même machine Utilisation des informations sur lIP, le nom de la machine, le navigateur, des informations temporelles … Applications

97 97 Web Usage Mining l Identification Comment identifier un unique visiteur ? l Problèmes : l Les ID des utilisateurs sont souvent supprimés pour des raisons de sécurité l Les IP individuelles sont parfois cachées par les proxys l Les caches des proxy et du côté clients font que les access logs ne sont pas complets l Solutions actuelles : l Enregistrement de lutilisateur – pratique ?? l Cookies – difficile ?? l « Cache busting » - augmente le traffic sur le réseau (inutile avec certains proxy) Applications

98 98 Web Usage Mining l Sessions Comment identifier/définir une transaction dun visiteur ? l « Time Oriented » l Durée totale dune session : pas plus de 30 minutes l Par temps passé sur une page : pas plus de 10 minutes/page l « Navigation Oriented » l Le « referrer » est la page précédente, ou l Le « referrer » nest pas défini mais demandé dans les 10 secondes, ou l Le lien de la page précédente à la page courage dans le site web Applications

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

100 100 Web Usage Mining Applications l Limite de l approche : Analyse en différée … problème de la pertinence des résultats l Vers une approche « temps réel » l Pourquoi ne pas extraire les motifs séquentiels avec une méta- heuristique ? l Inspiration des algorithmes génétiques l Principe assez similaire

101 101 Web Usage Mining Applications Séquence fréquente Population de candidats Candidats évalués Séquences fréquentes Nouvelle population de Séquences fréquentes Opérateurs de voisinage + DB

102 102 Web Usage Mining Applications M1 M2 Mn Séquence fréquente Population de candidats Candidats évalués Séquences fréquentes Nouvelle population de Séquences fréquentes Opérateurs de voisinage +

103 103 Web Usage Mining Applications l Opérateurs de voisinage l Ajout d item avec l item c l Nouvel item fréquent : candidats de taille 2 l Croisement et l Croisement amélioré la coupure se fait après le plus long préfixe commun l Dernier croisement la seconde séquence est choisie pour son préfixe l Extension de séquence mélange entre ajout d item et nouvel item fréquent

104 104 Web Usage Mining Applications l Disponibilité immédiate l en tant que pré-calcul ou comme résultat direct l Un nouveau type de séquence l « la période du 02 au 07 janvier abrite le fréquent <(x) (y) (z), avec un support de 70% » l Résultats dédiés aux utilisateurs connectés l Puissance de calcul inépuisable l Data Mining intéractif l Extraction de fréquents de grande taille

105 105 Web Content Mining Applications l Idée principale : Rechercher de sous-structures communes dans des bases de données dobjets complexes l Applications : l Indication pour interroger/naviguer dans les sources dinformation l Information générale sur le contenu l aide à la construction dindex ou de vues l découverte de motifs dintérêt ou daccès (Web Usage Mining) l aide à la rétro-conception

106 106 Web Content Mining Applications l Considérer un « graphe » comme une séquence Person:{identity:{id,address: }} B:Modify(order) E:Modify(client.credit) F:Modify(client.trusted) C:Modify(amount) G:Modify(order.status) H:Modify(client.trusted) t1,F,C> (LA 1 ) (LB 1 ) (LE 2 ) (LG 3 ) (LH 3 ) (LF 2 ) (LC 1 ) (Sidentity 1 ) (Sid 2 Saddress 2 ) (Lstreet 3 ) (Lzipcode 3 ) address identity zipcode street id Person

107 107 Organisation du cours Les règles dassociation Les motifs séquentiels Web Usage Mining Text Mining Conclusion

108 108 Text Mining l Qu'est ce que le Text Mining L'extraction d'information et de connaissance à partir de données textuelles (découvertes de tendances, classification/organisation, ….) l Les bases de données textuelles sont omniprésentes Bases de données de bibliothèques, bases de données de documents, mails, WWW, … Les données textuelles sont structurées ou semi- structurées l La quantité de données textuelles augmente très rapidement Le texte est facile à produire L'interconnexion de réseau permet un accès facile (le Web est une base de texte dynamique, interconnectée, énorme) Applications

109 109 Text Mining l Un mot sur : Information Retrieval IR : un domaine développé en parallèle des bases de données L'information est organisée dans (un grand nombres de) document IR : localisé les documents pertinents en se basant sur l'entrée de l'utilisateur (mots clés ou documents exemples) l Problème : l'information supplémentaire « L 'analyste a besoin d'avoir la bonne information » l IR n'est pas suffisant Trop de documents peuvent contenir l'information utile L'analyste peut même ne pas savoir ce qu'il attend (!) Le problème n'est pas forcément de trouver les bons documents mais les modèles/tendances parmi plusieurs documents Applications

110 110 Text Mining l Classification automatique l Classification automatique d'un grand nombre de documents (pages Web, mails, fichiers textuels) basé sur un échantillon de documents pré-classifié l Mise en oeuvre l Echantillon : des experts génèrent l'échantillon l Classification : l'ordinateur découvre les règles de classification l Application : les règles découvertes peuvent être utilisées pour classer des nouveaux documents et les affecter à la bonne classe l Quelques problèmes l 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) l Polysémie : le même mot peut avoir plusieurs sens (mining) Applications

111 111 Text Mining l Analyse d'association basée sur des mots clés l Rechercher des associations/corrélations parmi des mots clés ou des phrases l Mise en œuvre l Pré-traitement des données : parser, supprimer les mots inutiles (le, la, …) => prise en compte d'une analyse morpho- syntaxique (lemmatiseur) l Considérer que chaque document correspond à un identifiant de transaction : (document_id, {ensemble de mots clés}) l Appliquer des algorithmes de recherche de règles d'association l Quelques problèmes l Les mots inutiles (ordinateur ? Utile ?) l Les associations de mots, phrase, paragraphe,... Applications

112 112 Text Mining l Analyse de tendances l Rechercher des tendances dans de nombreux documents l Mise en œuvre l Pré-traitement : cf précédent mais attention à la place des mots => l'ordre est important l Considérer que chaque document correspond à un identifiant de transaction : (document_id, ) l Appliquer des algorithmes de recherche de motifs séquentiels l Générer l'historique des phrases l Recherche les phrases qui correspondent à des tendances Applications

113 113 Text Mining l Principes l Un mot : (m) l Une phrase : l Grâce aux paramètres (WindowSize, MaxGap, MinGap) grande latitude dans la définition d'une phrase l Une phrase = une phrase l Une phrase = un ensemble de mots proches l Une phrase = un paragraphe (m1) (m2) (mn) minGapmaxGap Applications WindowSize

114 114 Text Mining l Gérer l'historique des phrases l Partitionner les documents en fonction de leur estampille ex : année pour les brevets, mois pour des documents sur le Web l Pour chaque partition, génération des ensembles fréquents de phrases l maintenance de l'historique des supports pour chaque phrase l Interrogation de l'historique des phrases pour savoir celles qui correspondent à une certaine tendance (tendance récente à monter, transition récente, résurgence d'usage, ….) Applications

115 115 Text Mining Un exemple de tendances Brevets classés dans la catégorie « Induced Nuclear Reactions: Processes, Systems and Elements » 0 0,5 1 1,5 2 2,5 3 3,5 4 4, Période Support (%) <(removal) (system) Applications

116 116 Conclusion l Les points forts : Elle produit des résultats clairs et explicites. Elle est adaptée à lexploitation non dirigée des données Elle travaille sur des données de taille variable Les calculs quelle utilise sont simples à comprendre l Les points faibles : Le volume des calculs augmente exponentiellement en fonction de la taille du problème Difficulté de trouver le bon nombre darticles à utiliser l Depuis 1996, problème de recherche ouvert : gestion dynamique du support, données fortement corrélées, incrémental Conclusion

117 117 Conclusion

118 118 Conclusion

119 119 Conclusion

120 120 Conclusion l Une URL KDD Mine l Quelques outils Intelligent Miner (www.ibm.com) Entreprise Miner (SAS Institute) MineSet (Silicon Graphics Inc.) Clementine (Integral Solutions Ltd, racheté par SPSS) DBMiner (www.dbminer.com) … l Le projet Weka (librairie de classes Java) Conclusion

121 121 Recherche de règles dassociation Les règles d association l Confiance dans la Confiance ? l Rappel : A B, P(A|B), i.e. P(A,B)/P(A) l Problème : P(B) est ignoré P(A,B)/P(A) peut être égal à P(B) (i.e. l occurrence de B n est pas relié à A) et peut être assez grand pour que la règle fonctionne l transactions (6000 jeux vidéos, 7500 DVD, 4000 jeux vidéos et DVD), support minimal = 30% et confiance = 60% jeux vidéos DVD (40%, 66%) ASSOCIATION FORTE support =4000/10000=40% confiance = 4000/6000=66% => Pourtant la probabilité d acheter des DVD est de 75% (>> 66%) En fait les jeux vidéos et les DVD sont « négativement » associés car l achat d un de ces items diminue la probabilité d achat de l autre


Télécharger ppt "1 Extraction de Connaissances à partir de Données et Fouille de Données Knowledge Discovery in Data Bases and Data Mining Pascal Poncelet"

Présentations similaires


Annonces Google