R - PowerPoint PPT Presentation

About This Presentation
Title:

R

Description:

Title: 1. Explosion de l'informatique d cisionnelle Author: GARDARIN Last modified by: GARDARIN Created Date: 5/28/1995 4:28:04 PM Document presentation format – PowerPoint PPT presentation

Number of Views:47
Avg rating:3.0/5.0
Slides: 53
Provided by: Gardarin4
Category:
Tags: grouper

less

Transcript and Presenter's Notes

Title: R


1
Règles Associatives
  • Définition et introduction
  • Indicateurs de pertinence
  • Algorithme d'extraction
  • Algorithmes optimisés
  • Vers des règles plus robustes
  • Règles associatives multi-niveaux
  • Conclusion

2
1. Objectifs
  • Découvrir des règles liant les données ave un bon
    niveau de probabilité
  • découverte de relations fines entre attributs (ou
    variables)
  • généralisation des dépendances fonctionnelles
  • NumSS ? Sexe
  • Règles du style si P(tid,X) alors P(tid,Y)
  • notée P(tid, X) ? P(tid, Y) encore X ? Y
  • Différents types de règles
  • origine "panier de la ménagère"
  • étendues aux tables multiples et aux attributs
    continus

3
Attributs simples
  • Table normalisée
  • ACHAT

4
Règles mono-dimensionnelles
  • simple
  • Achat(tid, "vin") ? Achat(tid, "pain")
  • conjonctive
  • Achat(tid, "pain") Achat(tid, "fromage") ?
    Achat(tid, "vin")
  • Règles booléennes (attribut discret)
    mono-dimensionnelles
  • notation simplifiée pour règles booléennes 1-D
  • X ?Y où X et Y sont des ensembles d'items
    disjoints
  • Formellement I Items, X ? I , Y ? I , X ?Y ?
  • "vin" ? "pain"
  • "pain", "fromage" ? "vin"

5
Attributs multi-valués
  • Chaque ligne correspond à une ménagère
  • Achats(tid, "pain") ? Achats(tid, "crème")
  • en raccourci "pain" ? "crème"

ACHATS
6
Règles multi-dimensionnelles
  • Mettent en jeu plusieurs attributs
  • Achats(tid, agegt50) ? Achats(tid,produit"pilule")
  • en abrégé agegt50 ? produit"pillule"
  • Voir plusieurs relations
  • Personne(tid, agegt50) Personne(tid,
    salairegt10000) ? Achats(tid, produits"luxe")
  • il est possible de se ramener à 1 table par
    jointure
  • Personne ? Achats
  • Attributs continus (règles quantitatives)
  • Age, Salaire
  • Possibilité de les discrétiser

7
2. Indicateurs de pertinence
  • Support probabilité absolue P(X ? Y)
  • X ? Y/ BD de transactions vérifiant
    la règle
  • Confiance probabilité conditionnelle P(Y/X)
  • X ? Y/X de transactions vérifiant
    l'implication
  • Règles intéressantes ?
  • par exemple Support gt 0.1 et Confiance gt 0.7
  • comment extraire les règles intéressantes ?
  • comment optimiser les calculs d'indicateurs sur
    des VLDB ?

8
Exemple 1
9
Exemple 2
  • "crème" ? "pain"

10
Calculs d'indicateurs
  • Support Prob. (crème et pain)
  • Confiance Prob(crème et pain / crème)

11
Support et Confiance
  • La confiance se déduit du support
  • conf (X--gtY) sup(XY) / sup(X)
  • Il est donc intéressant de calculer les supports
    d'abord
  • Un ensemble de produits de support plus grand que
    le support minimum (minsup) est dit fréquent.

12
Ensembles fréquents
  • Un ensemble de taille k est appelé un k-ensemble.
  • Tout k-ensemble fréquent est composé de
    (k-1)-ensembles fréquents
  • en effet, un ensemble ne peut être fréquent si
    certains sous-ensembles ne le sont pas
  • tout sous-ensemble d'un ensemble fréquent est
    fréquent

