• Aucun résultat trouvé

Extraction de r`egles d’association

N/A
N/A
Protected

Academic year: 2022

Partager "Extraction de r`egles d’association"

Copied!
43
0
0

Texte intégral

(1)

Extraction de r` egles d’association

Thierry Lecroq

Universit´e de Rouen FRANCE

(2)

university-logo

Plan

1 Pr´esentation

2 Extraction d’ensemble de mots fr´equents

3 G´en´eration des r`egles d’association

Thierry Lecroq (Univ. Rouen) R`egles d’association 2 / 43

(3)

R` egles d’association

On cherche des relations entre les mots d’un corpus sous forme de r`egles : si les mots x1, . . . , xm apparaissent dans un texte alorsles mots

xm+1, . . . , xnapparaissent aussi dans le texte que l’on formalise en :

x1 · · · xm→xm+1 · · · xn

et que l’on appelle r`egle d’association.

Deux param`etres doivent ˆetre fournis :

minsup, le pourcentage de textes o`u apparait la r`egle

(4)

university-logo

Exemple

textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

Avec minsup = 40% etminconf = 50%, les deux r`egles valides sont : D→B etB →D.

Avec minconf = 100%, seule la r`egleD→B est valide

Thierry Lecroq (Univ. Rouen) R`egles d’association 4 / 43

(5)

Mots fr´ equents

Soit T un ensemble de textes

On consid`ere un textet∈T comme ´etant un ensemble de mots E est un ensemble de mots,support(E) =pourcentage de textes dans lesquels apparaissent tous les mots deE

support(E) = card({t∈T |E⊂t}) card(T)

Un ensemble de mots E est fr´equent si support(E)>minsup

(6)

university-logo

R` egles d’association

Une r`egle d’associationr est une implication de la formeP1→P2 entre deux ensembles de mots P1 et P2,P1∩P2=∅, telle que :

support(r) =support(P1∪P2)

confiance(r) = support(P1∪P2) support(P1) Une r`egler est valide siconfiance(r)>minconf

Une r`egler est totale si confiance(r) = 1 et partiellesinon

Thierry Lecroq (Univ. Rouen) R`egles d’association 6 / 43

(7)

M´ ethode

Probl`eme

D´eterminer l’ensemble des r`egles dont le support est sup´erieur `aminsup et la confiance `aminconf, ce que l’on d´ecompose en deux sous-probl`emes :

1 d´eterminer les ensemblesE de mots fr´equents (support(E)>minsup)

2 pour chacun de ces ensembles, g´en´erer toutes les r`eglesr d’association valides (confiance(r)>minconf)

(8)

university-logo

Ordre, borne sup, borne inf

Un ensemble E est ordonn´e s’il est muni d’une relation binaire≤ r´eflexive, antisym´etrique et transitive ;

Un majorant (resp.minorant) d’une partie A deE est un ´el´ementx tel que∀y ∈A, y≤x (resp. ∀y∈A, y≥x) ;

Laborne sup´erieure (resp. borne inf´erieure) d’une partie A est le plus petit des majorants (resp.minorants). Elle n’existe pas forc´ement.

Thierry Lecroq (Univ. Rouen) R`egles d’association 8 / 43

(9)

Treillis

Untreillisest un ensemble dans lequel chaque couple d’´el´ements poss`ede une borne sup´erieure et une borne inf´erieure

Si une seule des deux propri´et´es est v´erifi´ee, on parle alors de demi-treillis

L’ensemble des mots fr´equents forme un demi-treillis :

I l’intersection de deux ensembles de mots fr´equents est fr´equente

I l’union de deux ensembles de mots non fr´equents est non fr´equente

(10)

university-logo

Treillis

Exemple

Thierry Lecroq (Univ. Rouen) R`egles d’association 10 / 43

(11)

Demi-treillis

Exemple

(12)

university-logo

Plan

1 Pr´esentation

2 Extraction d’ensemble de mots fr´equents

3 G´en´eration des r`egles d’association

