IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré.

Slides:



Advertisements
Présentations similaires
Structures de données avancées : MLH (Multidimensional linear hashing)
Advertisements

Théorie des graphes.
Material/Sources: Daniel Bardou, Julie Dugdale &
Data Mining.
Classification et prédiction
Regroupement (clustering)
Règles d’association.
Extraction de Connaissances à partir de Données et Fouille de Données Knowledge Discovery in Data Bases and Data Mining Pascal Poncelet
Inférence statistique
Dr DEVILLE Emmanuelle J D V 12/07/2006
Système formel Nous avons introduit : signes de variables (x, y, z, …), de constantes (0, 1), d’opérations (+, ), de relations (=, ) Axiomes : ce sont.
Cliques & Bicliques Maximales
Christelle Scharff IFI Juin 2004
To Tune or not to Tune? To Tune or not to Tune? A Lightweight Physical Design Alerter Costa Jean-Denis Le Yaouanc Aurélie Mécanismes de SGBD 2007.
Structures de données linéaires
Plus courts chemins On présente dans ce chapitre un problème typique de cheminement dans les graphes : la recherche d'un plus court chemin entre deux sommets.
Concepts avancés en mathématiques et informatique appliquées
Arbre Rouge Noir.
Groupe 1: Classes de même intervalle
VOXPOP Questions de concepts en vrac…. Voxpop Deux sphères uniformément chargées sont fixées solidement à des rondelles (tout en étant électriquement.
La segmentation
Gestion de Fichiers Arbres B.
Comprendre la variation dans les données: Notions de base
Algorithme de Bellman-Ford
Projet Acquisition de connaissances
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
Les Fonctions. Définir une fonction Sections de code indépendantes que lon peut appeler à nimporte quel moment et dans nimporte quel ordre. Bout de code.
Courbes de Bézier.
Visualisation de surfaces décrites analytiquement
Gestion de Fichiers Tri Interne Efficace et Tri Externe.
Algorithmes d ’approximation
Recherche Opérationnelle
Gestion de Fichiers GF-10: Traitement Co-Sequentiel: Appariment et Fusion de Plusieures Listes (Base sur les sections de Folk, Zoellick & Riccardi,
Théorie de l’échantillonnage (STT-6005)
2. Optimisation sans contrainte Fonctions à une seule variable
Structures de données IFT-2000 Abder Alikacem La récursivité Semaine 5 Département dinformatique et de génie logiciel Édition Septembre 2009.
METHODE DESCPIPTIVE : ASSOCIATION
Module 8 : Surveillance des performances de SQL Server
Scénario Quatre hommes entrent en collision un dans l'autre dans un ascenseur plein de personnes. En conséquence ils laissent tomber leurs téléphones cellulaires.
Théorème de la limite centrale l’inférence statistique
Programmation linéaire en nombres entiers
Calcul parallèle => partitionner les données en sous-groupes associés aux processeurs. P0 P2 P1.
Méthodes de tri.
1 Alain Casali Christian Ernst Extraction de Règles de Corrélation Décisionnelles 29 Janvier 2009.
Fouille de données issues de capteurs : problématique et méthodes Journée “Les Capteurs en Agriculture” Paris 18 avril 2014 Pascal Poncelet
Arbres binaires et tables de hachage
Intervalles de confiance pour des proportions L’inférence statistique
L’équilibre chimique.
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
2. Optimisation sans contrainte Fonctions à une seule variable
Mini Projet. Rappel : Apriori (1) Algorithme par niveau permettant l’extraction des motifs fréquents (ie. AprioriCAM appliqué à la contrainte anti-monotone.
Structures de données avancées : LH (Hachage linéaire) D. E ZEGOUR Institut National d ’Informatique.
Recherche de motifs par projections aléatoires
Dr. MOKEDDEM République Algérienne Démocratique et Populaire
Structures de données avancées : Arbres B+ avec expansion partielle D. E ZEGOUR Institut National d ’Informatique.
Database Management Systems 3ed, R. Ramakrishnan and J. Gehrke1 Matière Sélectionnée: Triage Externe, Join à Hachage, … Chapitres 13—15: 13.1—13.5, 14.4,
Concepts préliminaires sur les études de recherche Population: le groupe entier de personnes ou d'objets sur lequel un chercheur veut apprendre quelque.
Échantillonnage (STT-2000) Section 5 Types d’erreur de sondage. Version: 22 août 2003.
Projet Acquisition de connaissances Réalisé par Anne-Laure B ERRÉE, Andra Maria B LAJ, Stéphanie C HARLET, Diana D RAGUSIN, Daphné D USSAUD, Emeline E.
CSI25101 Tri Plus efficace. CSI25102 Tri récursif Le tri récursif divise les données de grande taille en deux presque moitiés et est appelé récursivement.
CHAPITRE 2 LES SITUATIONS FONCTIONNELLES
Raison d'être de la structure de fichiers : Les premiers travaux : Début des années 1960 : En 1963 : Près de 10 ans plus tard... (à peu près 1973) : Durant.
Opération et systèmes de décision Faculté des Sciences de l ’administration MQT Probabilités et statistique Les statistiques descriptives.
IFT 703 Informatique cognitive ACT-R Modèle symbolique et perceptuel
Chap. 3 Récursion et induction. Les définitions par récurrence consistent à construire des objets finis, à partir d'autres, selon certaines règles. Les.
1. Tri rapide ou Quicksort Principe : La méthode du Quicksort due au C.A. Hoare (1962) utilise les principes généraux de division et équilibrage. 2.
Scénario Quatre hipsters entrent en collision un dans l'autre dans un ascenseur plein de personnes. En conséquence ils laissent tomber leurs téléphones.
Programmation par contraintes Réalisé par: WETCHA Chaima MOKDED Mohamed Ali FIA3-GL-AL 1 1.
IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré.
Technologies de l’intelligence d’affaires Séance 10
Transcription de la présentation:

IFT 501 Recherche d'information et forage de données Chaptitre 6 : Analyse d’association concepts de base et algorithmes André Mayers Automne 2014 inspiré fortement des transparents suggérés par les auteurs du manuel obligatoire 1

DÉFINITION DU PROBLÈME Section 6.1 2

Concepts de base Soit une base de données transactionnelles où chaque transaction est une liste d’items (achats par un client lors d’une visite) Trouver: toutes les règles qui associent la présence d’un ensemble d’items avec la présence d’un autre ensemble. ◦ ex., 98% des personnes qui achètent des pneus et d’autres accessoires d’autos, achètent également un service pour l’auto (changement de pneus et/ou autres services) Applications ◦ *  service de maintenance (Qu’est-ce que le magasin peut faire pour augmenter ses ventes de service de maintenance ?) 3

Objectif de l’analyse des associations Identifier des profils, associations ou structures entre les items ou objets qui sont fréquents dans les bases de données transactionnelles, relationnelles, ou dans les entrepôts de données. Autrement dit, il s’agit d’identifier les items qui apparaissent souvent ensemble lors d’un évènement (ex. les items achetés lors d’une visite dans un magasin). 4

Forage de règles d’association Étant donné un ensemble de transactions, trouvez des règles qui, basé sur les items déjà présents dans une transaction, prédiront l’occurrence d’autres items dans cette transaction. 5 Ex. : panier d’épicerie Exemple de règles d’association {Diaper}  {Beer}, {Milk, Bread}  {Eggs,Coke}, {Beer, Bread}  {Milk},  Signifie cooccurrence, pas la causalité !

Autres exemples de règles d’association Si un client achète des souliers, alors 10% du temps il achète aussi des bas. Les clients qui achètent de la peinture au Latex, achètent également des rouleaux à peinture dans 85% du temps. 6

Définition de transaction et itemset Soit I = {i 1, i 2,…, i d } une collection d'articles ◦ Ex : {Beer, Bread, Coke, Diaper, Eggs, Milk}, Une transaction t est un événement qui correspond au choix d’un sous-ensemble de I ◦ transactions == évènements Les données ou base de données transactionnelle T est un ensemble de transactions ◦ T = {t 1, t 2,…, t m } Un itemset est un sous-ensemble d’articles ◦ En général un sous-ensemble d’une transaction Un k-itemset est un itemset de k éléments 7

Définition de support Nombre de supports d’un itemset x :  (x) Support d’un itemset x : sup(x) Minsup : le support minimum que doit avoir un itemset pour être déclaré fréquent. Itemset fréquent : un itemset x tel que sup(x)  minsup 8

Commentaires et exemple des définitions Itemset  Peut être ≠ des transactions  Ex: {Milk, Bread, Diaper}  T Nombre de support (  ) ◦ Ex.  ({Milk, Bread,Diaper}) = 2 Support (sup) ◦ P. ex. s({Milk, Bread, Diaper}) = 2/5 Itemset fréquent ◦ Si minsup = 3/5 alors  {Bread, Milk} est un itemset fréquent  Mais non {Bread, Milk, Diaper} 9

Définition d’une règle : LHS  RHS Règle d’association ◦ Une expression de la forme x  y, où x et y sont des itemsets ◦ Exemple :  {Milk, Diaper}  {Beer}  x= {Milk, Diaper} et y = {Beer} ◦ LHS (Left Hand Side)  l’antécédent est ce qui est à gauche de la règle  ex: pain et beurre ◦ RHS (Right Hand Side)  conséquent est ce qui vient à la droite de la règle  ex: lait  {pain beurre}  {lait} 10

Caractéristiques des règles Types des articles ◦ booléen, quantitatif, catégorique Dimensions d’une règle ◦ 1D : buys(cocoa, powder)  buys(milk) ◦ 2D : achat(x, BMW)  revenu(x, >50000$ ) ◦ 3D : age(X, ’under 12’)  gender(X, ’male’)  buys(X, ’comic book’)  un exemple de profilage à l’aide de règles d’association Les règles d’association peuvent être : ◦ Intratransactionnelles : achats effectués lors d’une même transaction (dans ce cours) ◦ Intertransactionnelles : achats effectués sur plusieurs transactions généralement dans le temps (voir données séquentielles dans le chap. 7) 11

Qualité d’une règle La pertinence d’une règle (Liu et al., 1999): ◦ Certaines règles générées peuvent être évidentes  ex : {Butter} → {Bread} ◦ Des évènements sans intérêt peuvent survenir très souvent  ex : {Milk} → {Bread} ◦ Des événements intéressants peuvent survenir rarement  ex : {Diapers} → {Beer} Comment évaluer la pertinence d’une règle générée automatique ment ◦ Mesure subjective et objective  voir prochaines diapositives 12

Mesures subjectives de la pertinence d’une règle Souvent basé sur l’expérience antérieure du client et ses croyances Nouveauté : une règle est pertinente si elle est inconnue ou contredit la croyance Utilité : une règle est pertinente si le client peut tirer profit de son utilisation 13

Mesure objective de la pertinence d’une règle Basée sur des ratios dont les seuils sont déterminés par le client Les mesures typiques sont : ◦ simplicité ◦ support (utilité) ◦ confiance (certitude) ◦ effet de levier (lift) 14

Métrique d’évaluation des règles Simplicité d’une règle ◦ La longueur d’une règle peut être déterminée par le client ◦ Si LHS et le RHS d’une règle sont simples alors l’interprétation de la règle est souvent plus intuitive  Par contre, il peut y avoir un nombre considérable de règles simples  buys(cocoa powder)  buys(bread, milk, salt)  buys(cocoa powder)  buys(milk) ◦ Il est souvent intéressant de découper les variables quantitatives en intervalles significatifs, par exemple les groupes d’âge. 15

Métrique d’évaluation des règles 16

Exemples des métriques 17

Support et confiance Si la confiance d’une règle r atteint une valeur de 100% alors r est exacte. Même si la confiance d’une règle atteint une valeur élevée, elle peut être peu utile si son support est faible. Les règles qui ont des valeurs élevées pour la confiance et le support sont appelées des règles fortes. 18

Exemple Nombre de transactions = 10 Soit X={1} et Y={2} ◦ Fréquence (X ) = 6 ◦ Fréquence (Y ) = 9 ◦ Fréquence (X => Y ) = 5 ◦ Support (X => Y ) = 5/10 ou 50% ◦ Confiance (X => Y ) = 5/6 ou 83,3% ◦ Levier (X => Y ) = (5/6) / (9/10) = 92,6% 19 TrItem , 2, 5 2, 4 2, 3 1, 2, 4 1, 2, 3 2, 3, 5 1, 3 1, 2, 3, 5 1, 2, 3 2, 3

Exemple (suite) ◦ Support ({1} => {2} ) = 5/10 ou 50% ◦ Confiance ({1} => {2})= 5/6 ou 83,3% ◦ Levier ({1} => {2} ) = (5/6) / (9/10) = 0.92 Donc : « 83,3 % des clients qui achètent l’item 1 achètent aussi l’item 2, cette configuration se retrouvant pour 50 % des individus». Cependant, l’effet de levier (lift) se trouve inférieur à 1. Donc, on ne gagne rien à utiliser la règle 1=>2 pour prédire 2. 20

Lift d’une règle Le lift d’une règle mesure son intérêt. C’est l’amélioration apportée par une règle, par rapport à une réponse au hasard Quand le lift < 1, la règle n’apporte rien 21

Le forage de règles d’association Étant donné un ensemble de transactions T, le but du forage de règles d’association est de trouver toutes les règles dont ◦ support ≥ seuil minsup ◦ confiance ≥ seuil minconf L’approche force brute : ◦ Faire la liste de toutes les règles d’associations possibles ◦ Calculer le support et la confiance de chacune de ces règles ◦ Supprimer les règles dont le support et la confiance sont en deçà respectivement des seuils minsup et minconf  Computationnellement prohibitif ! 22

Le forage des règles d’association 23 Exemple de règles : {Milk,Diaper}  {Beer} (s=0.4, c=0.67) {Milk,Beer}  {Diaper} (s=0.4, c=1.0) {Diaper,Beer}  {Milk} (s=0.4, c=0.67) {Beer}  {Milk,Diaper} (s=0.4, c=0.67) {Diaper}  {Milk,Beer} (s=0.4, c=0.5) {Milk}  {Diaper,Beer} (s=0.4, c=0.5) Observations: Toutes les règles ci-dessus sont des partitions binaires d’un même itemset {Milk, Diaper, Beer} Les règles qui découlent d’un même itemset ont un support identique, mais peuvent avoir une confiance différente Nous pouvons donc traiter ces deux exigences séparément voir stratégie sur la prochaine diapositive

Le forage des règles d’association Une approche en 2 étapes : 1.Générer les itemsets fréquents  Les itemsets dont le support  minsup 2.Générer des règles ayant une confiance acceptable en partitionnant chacun des itemsets fréquents. L’étape 1 est cependant toujours computationnellement couteuse 24

GÉNÉRATION DES ITEMSETS FRÉQUENTS Section

Génération des itemsets fréquents Le treillis des candidats possibles 26 À partir de d articles, il y a 2 d itemsets possible

La méthode force brute de génération 27

Génération des itemsets fréquents L’approche force brute ◦ chaque itemset dans le treillis est un candidat en tant qu’itemset fréquenttreillis ◦ Calculer le support de chaque candidat en parcourant la base de données ◦ Trouver toutes les transactions associées à chaque candidat ◦ Complexité ~ O(NMw)  Coûteux parce que M = 2 d

Stratégies pour générer les itemsets fréquents Réduire le nombre de candidats (M) ◦ Fouille complète : M=2 d -1 ◦ Utilisez des techniques d’élagage pour réduire M Réduire le nombre de transactions (N) ◦ Le nombre de transactions pertinentes pour chaque candidat décroit lorsque la taille des candidats augmente ◦ Stratégie utilisée par DHP et les algorithmes de forage basés sur une disposition verticale des données Réduire le nombre de comparaisons (NM) ◦ Utiliser des structures de données efficaces pour encoder les candidats et les transactions ◦ Inutile de traiter toutes les paires candidats -- transactions 29

Réduire le nombre de candidats Principe a priori : ◦ Si un itemset est fréquent alors tous ses sous-ensembles sont aussi des itemsets fréquents ◦ La fonction support s est antimonotone  Soit x et y des itemsets  Le support d’un itemset est toujours inférieur à celui de ses sous-ensembles  Si un itemset x n’est pas fréquent alors tous les itemsets y tel que x  y sont aussi non fréquents 30

Illustration du principe Apriori 31

Évalué comme non fréquent Illustration du principe Apriori Élaguer ses sur-ensembles 32

Illustration du principe Apriori Items (1-itemsets) Pairs (2-itemsets) Triplets (3-itemsets) Support minimum = 3 Si tous les candidats sont considérés 6 C C C 3 = 41 Avec élagage selon le support, = 13 33

Illustration du principe Apriori 34 D Parcours D C1C1 L1L1 L2L2 C2C2 C2C2 C3C3 L3L3 Support minimum = 2

Génération d’itemsets fréquents de l’algorithme Apriori 35

36

L’algorithme fusionne les 2-itemsets fréquents {Bread, Diapers} et {Bread, Milk} pour former {Bread, Diapers, Milk} un 3-itemset candidat. L’algorithme ne tente pas de fusionner {Beer, Diapers} avec {Diapers, Milk} parce que leurs préfixes sont différents ◦ Si {Beer, Diapers, Milk} pouvait être un candidat, il aurait été formé lors de la fusion de {Beer, Diapers} avec {Beer, Milk}. ◦ L’algorithme doit maintenir l’ordre dans chaque candidat et l’ordre des candidats Exemple des k-2 (k-1)-itemsets à tester avant l’inclusion dans C k ◦ Soit k = 5, t 1 ={a b c d} t 2 ={a b c e} t 1 U t 2 = {a b c d e} ◦ Il faut tester si {a b d e}, {a c d e}, {b c d e} sont fréquents 37

38

39

Énumération intelligente des k-itemsets à partir d’une transaction 40 Étape 1

41 Étape 2-3

Dénombrement du support des itemsets à l’aide d’un arbre de hachage 42 Étape 2-3

43 Génération de l’arbre de hachage ,4,7 2,5,8 3,6,9 Hash function l’ordre des itemsets n’est pas lexicographique Étape 2

Ajout des itemsets dans l’arbre c d b a 44 Soit C k = {{1 4 5} {1 2 4} {4 5 7} {1 2 5} {4 5 8}, {1 5 9} {1 3 6} {2 3 4} {5 6 7} {3 4 5}, {3 5 6} {3 5 7} {6 8 9} {3 6 7} {3 6 8}} 1,4,7 2,5,8 3,6,9 Hash function Étape 2

Génération de l’arbre de hachage ,4,7 2,5,8 3,6,9 Fonction de hachage L’arbre de hachage des itemsets potentiels 45 Étape 2

Énumération des 3-itemsets à partir de la transaction t 46 Étape 1

Associer les k-itemsets d’une transaction aux alvéoles de l’arbre ,4,7 2,5,8 3,6,9 transaction 47

Associer les k-itemsets d’une transaction aux alvéoles de l’arbre 1,4,7 2,5,8 3,6, transaction 48

Associer les k-itemsets d’une transaction aux alvéoles de l’arbre 1,4,7 2,5,8 3,6, transaction 5 des 9 alvéoles ont été visitées 9 des 15 itemsets ont été visités et le support de 3 de ces derniers ont été incrémentés 49

Facteurs affectant la complexité Choix du seuil de support minimal (minsup) ◦ Diminuer le seuil accroît  le nombre de candidats  la longueur maximum des itemsets fréquents. Dimensionnalité ( # items) ◦ L’espace nécessaire pour encoder les items augmente avec le # d’items. ◦ Si le nombre d’itemsets fréquents s’accroît aussi alors le cout computationnel et des I/O s’accroît aussi Dimension de la base de transactions ◦ Comme Apriori fait de multiples passes sur les transactions alors la complexité temporelle s’accroît avec le nombre de transactions. Le nombre moyen d’items par transactions ◦ la largeur d’une transaction s’accroît avec la densité des données  s’accroît en même temps la longueur maximum des itemsets fréquents et par conséquent la traversée de l’arbre de hachage (parce que le nombre de sous- ensembles de la transaction s’accroît aussi avec la largeur de la transaction). 50

Complexité temporelle de Apriori Génération des 1-itemsets fréquents ◦ O(nw)  n : le nombre de transactions  w : largeur moyenne des transactions Génération des k-itemsets potentiels ◦ Fusion des (k-1)-itemsets fréquents  C k : ensemble des k-itemsets potentiels  F k-1 : ensemble des (k-1)-itemsets fréquents 51

Complexité temporelle d’Apriori … Génération des k-itemsets potentiels… ◦ Construction de l’arbre de hachage contenant les k-itemsets potentiels  Il faut placer chaque élément de C k, et comme la profondeur maximum de l’arbre est k alors il y a au plus k steps ◦ Élagage des k-itemsets non fréquents  Pour chaque élément potentiel de C k, il faut vérifier la fréquence de k-2 sous- ensemble, ceci se fait en cherchant sa présence dans l’arbre de F k-1, donc en k steps. 52

Complexité temporelle d’Apriori … 53

DIC: (dynamic itemset counting) 54 ABCD ABC ABDACD BCD ABACBC AD BDCD A BCD {} Itemset lattice Transactions 1-itemsets 2-itemsets … Apriori 1-itemsets 2-items 3-itemsDIC S. Brin R. Motwani, J. Ullman, and S. Tsur. Dynamic itemset counting and implication rules for market basket data. In SIGMOD’97 Réduction du nombre de traversées de la BD Une fois que A et D sont déterminés fréquents, le décompte du nombre de AD débute. Une fois que tous les sous-ensembles de BCD alors de décompte de BCD débute

Découverte des itemsets fréquents par partitionnement

1.Divide D into partitions D 1,D 2,…,D p; 2.For I = 1 to p do 3. L i = Apriori(D i ); 4.C = L 1  …  L p ; 5.Count C on D to generate L;

Découverte des itemsets fréquents par échantillonnage À partir d’un échantillon de la BD, trouver les itemsets fréquents avec Apriori ◦ Il est suggéré de prendre un minsup légèrement plus petit pour ne pas perdre d’itemsets fréquents. Si un itemset fréquent n’est pas trouvé alors il se trouvera sur la frontière négative. Traverser le reste de la BD pour compléter le décompte des itemsets fréquents et ceux situer sur la frontière négative Si aucun itemsets sur la frontière négative s’avère fréquents alors les itemsets fréquents sont ceux qui ont été identifiés ◦ C’est efficace mais il est possible d’en échapper Si un itemset de la frontière négative, il faut recommencer mais uniquement pour les supersets des éléments de la frontière négative 2qui se sont avérés fréquents. H. Toivonen. Sampling large databases for association rules. In VLDB’96 57

Découverte des itemsets fréquents par échantillonnage