13
3. Recherche des règles intéressantes
  • La détermination des ensembles fréquents permet
    de trouver un sur-ensemble des règles
    intéressantes
  • La confiance permet de filtrer les règles lors de
    la génération
  • Nécessité de calculer les supports
  • de tous les produits
  • ? 1-ensembles fréquents
  • de tous les ensembles susceptibles dêtre
    fréquents
  • ? 2-ensembles fréquents, 3-ensembles fréquents,
    etc.

14
Algorithme Apriori Agrawal94
  • Première passe
  • recherche des 1-ensembles fréquents
  • un compteur par produits
  • L'algorithme génère un candidat de taille k à
    partir de deux candidats de taille k-1 différents
    par le dernier élément
  • procédure apriori-gen
  • Passe k
  • comptage des k-ensemble fréquents candidats
  • sélection des bons candidats

15
Apriori Fréquents itemsets
  • L1 frequent 1-ensemble
  • for (k 2 Lk-1 ???? k) do
  • Ck apriori-gen(Lk-1) // Generate new
    candidates
  • foreach transactions t ??DB do // Counting
  • Ct subset(Ck, t) // get subsets of t
    candidates
  • foreach c?? Ct do c.count
  • Lk c???Ck c.count gt minsup // Filter
    candidates
  • Answer Lk

16
Exemple
Données en entrée
L 1, 2, 3, 5, 1 3, 2 3, 2 5,
... Pour I 1 3 génère 2 règles  R1 1
?3 (100) R2 3 ?1 (66) R1 plus solide que R2
Ck
Lk
17
Apriori Génération des règles
  • // Entrée  MinConf, Lk ensembles ditems
    fréquents
  • // Sortie  ensemble R de règles dassociations
  • Rules ? 
  • for (k 2 Lk-1 ????? k) do
  • Foreach subset S ??? of Lk do
  • Conf (S ? Lk-S) Sup(I)/Sup(S)
  • If Conf gt MinConf then
  • rule  S ? ( Lk-S )  
  • Rules Rules ? r 
  • Answer Rules

18
4. Comment évaluer efficacement ?
  • N passes sur la base
  • une pour 1, 2, N-ensembles, N étant la taille du
    plus grand ensemble fréquent
  • comptage des ensembles fréquents par transactions
    en parcourant la table
  • Trouver les produits d'une transaction peut
    nécessiter de la mémoire si table normalisée

19
Apriori-tid
  • Optimisation de Apriori
  • chaque transaction à un tid
  • liste de tid par k-ensemble
  • Calcul d'un k-ensemble
  • Intersection des deux listes de tid des deux
    (k-1) ensembles sources
  • La première passe permet d éliminer les produits
    non fréquents (moins de tid)
  • Inconvénient
  • les listes sont lourdes et doivent être gardées
    en mémoire
  • inefficace si les listes ne tiennent pas en
    mémoire

20
Algorithme A-Priori PartitionSON95
  • La base est divisée en N partitions
  • chaque partition tient en mémoire
  • les partitions peuvent être traitées en parallèle
  • Chaque partition est traitée indépendamment
  • découverte des ensembles fréquents pour chaque
    partition
  • Remarque
  • un ensemble fréquent doit lêtre dans au moins
    une partition
  • Exploration de l union des ensembles fréquents
    sur la base
  • comptage en une passe
  • élimination des ensembles non fréquents
  • Avantage
  • deux passes au plus
  • parallélisable facilement

21
Algorithme de comptage dynamique
  • Train circulant par étape de M transactions
  • le train emporte des ensembles à compter
  • suspecté large  un ensemble toujours en cours de
    comptage qui excède le support 
  • suspecté petit  un ensemble toujours en cours de
    comptage qui est en dessous du support.
  • A létape des passagers montent et descendent
  • confirmé large  un ensemble dont le comptage est
    terminé et qui excède le support 
  • confirmé petit  un ensemble dont le comptage est
    terminé et qui est en dessous du support 
  • nouveaux suspectés petits sur-ensembles
    immédiats des suspectés larges ou confirmés
    larges
  • Comptage total en une passe et demi !