Thierry Lecroq (Univ. Rouen) R`egles d’association 12 / 43

(13)

Algorithme Apriori

Sch´ema de l’algorithme

Parcours du treillis des ensembles de mots fr´equents

1 les ensembles de cardinalk sont g´en´er´es `a partir de ceux de cardinal k−1

2 une fois les ensembles de cardinal kg´en´er´es, on calcul leurs supports et on ne conserve que les fr´equents

(14)

university-logo

Algorithme Apriori - G´ en´ eration

On fait l’union de tous les ensembles de mots n’ayant qu’un seul

´

el´ement diff´erent

Seuls les ensembles dont tous les sous-ensembles sont fr´equents sont conserv´es

Exemple

Thierry Lecroq (Univ. Rouen) R`egles d’association 14 / 43

(15)

Algorithme Apriori - G´ en´ eration

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

ensemble support

{A} 1

{B} 4

{C} 2

{D} 2

F1 ={{B},{C},{D}}

C2 ={{B, C},{B, D},{C, D}}

(16)

university-logo

Algorithme Apriori - G´ en´ eration

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

ensemble support {B, C} 1 {B, D} 2 {C, D} 0

F2 ={{B, D}}

C3 =∅

F ={{B},{C},{D},{B, D}}

Thierry Lecroq (Univ. Rouen) R`egles d’association 16 / 43

(17)

Algorithme Apriori - G´ en´ eration

Apriori-gen(F)

. Entr´ee : F : ensembles de mots fr´equents de cardinalk 1 D´ebut

2 C ← {c=f1∪f2 tels que (f1, f2)∈F ×F, card(c) =k+ 1}

3 pour chaque c∈C faire

4 pour chaque s⊂c, card(s) =k faire 5 si s6∈F alors

6 C←C\ {c}

7 Retourner C 8 Fin

(18)

university-logo

Algorithme Apriori

Apriori(T,minsup)

. Entr´ee :T : corpus,minsup : entier . Sortie : ∪kFk

1 D´ebut

2 C1 ← {singletons}

3 k←1

4 tantqueCk6=∅ faire 5 pour chaque c∈Ck faire 6 pour chaque t∈T faire 7 si c⊂talors

8 support(c)←support(c) + 1 9 Fk← {c∈Ck |support(c)>minsup}

10 k←k+ 1

11 Ck ←Apriori-gen(Fk−1) 12 Retourner ∪kFk

13 Fin

Thierry Lecroq (Univ. Rouen) R`egles d’association 18 / 43

(19)

Algorithme Close

repose sur l’extraction de g´en´erateursd’ensemble de mots ferm´es fr´equents

le nombre d’ensembles de mots ferm´es fr´equents est g´en´eralement bien inf´erieur au nombre d’ensembles de mots fr´equents

(20)

university-logo

Fermeture

La fermeture d’un ensemble de motsA est un ensemble de motsB tel que B apparaˆıt dans les mˆemes textes que A.

Pour la calculer on utilise deux fonctions :

f : associe `a un ensemble de mots les textes o`u il apparaˆıt

g : associe `a un ensemble de textes les mots qu’ils ont en commun

Soit A un ensemble de mots :

fermeture(A) =g◦f(A)

Thierry Lecroq (Univ. Rouen) R`egles d’association 20 / 43

(21)

Fermeture

Exemple

textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

f({D}) ={1,5}

g({1,5}) ={B, D}

fermeture({D}) ={B, D}

(22)

university-logo

Algorithme close

1 Initialisation de l’ensemble des g´en´erateurs avec l’ensemble des singletons form´es par les mots du corpus

2 Calcul de la fermeture des g´en´erateurs de niveau ket de leur support

3 Ajout des fermetures des g´en´erateurs `a l’ensemble des ensembles de mots ferm´es fr´equents

4 G´en´eration des g´en´erateurs de niveau k+ 1

Thierry Lecroq (Univ. Rouen) R`egles d’association 22 / 43

(23)

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support

{A} ∅ 0

{B} ∅ 0

{C} ∅ 0

{D} ∅ 0

(24)

university-logo

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1 {B} {A, B, D} 1

{C} ∅ 0

{D} {A, B, D} 1

Thierry Lecroq (Univ. Rouen) R`egles d’association 24 / 43

