Christelle Scharff IFI Juin 2004 Règles d’association Christelle Scharff IFI Juin 2004
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
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%]
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
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
Exemple:Météo et match de foot
Exemple: Ensembles d’items Supports 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
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
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
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
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
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
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
Exemple complet BD D L1 C1 C2 C2 L2 C3 L3 Parcours D Parcours D
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
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
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
Autre algorithme L’algorithme d’arbre de modèles fréquents (Frequent-pattern tree) [name, année]
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