22
Dynamic Counting (DIC) Brin97
  • Tous les 1-ensembles sont marqués  suspecté
    petit .
  • M transactions sont lues. Les compteurs et
    supports sont calculés pour les ensembles
    suspectés petits ou larges.
  • Examiner les ensembles à l 'étape  si un
    suspecté petit à un support supérieur au seuil,
    le transformer en suspecté large  générer tous
    ses sur-ensembles dont les sous-ensembles sont
    confirmés ou suspectés larges.
  • Si un ensemble en cours de comptage (suspecté
    petit ou large) a été compté pour toutes les
    transactions, le transformer en confirmé petit ou
    large selon le support obtenu.
  • Si on est en fin de table, revenir au début.
  • Sil reste au moins un ensembles suspecté petit
    ou large, aller à 2.

23
Comptage par Bitmap GPW98
  • Utilisation d'index bitmaps multi-niveaux
  • Construction en une passe
  • Comptage rapide en mémoire
  • Intersection, Union, Négation très efficaces

24
Les index bitmap
  • Ménagère Produits Prix
  • 1 P1, P3, P5 120
  • 2 P2, P3 70
  • 3 P4 150
  • 4 P2, P5 110
  • 5 P3,P4,P6 220
  • P1 P2 P3 P4 P5 P6
  • 1 0 1 0 1 0
  • 0 1 1 0 0 0
  • 0 0 0 1 0 0
  • 0 1 0 0 1 0
  • 0 0 1 1 0 1
  • 0-100 100-200 200-300
  • 0 1 0
  • 1 0 0
  • 0 1 0
  • 0 1 0
  • 0 0 1

SELECT Ménagère WHERE (P2 OR P3) AND Coût lt200
25
Bitmaps versus Listes
  • Plus compactes NP bits contre NK 16 bits
  • Plus rapides Opérations logiques en place de
    tri-fusion

3
5
7
12
35
42
Liste de TIDs
Bitmap niveau 2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Groupe 0
0
0
1
0
1
0
1
0
0
0
0
1
0
0
0
0
1 0 1
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Groupe 1
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
Groupe 2
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0
0
1
0
0
0
0
0
0
1
0
0
0
0
0
0
Bitmap niveau 1
26
L'algorithme 1-BM
  • Génération d'un k-ensemble fréquent à partir de 2
    (k-1)-ensembles fréquents
  • Calcul du support par comptage du nombre de bits
    dans l'intersection des vecteurs associés de la
    bitmap

27
L'algorithme 2-BM
  • La bitmap est indexée par une bitmap de niveau
    supérieur
  • Les intersections s'effectuent au niveau de la
    2-BM
  • si 0 gt pas nécessité d'accès à la 1-BM
  • Les bitmaps peuvent être compressées
  • horizontalement codage des colonnes N col gt
    Log2 N bits
  • verticalement (position, longueur) des
    séquences de 1

28
Comparaisons
  • 2-BM est beaucoup plus performant que les listes
  • Il gagne plus d'un ordre de grandeur pour des
    supports élevés (longues listes)
  • La taille mémoire nécessaire est faible car il
    n'est pas nécessaire de garder les 1-BMs
    (l'intersection est peu coûteuse et peut être
    refaite quand nécessaire)
  • Il travaille en une seule passe si assez de
    mémoire

29
Evaluation analytique
Memory Consumption
Execution Cost
ro Correlation between item A and item B Sa, Sb,
Sab Support of itemset A, B and AB
Freq Number of frequent 1-itemsets Sup Minimum
support
30
Résultats Experimentaux
Le nombre de transactions varie de 100K A 300K
minsup 0.75
minsup 0.25
31
Algorithme FP-Grows Han00
  • Représentation des items fréquents par un index
    spécial FP-tree (Frequent Pattern Tree)
  • Construction du FP-tree
  • Déterminer les produits fréquents (1-ens.)
  • Trier par fréquence décroissante (table)
  • Créer une racine vide
  • Pour chaque transaction
  • ajout des chemins de produits ordonnés par
    fréquence
  • fusion des sous-chemins communs
  • mise à jour des compteurs de fréquence des
    produits