(25)

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1

{B} {B} 2

{C} ∅ 0

{D} {A, B, D} 1

(26)

university-logo

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1

{B} {B} 2

{C} {C} 1

{D} {A, B, D} 1

Thierry Lecroq (Univ. Rouen) R`egles d’association 26 / 43

(27)

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1

{B} {B} 3

{C} {C} 2

{D} {A, B, D} 1

(28)

university-logo

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1

{B} {B} 4

{C} {C} 2

{D} {B, D} 2

Thierry Lecroq (Univ. Rouen) R`egles d’association 28 / 43

(29)

Calcul fermeture/support

Exemple avec minsup = 2/5 textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support {A} {A, B, D} 1/5

{B} {B} 4/5

{C} {C} 2/5

{D} {B, D} 2/5

On ajoute {B},{C} et {B, D}`a l’ensemble des ensembles de mots fr´equents

On conserve{B},{C} et {D}pour calculer les g´en´erateurs de niveau sup´erieur

(30)

university-logo

Algorithme close

Les g´en´erateurs de niveau k+ 1sont obtenus de la mˆeme mani`ere que dans l’algorithme Apriori, mais ceux appartenant `a la fermeture d’un g´en´erateur de niveau ksont supprim´es.

Thierry Lecroq (Univ. Rouen) R`egles d’association 30 / 43

(31)

A partir de` {{B},{C},{D}}, on g´en`ere les ensembles {BC},{BD},{CD}

{B, D} ⊂f({D}) textes

1 2 3 4 5

mots

A X

B X X X X

C X X

D X X

g´en´erateur fermeture support

{BC} {BC} 1/5

{CD} ∅ 0/5

Pas de nouvel ensemble de mots fr´equents

(32)

university-logo

Algorithme fermeture

Fermeture(E, T)

. Entr´ee :E : ensemble d’ensembles de mots,T : corpus 1 D´ebut

2 pour chaque t∈T faire 3 pour chaque e∈E faire 4 sie∈T alors

5 G←G∪e

6 pour chaque e∈Gfaire 7 sifermeture(e) =∅alors 8 fermeture(e)←G

9 sinon fermeture(e)←fermeture(e)∩G 10 support(e)←support(e) + 1

11 Fin

Thierry Lecroq (Univ. Rouen) R`egles d’association 32 / 43

(33)

Algorithme g´ en´ eration

Close-gen(F, k)

. Entr´ee : F : ensemble d’ensembles de mots fr´equents de cardinalk 1 D´ebut

2 C ← {c=f1∪f2,(f1, f2)∈F ×F,card(c) =k+ 1}

3 pour chaque c∈C faire

4 sic6⊂fermeture(f1) etc6⊂fermeture(f2) alors 5 pour chaque s⊂cfaire

6 sis6∈F alors 7 C ←C\ {c}

8 Retourner C 9 Fin

(34)

university-logo

Algorithme close

Close(T,minsup)

. Entr´ee :T : corpus,minsup : entier 1 D´ebut

2 G1←ensemble de mots de cardinal 1

3 k←1

4 tantqueGk6=∅ faire

5 Ck←Fermeture(Gk, T) 6 pour chaque c∈Ck faire 7 sisupport(c)≥minsup alors 8 Fk←Fk∪ {c}

9 fermk ←fermk∪ferm({c}) 10 Gk+1 ←Close-gen(F, k) 11 Retourner ∪kfermk

12 Fin

Thierry Lecroq (Univ. Rouen) R`egles d’association 34 / 43

(35)

Plan

1 Pr´esentation

2 Extraction d’ensemble de mots fr´equents

3 G´en´eration des r`egles d’association

(36)

university-logo

G´ en´ eration des r` egles d’association

e∈ {ensemble de mots fr´equents},card(e)>2 g´en´erer les sous-ensemblesh dee,h6=∅, h6=e calculerc=support(e)/support(e−h);

