660 likes | 806 Views
L’association. http://www.elseware.fr/univevry. Plan. Définition et Objectifs Association simple Association séquentielle Filtrage collaboratif Autres méthodes Applications Exemple. Définition et Objectifs.
E N D
L’association http://www.elseware.fr/univevry
Plan • Définition et Objectifs • Association simple • Association séquentielle • Filtrage collaboratif • Autres méthodes • Applications • Exemple
Définition et Objectifs Rechercher les relations « stables »existant entre les caractéristiques d’un invididu • Applications typiques • Personnalisation • Connaissant certaines caractéristiques individuelles d’un client, comment prévoir les produits qui vont l’intéresser ? • Vente croisée • Si un client a déjà acheté certains produits, quels sont les autres produits qui pourraient l’intéresser ?
Caractérisation • L’association est un problème non supervisé (comme la segmentation) • La nature fondamentale du problème est un calcul de probabilité conditionnelle. • En fonction des applications : • Les résultats attendus • Règles d’association • Recommandations directes • La méthode utilisée • Ou comment estimer P(.|.) ?
Association simple • Méthode issue d’une application: • Le “market basket analysis” (analyse du panier de la ménagère) • Définition • Découverte de règles du type « Un client qui achète les produits A et B va également acheter le produit C, avec une probabilité p »
Caractérisation • Application • C’est un problème typique de vente croisée • Méthode • Uniquement basée sur les données (méthode descriptive ensembliste) • Pas d’approche probabiliste formalisée (hypothèse de distribution, etc.)
Difficultés pratiques • Les données • Les références produits • Nombre • Organisation hiérarchique • Les transactions • Volumes énormes : tickets de caisse, visites de pages web • Conséquence • Nombre de règles potentiellement énorme • Evaluer la pertinence des règles
Evaluation des règles • Forme des règles Les clients qui achètent X achètent aussi Y • Deux critères fondamentaux • Support Nombre de cas où X et Y sont présents • Confiance Support (X et Y) / Support (X) (autrement dit P(Y|X))
Formalisation • Notations (1) • ={x1, x2, …xn} est le catalogue des articles • X est un itemset (ensemble d’articles) • T=(id,xT) est une transaction ssi • id est un identifiant • xT est un itemset • D est l’ensemble des transactions, appelé base de données
Formalisation • Notations (2) • Une transaction T=(id,xT) supporte X ssi X xT (noté aussi X T) • Le support d’un itemset X est le pourcentage de transactions de D qui supportent X • Une règle associative est une expression XY, où X et Y sont disjoints
Reformulation du problème Rechercher les règles associatives qui sont “vraies” dans la base de données • Intuitivement, X=>Y est d’autant plus “vraie” que le pourcentage de transactions contenant Y parmi les transactions contenant X est proche de 1 • S’exprime par la confiance de la règle: Confiance(X=>Y) = Supp(XY)/Supp(X) • i.e. P(YT|XT)
Retour à l’exemple (1) Confiance (X=>Y)=50%
Retour à l’exemple (2) Confiance (papeterie=>poissonnerie)=100%
Sélection des règles (suite) • La “confiance” d’une règle n’est pas une mesure suffisante • Les règles doivent être : • Bien représentées (support élevé) • Fiables (confiance élevée)
Mise en oeuvre • Principe • Rechercher les itemsets fréquents Z • Chercher les décompositions de Z en X et Y ayant une confiance élevée • Difficultés • Espace de recherche énorme • Nb références~ k.104 • Nb transactions ~ k.106 • Le nombre d’itemsets est le nombre de parties d’un ensemble (2N) ! • Calcul du support : évaluer pour chaque transaction si un itemset y est présent ou pas
Algorithme APriori • IBM • Projet QUEST (datamining) • A conduit au développement de IntelligentMiner • Idée fondamentale (très simple) • Tous les sous-ensembles d’un itemset fréquent sont fréquents • Les surensembles d’un itemset non fréquent ne sont pas fréquents (contraposée)
Algorithme APriori • Recherche des singletons fréquents (i.e. les articles les plus consommés) • Soit Lk = {itemsets fréquents à k éléments}A partir de Lk, on calcule un ensemble de candidats Ck+1 • On considère deux éléments de Lk qui diffèrent par un seul élément et on en fait l’union pour obtenir un candidat ck+1 • On considère alors tous les sous-ensembles à k éléments de ck+1. S’ils sont tous dans Lk, on conserve ck+1 dans Ck+1. Sinon, on passe au candidat suivant. • Les éléments de Ck+1 de support supérieur à minsupp forment Lk+1.
L2={{1,2}, {1,3}, {1,4}, {2,3}, {2,4}} Construction de C3 {1,2,3} OK {1,2,4} OK {1,3,4} rejeté ({3,4} L2) {2,3,4} rejeté ({3,4} L2) C3={{1,2,3}, {1,2,4}} Test de support sur C3 : passe seulement sur {1,2,4} Exemple
Apport d’information d’une règle Confiance ({fruits,crèmerie}=> {eau})=100% Mais Support({eau})=100% !!!
Apport d’information d’une règle • Lift = Confiance(XY)/Support(Y) • Exemple • Nombre de transactions : 1000 • Transactions contenant {Lait}: 200 • Transactions contenant {Bière}: 50 • Transactions contenant {Lait,Bière}: 20 • Support(Y) = 50/1000 = 5% • Confiance(XY) = 20/200 = 10% • Lift = 10%/5% = 2
Améliorations de l’algorithme APriori • Noyau de l’algorithme Apriori : • Utiliser les (k – 1)-itemsets fréquents pour générer des k-itemsets candidats • Parcourir la base de données pour calculer le support des candidats et les évaluer. • Limites • Génération des candidats toujours énorme • Parcours de la BD pour évaluer le support • Améliorations possibles • Ordonner les articles • Elimination des candidats contenant des sous-ensembles non-fréquents • Supprimer les transactions ne contenant pas d’itemsets fréquents
Améliorations de l’algorithme APriori • Algorithme FP Growth (Han, Pei, Yin 2000) • Avantage : recherche d’ensembles fréquents sans génération de candidats • Principe : résumer la BD sous forme d’un arbre (Frequent Pattern Tree) • Démarche : • Parcourir une fois la BD pour ordonner les articles par fréquence décroissante • Organiser les transactions de la base (triées suivant l’ordre précédent) en un arbre
Construction de l’arbre FP A:1 B:1 B:1 A:1 C:1 B:1 D:1
Construction de l’arbre FP A:7 B:1 B:5 C:1 C:1 D:1 C:3 D:1 D:1 D:1 D:1
Préconditions pour C AB:3 A:1 B:1 Itemsets fréquents contenant C ABC:3 AC:4 BC:4 Exploration de l’arbre FP A:7 B:1 B:5 C:1 C:1 D:1 C:3 D:1 D:1 D:1 D:1
Introduction de hiérarchies • Vêtements VilleChaussures Villes peut être valide, même si: • Chemises Chaussures Villes • Pantalons Chaussures Villes ne sont pas valides
Conclusion • Recherche de règles d’association • Approche ensembliste • Apparentée à l’interrogation de base de données • Peu ou pas de fondement statistique • Distribution sous-jacente ? • Significativité des règles ? • L’une des méthodes de datamining les plus utilisées • Consommation (supermarchés) • Analyse de pannes • Web usage mining
Association séquentielle • Application typique : Web usage Mining • Analyse des séquences de navigation sur un site (A→B→C≠ A→C→B) • Forme générale d’une séquence d’action: <(A) (B C) (D)> Le client a effectué l’action A, puis simultanément les actions B et C, puis l’action D. • Notion de simultanéité : même commande, même visite, même période de temps ?
Association séquentielle • Web Usage Mining • Utilisation de fichiers « access log » • Equivalence :« panier de la ménagère » ~ « comportement d’un visiteur sur un serveur » • Applications • reconception ou modification dynamique de la structure d’un site • préchargement des données
Recherche de séquences Support = 60% (3 clients) => <(10 30) (20) (60 20)>
Le filtrage collaboratif • Ou “filtrage par communauté de préférence” • Méthode développée pour une application concrète : estimation de l’intérêt de clients pour un produit donné. • Utilisé essentiellement pour des produits culturels : livres (Amazon), films (moviecritic)
Position du problème • Système de recommandation • Conseiller un produit “culturel” à quelqu’un • Le conseil est bon si le produit a “plu” à la personne • Différent de la recommandation commerciale classique où le conseil est bon si le produit recommandé est acheté • Comment évaluer la qualité d’un tel système ?
Evaluation d’un système de recommandation • La recommandation est bonne si le spectateur : • Va voir le film • Confirme qu’il lui a plu • Le système est comparé avec : • Recommandation aléatoire • Recommandation majoritaire (hit-parade)
Améliorer la recommandation majoritaire • “Hit-parade” conditionnel • Exemple : proposer aux jeunes le hit-parade des jeunes Filtrer la population sur laquelle on établit le hit-parade • Filtrage par communautés de préférence Sélectionner ceux qui ont les mêmes goûts que le spectateur considéré
Avantages & Inconvénients • Avantages • Aucune connaissance sur les spectateurs n’est nécessaire • Aucune analyse des contenus n’est nécessaire • Inconvénients • Nécessite un volume de données initial important (impossible de conseiller quelqu’un qui n’a vu aucun film) • Ne permet pas de prendre en compte la proximité entre les contenus (pour gérer les cas de faible intersection)
Formalisation • Un algorithme de filtrage collaboratif se définit par : • Le calcul de la proximité entre deux personnes (« spectateurs ») • La méthode de filtrage (sélection des individus dits « proches ») • La méthode de prévision (production d’une note pour un film)
Formalisation • On utilise en général • Un coefficient de corrélation entre deux utilisateurs comme proximité, • Un seuillage comme méthode de filtrage • Une moyenne pondérée par les distances comme méthode de prévision
GroupLens • Créé en 1995 à l’University of Minnesota • Site de recommandation http://movielens.umn.edu • Fonctionnement • Evaluation de 15 films minimum • Proposition de recommandations
Améliorations • Problème • Intersection des évaluations vide • “Ceux qui ont acheté ces livres …”= • Idée • Organisation arborescente des contenus • Ceux qui ont acheté • Ces livres ou … • des livres dans cette catégorie ou … • des livres dans cet ensemble de catégories
Les réseaux bayésiens • Aujourd’hui • Une présentation intuitive • Sur un exemple • Cours “Classification” • Formalisation complète