32
Génération des ensembles fréquents
  • Exploitation récursive du FP-tree
  • Pour chaque item fréquent
  • Construire les chemins préfixes dans le FP-tree
  • conditional pattern base
  • Fusionner les préfixes identiques et conserver
    les sous-chemins de support gt minsup
  • conditional FP-tree
  • Générer les ensembles fréquents par combinaison
    des nœuds des chemins fréquents
  • Un peu complexe !!!

33
Perfomance
  • 2 passes sur la BD
  • Le FP-tree peut être volumineux
  • Peut ne pas tenir en mémoire
  • Solution
  • possibilité de combiner avec Apriori partition

34
Bilan Règles Booléennes
  • De nombreux algorithmes qui passent à l'échelle
  • Les applications restent difficiles
  • le monde réel est plus complexe
  • recherche de séquences
  • recherche de séries temporelles
  • interprétation difficile
  • trop de règles sorties, coefficients ?
  • Questions ?
  • Quelles valeurs pour minsup et minconf ?

35
5. Génération de règles plus robustes
  • Comment fixer support et confiance ?
  • Comment éliminer les règles redondantes ?
  • Comment intégrer les taxonomies (généralisation) ?

36
Les mesures en question
  • Problème avec support et confiance
  • Le support est symétrique A ? B ou B ? A ?
  • Whisky ? Viande a une confiance élevée
  • confiance(X ? Y) P(Y/X) P(XY)/P(X).
  • ignore P(Y)
  • élevée si P(X) est faible et P(Y) fort
  • La conviction Brin97 mieux adaptée ?
  • conviction(X?Y) P(X) P(Y)/P(X, Y)
  • mesure unique asymétrique
  • X?Y s écrit (X et Y) d où la conviction
  • Sinon, comment trouver les règles ?
  • Les ensembles fréquents sont insuffisants ...

37
La redondance simple AY98
  • R1 Agt BC
  • R2 ABgt C
  • R2 est redondante / R1
  • même support (ABC)
  • conf (R2) sup(ABC)/sup(AB)
  • conf(R1) sup(ABC)/sup(A)
  • donc conf(R2) gt conf(R1)
  • Plus généralement, pour un k-ensemble fréquent
    il suffit d'extérioriser la règle valide de
    condition minimale

AB
A
Sup(AB) lt Sup(A)
38
La redondance stricte AY98
sup(A) gt sup(AB)
  • R1 Agt BCD
  • R2 AB gt C
  • R2 est redondante / R1
  • conf(R1) sup(ABCD)/sup(A)
  • conf(R2) sup(ABC)/sup(AB)
  • sup(A) gt sup(AB)
  • sup(ABCD) lt sup(ABC)
  • donc conf(R1) lt conf(R2)
  • Plus généralement, il suffit de considérer le
    plus grand k-ensemble fréquent et d'extérioriser
    la règle valide de condition maximale

ABCD
ABC
Sup(ABCD) lt Sup(ABC)
39
Les k-ensembles fréquents
0,3
ABC AB AC BC BD A B
C D ??????????????????
  • Constituent un semi-treillis
  • sup(X) gt sup(XY)

0,6
0,4
0,7
0,5
1
2
2
1
40
Génération des règles revue
  • Il suffit de retrouver les plus grands ensembles
    de support gt MinSup
  • puis d'en extraire les règles de confiance gt
    MinConf ayant une condition maximale
  • S'il n'y en a pas on descend le semi-treillis des
    ensembles fréquents et on itère.
  • Possibilité de s'intéresser à un item particulier
    et d'explorer ses ancêtres sur demande
  • ex AgtAB,ACgtABC

41
Des règles plus générales
  • Les règles multi-attributs
  • associent des valeurs d'attributs distincts
  • telephone Source "New-York" gt Cible "Paris"
    (5,30)
  • Les règles à attributs numériques RS98
  • règles de la forme A???x,y gt C ou A est un
    attribut numérique et C une condition il faut
    trouver x et y.
  • exemple Age ??x,y gt Salaire gt 300 KF (5,30)
  • trouver x? y?