si c>minconf alors g´en´erer la r`egle(e−h)→h.

Thierry Lecroq (Univ. Rouen) R`egles d’association 36 / 43

(37)

ensemble mots fr´equents e={ABC}

sous-ensembleh r`egle(e−h)→h

{A} BC →A

{B} AC →B

{C} AB→C

{AB} C→AB

{AC} B →AC

{BC} A→BC

(38)

university-logo

R´ eduction du nombre de r` egles

support(A) > support(A, B)

support(A, B, C)/support(A) 6 support(A, B, C)/support(A, B) confiance(A→BC) 6 confiance(AB→C)

A→BC valide ⇒ AB→C AC →B

valides

AB→C non valide ⇒ A→BC B →AC

non valides

Thierry Lecroq (Univ. Rouen) R`egles d’association 38 / 43

(39)

G´en´erer l’ensembleH des singletons de e

Pour chaque h∈H, calculerc=support(e)/support(e−h) Si c>minconf alors ajouter la r`egler: (e−h)→h

Sinon enleverh de l’ensembleH

G´en´erer un nouvel ensembleH d’ensembles de cardinal 2

(40)

university-logo

ensemble de mots fr´equents {ABC}

H ={{A},{B},{C}}

sous-ensemble r`egle {A} BC →A {B} AC →B {C} AB →C

Si BC→A non valide, H={{B, C}}

sous-ensemble r`egle {BC} A→BC

Thierry Lecroq (Univ. Rouen) R`egles d’association 40 / 43

(41)

G´ en´ eration des r` egles d’association

Gen-r`egles(E,minsup,minconf)

. Entr´ee :E : ensemble d’ensembles de mots,minsup,minconf : entier 1 D´ebut

2 pour chaque e∈E,card(e)>2 faire

3 m←1

4 H ← {singletons sous-ensemble dee}

5 tantquem6card(e) faire 6 pour chaque h∈H faire

7 confiance(r)←support(e)/support(e−h) 8 si confiance(r)>minconf alors

9 R←R∪ {(e−h)→h}

10 sinon H ←H\ {h}

11 H←Apriori-gen(H)

12 m←m+ 1

(42)

university-logo

R´ ef´ erences

R. Agrawal et R. Srikant.

Fast algorithms for mining association rules in large databases.

In proceedings of the 20th international conference on Very Large Data Bases (VLDB’94), pages 478–499, 1994.

N. Pasquier Y. Bastide R. Taouil et L. Lakhal.

Pruning closed itemset lattices for association rules.

In Actes des 14ejourn´ees Bases de Donn´ees Avanc´ees (BDA’98), pages 177–196, 1998.

Thierry Lecroq (Univ. Rouen) R`egles d’association 42 / 43

(43)

Remerciements

Guillaume Duhamel

Références

Documents relatifs

[r]

Enfin, bien que les 5- cycles ne soient pas tous conjugu´es dans A 5 15 , les sous-groupes d’ordre 5 le sont car ce sont les 5-Sylow de A 5 ; alors si H contient un ´el´ement

Le logiciel Scilab, contraction de Scientific Laboratory, est un logiciel open source gratuit de calcul num´ erique, d´ evelopp´ e par le consortium Scilab.. Il est actuellement

Donner une formule qui utilise les variables P 1 et P 2 et qui repr´ esente le fait que le portrait est exactement dans un des coffres.. Le portrait est dans le

(b) Deux villes peuvent toujours ˆ etre reli´ ees avec au plus un changement (c’est-` a-dire que soit on a une ligne directe entre les deux villes, soit il faut emprunter deux lignes

— r´ esultat, un pr´ edicat ternaire r´ esultat(e 1 , e 2 , r) repr´ esente le fait que le match de l’´ equipe e 1 avec l’´ equipe e 2 sur le stade de e 1 a ´ et´ e jou´ e

Si l'on envoie une lumière monochromatique, le réseau réfléchit plusieurs taches ; la direction de réflexion des taches dépend de la distance entre les traits et de la

He showed that given a simply connected simplicial complex X with all its Betti numbers being finite, there is associated to it a certain uniquely determined (up to DGA isomorphism)