Regles d'Association Database

19
Règles d’association Christelle Scharff IFI Juin 2004

Transcript of Regles d'Association Database

Page 1: Regles d'Association Database

Règles d’association

Christelle ScharffIFI

Juin 2004

Page 2: Regles d'Association Database

Motivations et généralités Approche automatique pour découvrir des relations /

corrélations intéressantes entre des objets Règles de la forme: X Y [support, confidence]

X et Y peuvent être composés de conjonctions Support P(X Y) = P(X et Y) Confidence P(X Y) = P( Y | X) = P(X et Y)/P(X)

Applications: Utilisé pour analyser le panier de la ménagère

Design des rayons dans les supermarchés, ventes croisées, segmentation du marché, design des catalogues de ventes

Détection des fraudes Gestion des stocks

Page 3: Regles d'Association Database

Exemples de règles

Règle booléenne:achète(x, “SQLServer”) ^ achète(x, “DMBook”) achète(x, “DBMiner”) [0.2%, 60%]

Règle quantitative:age(x, “30..39”) ^ salaire(x, “42..48K”) achète(x, “PC”) [1%, 75%]

Page 4: Regles d'Association Database

Méthode Naïve Traiter toutes les combinaisons possibles des

attributs et de leurs valeurs pour créer toutes les règles d’association possibles

Exemple: 5 attributs prenant une seule valeur Combien de règles?

Complexité computationnelle Nombre de règles gigantesque Amélioration: Garder les règles avec un

support et une confidence minimum Pas satisfaisant

Page 5: Regles d'Association Database

L’algorithme A Priori [nom, année] Un item est une paire (attribut, valeur) Un ensemble d’items regroupe des items

(sans duplication) Principe de l’algorithme A Priori:

Génération d’ensembles d’items Calcul des fréquences des ensembles d’items On garde les ensembles d’items avec un

support minimum: les ensembles d’items fréquents

On ne génère et on ne garde que les règles avec une confidence minimum

Page 6: Regles d'Association Database

Exemple:Météo et match de foot

Page 7: Regles d'Association Database

Exemple: Ensembles d’items

12 ensembles d’un item, 47 ensembles de deux items, 39 ensembles de trois items, 6 ensembles de quatre items, 0 ensemble de cinq items = 104 ensembles d’items avec un support >= 2

Supports

Page 8: Regles d'Association Database

La propriété de fréquence des ensembles d’items

On utilise certaines propriétés pour construire les ensembles d’items

Les sous-ensembles d’un ensemble d’items fréquent sont aussi des ensembles d’items fréquents Par exemple, si {A,B} est un ensemble d’items fréquents,

alors {A} et {B} sont aussi des ensembles d’items fréquents

Plus généralement, les sous-ensembles de k-1 items d’un ensemble de k items fréquent sont fréquents

Page 9: Regles d'Association Database

Construction des ensembles d’items

En utilisant la propriété de fréquence des ensembles d’items, on voit qu’on peut construire les ensembles d’items incrémentalement: On commence avec les ensembles à un item Un ensemble de k items peut être construit par

jointure d’un ensemble d’ensembles de k-1 items avec lui-même, et en vérifiant la propriété de fréquence

Page 10: Regles d'Association Database

Exemple On suppose que les ensembles d’items sont

composés d’items ordonnés (par exemple léxicographiquement)

Considérons les ensembles de 3 items suivants: S = {(A,B,C), (A,B,D), (A,C,D), (A,C,E), (B,C,D)}

S est joint avec lui-même (A,C,D,E) n’est pas un ensemble de 4 items

fréquent (car (C,D,E) n’est pas dans S) (A,B,C,D) est un ensemble de 4 items fréquent

Page 11: Regles d'Association Database

Ensembles d’items et règles

Un ensemble d’items peut représenter plusieurs règles

Exemple: A partir de {A,B,C}, on peut construire 7 règles avec le

même support: A B, C B A, C C A, B A, B C A, C B B, C A True A, B, C

mais pas la même confidence

Page 12: Regles d'Association Database

Générer les règles

Transformer les ensemble d’items en règles de manière efficace

D’un ensemble de n items, on peut générer 2n –1 règles potentielles

On ne garde que les règles avec une confidence minimum

Page 13: Regles d'Association Database

Exemple: Ensembles d’items Règles

Support >= 2 (ou 2/14) et Confidence = 100%

58 règles

3 règles avec un support de 4

5 règles avec un support de 3

50 règles avec un support de 2

Page 14: Regles d'Association Database

Exemple complet

TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5

BD D itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3

itemset sup.{1} 2{2} 3{3} 3{5} 3

Parcours D

C1L1

itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}

itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2

itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2

L2

C2 C2Parcours D

C3 L3itemset{2 3 5}

Parcours D itemset sup{2 3 5} 2

Page 15: Regles d'Association Database

Améliorer l’algorithme

104 ensembles de 1 items peuvent générer 107 ensemble de 2 items

Le calcul des supports est coûteux Générer les règles est coûteux Le calcul des confidences est coûteux Le parcours des données initiales est

récurrent

Page 16: Regles d'Association Database

Calcul de la confidence d’une règle: Optimisation naïve Calcul de 2n –1 confidences (une pour

chaque règle) Pour calculer la confidence d’une règle on

peut utiliser le support d’ensembles d’items calculé auparavant (en utilisant une table de hachage)

Exemple: Pour calculer la confidence de:

Température = cool, windy = false humidity = normal, play = yes

On peut utiliser le support calculé pour: Température = cool, windy = false

Page 17: Regles d'Association Database

La méthode Les règles sont faciles à interpréter La méthode réalise de l’apprentissage non

supervisé Elle est basée sur des calculs élémentaires Elle est très coûteuse Elle marche pour des découvertes de faits

fréquents Elle peut produire des règles triviales et

inutiles Exemple: Camembert Vin rouge

Page 18: Regles d'Association Database

Autre algorithme L’algorithme d’arbre de modèles

fréquents (Frequent-pattern tree) [name, année]

Page 19: Regles d'Association Database

References I. H. Witten, and E. Frank. Data Mining :

Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann.

J. Han, and M. Kamber. Data Mining Concepts