42
Règles disjonctives et négatives
  • Disjonctive
  • Achat(X, "crème") Achat(X, "fromage") ?
    Achat("pain")
  • Négative
  • NOT Achat(X, "pain") ? Achat(X, "biscotte")
  • Expressions logiques
  • , , NOT (avec parenthèses pour priorité) en
    condition
  • possible aussi en tête de règles

43
Les séquences temporelles
  • Les règles cycliques ORS98
  • règles vérifiées périodiquement
  • ex tout les matins, café gt sucre, gâteaux
  • XgtYcycle (l,o) signifie que XgtY tous les l
    unités de temps en commençant au temps o.
  • Les patterns séquentiels
  • séquence d items ordonnés (pas ensemble)
  • similaire aux règles associatives mais l'ordre
    importe
  • exemple
  • achat de chaussures, puis pantalon, puis chemise
  • consultation de pages web (pageA, pageC, pageF)

44
6. Règles multi-niveaux
  • Difficultés de trouver des associations robustes
  • significatives au niveau des données élémentaires
  • intérêt de pouvoir grouper les données
    élémentaires en classes plus ou moins générales
  • Impacts sur les algorithmes
  • trouver les règles à plusieurs niveaux
  • supports de règles générales plus élevés

45
Généralisation
  • La généralisation permet de résumer les données
  • introduit une hiérarchie de classe, du général au
    détaillé
  • remplace les valeurs (trop) détaillées par des
    moins détaillées jusqu'au niveau souhaité
  • augmente les comptages en vue d'induire des
    règles
  • exemple plus de légumes que de carottes
  • Basée sur linduction orientée attribut Lu Han
    93
  • utilise des hiérarchies de concepts

46
Hiérarchie de concepts
  • Arbre de généralisation / spécialisation de
    concepts
  • Objectifs
  • décrit le passage des concepts les plus
    spécifiques correspondant aux valeurs de
    lattribut dans la base de données aux concepts
    plus généraux
  • Résultats
  • Table généralisée ou règles (plus ou moins
    caractéristiques, discriminantes ...) sur les
    données

47
Exemple de hiérarchies
Agriculture

Monde

48
Exemple dinduction orientée attribut
Induction / attribut
49
Algorithme optimisé (1)
  • Utilisation du même support à tous les niveaux
  • exemple 7 pour Agriculture, Légume et Carotte
  • inutile d'examiner un k-ensemble dont une classe
    supérieure ne satisfait pas le support
  • exemple ne pas miner Carotte si Légume ne
    satisfait pas le support

50
Algorithme optimisé (2)
  • Utilisation d'un support plus fins dans les
    sous-classes
  • exemple 7 pour Agriculture, 3 Légume et 1
    Carotte
  • plus réaliste car classes de plus en plus fines
  • plusieurs stratégies de recherche possibles
  • ne pas miner une sous-classe d'une classe non
    fréquente gt pertes possibles
  • évaluer par niveau de manière indépendante gt
    algorithme coûteux
  • évaluer en profondeur avec des seuils

51
Utilisation des datacubes
  • Les règles multi-dimensionnelles se traitent
    comme les règles classiques
  • évaluation de prédicats à la place place de
    l'existence d'items
  • Les datacubes sont un support intéressant pour la
    recherche de règles N-dimensionnelles

52
7. Conclusion
  • De nombreuses techniques de recherche de règles
  • La plupart passe difficilement à l'échelle
  • limitées à quelques milliers d objets
  • échantillonner puis valider sur le reste
  • Un bon outil doit proposer plusieurs techniques
  • Les problèmes
  • comment explorer de volumineuses bases de données
    ?
  • trouver des structures d'indexation intéressantes
    ?
  • maintenance incrémental des règles ?
  • exploration de types de données complexes ?
Write a Comment
User Comments (0)
About PowerShow.com