Title: Ingnierie des connaissances: Rgles dAssociation dans les Tables Relationnelles JeanMarc Adamo
1Ingénierie des connaissances Règles
dAssociation dans les Tables Relationnelles-2-
Jean-Marc Adamo
2Degrés dapproximation dune règle dassociation
(autres mesures)
Observation 1 Fixons ? 25 et ? 50, On
note que a ? b et a ? c sont des règles
??-valides et que sup(a ? c) gt sup(a ? b) et
conf(a ? c) gt conf(a ? b). Pourtant Pr(c)
0.875 et Pr(c?a) 0.75, donc la probabilité de c
diminue (0.875 ? 0.750) lorsquon connaît a
alors que Pr(b) 0.25 et
Pr(b?a) 0.50, donc la probabilité de b
augmente (0.25 ? 0.50) lorsquon connaît a. On
en conclut que, du point de vue statistique,
conf(s ? u) traduit mal lidée de linfluence
exercée de s vers u qui est naturellement
entendue dans la règle s ? u.
3Degrés dapproximation dune règle dassociation
(autres mesures)
Observation 1 (suite) Deux événements s et u
sont dits corrélés positivement si
Pr(u ? s) / Pr(u) gt 1 (ex. a et b) corrélés
négativement si Pr(u ? s) /
Pr(u) lt 1 (ex. a et c) non corrélés (donc
indépendants) si Pr(u ? s) / Pr(u) 1 (ex. a et
d) Les règles s ? u qui sont ??-valides mais
dans lesquelles u et s sont corrélés
négativement ou sont indépendants sont dites
douteuses (ex. a ? c). On note que a ? c domine
a ? b pour de simples raisons arithmétiques et
non parce que la relation entre a et c est plus
forte que la relation entre a et b lensemble
support de c est grand en comparaison de ceux de
a et b, ceci gonfle le numérateur de conf(a ? c)
dune manière qui est sans rapport avec
lintensité a ? c. On note quil ny pas moyen
de fixer ? et ? de telle sorte que la règle
douteuse a ? c disparaisse sans que la règle a ?
b disparaisse également (!!!).
4Degrés dapproximation dune règle dassociation
(autres mesures)
Observation 2 Gardons ? 25 et ? 50, on
note que a ? b et a ? ?b sont des règles
??-valides et que ?b est négativement corrélé à
a, rendant douteuse la règle a ? ?b. Quelle que
soit la façon de fixer ? et ?, il ny pas moyen
déviter la génération Simultanée des règles
contradictoires a ? b et a ? ?b ou bien aucune
des deux règles nest générée ou bien elles le
sont simultanément.
5Degrés dapproximation dune règle dassociation
(autres mesures)
Observation 3 Les attributs a et d ne sont pas
corrélés (donc ils sont indépendants), autrement
dit, il nexiste aucune relation statistiquement
significative entre a et d. Par suite, la
relation a ? d est générée bien quelle soit
douteuse pour ? 25 et ? 50. Nous
pourrions lever les seuils ? et ? pour la faire
disparaître mais nous ferions disparaître du
même coup a ? b qui nest pas douteuse et ne doit
pas disparaître.
6Degrés dapproximation dune règle dassociation
(autres mesures)
1ère mesure alternative lift Mesure lintensité
de la corrélation entre s et u lift(s, u)
Pr(u ? s) / Pr(u). Tempère linfluence de la
taille du support du conséquent en normalisant
conf(s ? u) par rapport à cette taille. Noter
que lift(s, u) Pr(s ? u) / (Pr(s) ? Pr(u)).
7Degrés dapproximation dune règle dassociation
(autres mesures)
2ème mesure alternative conv (conviction) On
interprète lintensité de la règle dassociation
comme lintensité de linfluence exercée par
lévénement s sur lévénement u, donc comme
lintensité de s implique u. Or, s implique u
? ?s ? u ? ?(s ? ?u), donc intensité de s
implique u intensité de ?(s ? ?u). Si on
décide de représenter lintensité du
complémentaire dune proposition par linverse
arithmétique de lintensité de cette
proposition intensité de s implique u
1 / intensité de (s ? ?u). Lintensité de (s ?
?u) peut être mesurée par le rapport Pr(s
? ?u s et u non indépendant) / Pr(s ? ?u s et
u indépendant) Pr(s ? ?u) / Pr(s)
Pr(?u). et en inversant pour obtenir lintensité
de s implique u conv(s ? u) Pr(s)
Pr(?u) / Pr(s ? ?u) Pr(s) Pr(?u) /
(Pr(s) Pr(s ? u) ) (1 ? Pr(u)) / (1
? (Pr(s ? u)) / Pr(s))).
8Degrés dapproximation dune règle dassociation
(autres mesures)
Autre expression (différente) de la mesure de
conviction conv' (conviction) On interprète
lintensité de la règle dassociation comme
lintensité de linfluence exercée par
lévénement s sur lévénement u, donc comme
lintensité de s implique u. Lintensité de s
implique u peut être mesurée par le rapport
conv'(s ? u) Pr(s implique u s et u non
indépendant) / Pr(s implique u s et u
indépendant) (1
? Pr(s) Pr(s ? u)) / (1 ? Pr(s) Pr(s)
Pr(u)) (voir p. 10, partie 1)
(1 ? Pr(s)(1 ? (Pr(s ? u) / Pr(s)))) / (1 ?
Pr(s)(1 ? Pr(u))) Examples
9Degrés dapproximation dune règle dassociation
(autres mesures)
- Propriétés 16
- 0. conv(s ? u) (1 ? sup(u)) / (1 ? conf(s ?
u)). - 0 lt conv(s ? u) lt ?.
- s and u are statistically independent if and only
if conv(s ? u) 1. - 0 lt conv(s ? u) lt 1 if and only if Pr(u ? s) lt
Pr(u) (i.e., u is negatively correlated with s). - 1 lt conv(s ? u) lt ? if and only if Pr(u ? s) gt
Pr(u) (i.e., u is positively correlated with s). - lift(s, u) conf(s ? u) / sup(u).
- conv(s ? u) (1 ? sup(u)) / (1 ? lift(s, u)
sup(u)).
conv et lift apparaissent comme des mesures
meilleures que conf car elles permettent déviter
la génération de règles douteuses. conv est
préférable a lift car - conv est une mesure
directionnelle conv(s ? u) ? conv(u ?
s) alors que lift(s ? u) lift(u ?
s), - conv a un pouvoir discriminant supérieur
à lift. conv présente linconvénient de ne pas
être normalisée (un nombre entre 0 et 1). On
peut écrire conv' (1 ? sup(s)(1 ? conf(s ?
u))) / (1 ? sup(s)(1 ? sup(u))). conv' possède
des propriétés 1. ? 4. semblables à celles de
conv (voir les pages suivantes).
10Degrés dapproximation dune règle dassociation
(autres mesures)
Valeurs singulières de la mesure conv conv(s ?
u) (1 ? Pr(u)) / (1 ? Pr(us)) (1 ?
Pr(u)) / (1 ? (Pr(s ? u) / Pr(s))) Discussion si
s est un évènement impossible Pr(s) 0, s ?
u est également impossible, par suite Pr(s ? u)
0 il en résulte que Pr(s ? u) / Pr(s) 0/0
? conv(s ? u) ? sinon Pr(s) gt 0,
si u est un évènement impossible Pr(u)
0, s ? u est également impossible, par suite Pr(s
? u) 0 conv(s ? u) 1 sinon
s et u sont deux évènements possibles Pr(s) gt
0, Pr(u) gt 0 et Pr(s ? u) gt 0 si Pr(s ?
u) Pr(s) conv(s ? u) (1 ? Pr(u))
/ (1 ? 1) si u est un évènement
certain Pr(u)) 1
conv(s ? u) 0/0 ? sinon
Pr(u)) lt 1 conv(s ? u) (1
? Pr(u)) / 0 ? ? sinon
conv(s ? u) (1 ? Pr(u)) / (1 ? (Pr(s ? u)) /
Pr(s)))
11Degrés dapproximation dune règle dassociation
(autres mesures)
Valeurs singulières de la mesure conv' conv'(s ?
u) (1 ? Pr(s)(1 ? Pr(us)) / (1 ? Pr(s)(1 ?
Pr(u))) (1 ? Pr(s)(1 ? (Pr(s ? u) /
Pr(s)))) / (1 ? Pr(s)(1 ? Pr(u))) (1
? Pr(s) Pr(s ? u)) / (1 ? Pr(s) Pr(s)
Pr(u)) Discussion Le dénominateur de conv'(s ?
u) ne peut sannuler que si s est un évènement
certain et u un évènement impossible si s est
un évènement certain et u un évènement
impossible Pr(s) 1, Pr(u) 0, s ? u est
impossible, par suite Pr(s ? u) 0
conv'(s ? u) (1 1 0) / (1 1 0) 0/0
? sinon conv'(s ? u) (1 ? Pr(s) Pr(s ? u)) /
(1 ? Pr(s) Pr(s) Pr(u))
12Degrés dapproximation dune règle dassociation
(autres mesures)
Comparaison des mesures conv et conv
- Deux surfaces générées par MatLab qui
représentent respectivement les distributions des
valeurs de conv et conv' pour toutes les paires
de combinaisons binaires de taille 4 (16?16
combinaisons). - La distribution des valeurs de conv nest pas
bornée. On observe un nombres importants de
jaillissements infinis de la surface selon
certaines directions (limité à la valeur 20 ici). - La distribution des valeurs de conv' est bornée.
La valeur maximale déterminée expérimentalement
avec MatLab est 1.33. - En fait, labsence de jaillisements infinis
permet à conv' de rendre compte de finesses qui
échappent à conv (voir page suivante).
13Degrés dapproximation dune règle dassociation
(autres mesures)
Comparaison des mesures conv et conv'
(suite) Considérons les évènements s u1 u2
u3 u4 0 0 0 0 1 0 0 0 0 1 0
0 0 1 1 0 0 0 1 1 0 0 1
1 1 0 0 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 0 1 1
1 1 On a conv(s ? u1) conv(s ? u2)
conv(s ? u3) ? et conv(s ? u4) ? On
peut calculer conv'(s ? u1) (1-(2/10)(1-1))/(1-(
2/10)(1-4/10)) 100/88, conv'(s ? u2)
(1-(2/10)(1-1))/(1-(2/10)(1-6/10))
100/92, conv'(s ? u3) (1-(2/10)(1-1))/(1-(2/10)(1
-8/10)) 100/96, conv'(s ? u4) 1.
- Discussion
- On note que
- conv'(s ? u1)
- gt conv'(s ? u2)
- gt conv'(s ? u3)
- gt conv'(s ? u4) 1
- Autrement dit, pour s lt u, plus support(s) est
petit par rapport à support(u) plus lintensité
de linfluence exercée de s sur u est petite en
tendant vers 1. - Ce qui saccorde parfaitement avec lintuition.
- En particulier, lorsque u représente lévènement
certain, aucun autre évènement nest susceptible
davoir une quelconque influence sur son
occurence. Cest ce quexprime conv et nexprime
pas conv.
14Génération des règles dassociation ?k-valides
- On note k le niveau de conviction k ? 1, ?.
- Question lalgorithme de génération des règles
dassociation ??-valides peut-il être utilisé - sans aucun changement pour les
règles dassociation ?k-valides? - Réponse non!
- lalgorithme de génération des règles
dassociation ??-valides repose sur - Proposition 11 (rappel)
- Soient s, u et s' trois séquences (cass) telles
que u ? s ?, s' ? s (donc s' ? u ?). - On suppose que sup(s ? u) ? ?.
- Si s ? u nest pas ??-valide alors (s
s') ? (u s') nest pas ??-valide. - (2) Soient s, u et s' trois séquences (cass)
telles que u ? s ?, u' ? u (donc u' ? s ?). - On suppose que sup(s ? u) ? ?.
- Si s ? u est ??-valide alors (s u') ?
(u - u') est ??-valide.
15Génération des règles dassociation ?k-valides
Pour contourner la difficulté, nous allons
construire un algorithme (1) qui, pour chaque
séquence ?-fréquente v, génère les règles
comme pour conf - en partant de v ? ?
et - en transférant les attributs, lun après
lautre, de lantécédent vers le
conséquent. (2) qui sappuie sur conf pour
décider sil faut continuer ou arrêter la
génération de nouvelles règles (3) qui filtre
chaque nouvelle règle générée pour naccepter
que les règles vérifiant la condition sur conv
qui permet de garantir leur
?k-validité. Il faudra garantir que la décision
prise sur conf pour continuer ou arrêter la
génération de nouvelles règles soit bien fondée,
en ce sens quelle ne doit pas conduire à
manquer la génération daucune règle ?k-valide.
16Génération des règles dassociation ?k-valides
Procédure 17 Soit k le seuil de conviction
souhaité. Pour chaque séquence ?-fréquente v
identifiée à létape 1 de Procédure 1 Calculer
le seuil de confiance ?(v, k) (k ? 1 sup(v))
/ k) C1 ensemble des attributs composants
v Construire les règles s ? a telles que s
v a, a ? C1 Tester la ??(v, k)-validité de
chaque règle s ? a en testant
conf(s ? a) ?(v) / ?(s) gt (k ? 1 sup(v))
/ k) Filtrer les règles qui ne satisfont pas
conv(s ? a) (1 ? sup(a)) / (1 ? conf(s ? a)) ?
k Retirer de C1 tout attribut a produisant
une règle non ??(v, k)-valide Marquer dans C1
tout attribut a associé une règle écartée par
filtrage i 2 while(Ci 1 gt 1 i lt
v 1) Former Ci par jointure des
séquences de Ci 1 if(Ci 0) break
Construire toutes les règles s ? u telles que
s v u, u ? Ci Tester la ??(v,
k)-validité de chaque règle s ? u en testant
conf(s ? u) ?(v) / ?(s)
gt (k ? 1 sup(v)) / k) Filtrer les
règles qui ne satisfont pas conv(s ? u) (1 ?
sup(u)) / (1 ? conf(s ? u)) ? k Retirer de
Ci toute séquence u produisant une règle non
??(v, k)-valide Marquer dans Ci toute
séquence u associée une règle écartée par
filtrage i i 1 Dans tout Ci,
retirer tout attribut a (si i1) ou séquence u
(si igt1) marqué Former les règles dont les
conséquents figurent dans les Ci (correspondent
aux attributs non retirés dans les Ci)
Chaque règle associée à v est entièrement
définie par son conséquent le fait davoir
retiré les conséquents marqués permettra déviter
la génération des règles non ?k-valides.
17Génération des règles dassociation ?k-valides
Dans Procédure 17, on observe que la génération
dune lignée de règles dérivée de v est arrêtée
dès que lon rencontre une règle s ? u avec s v
u, telle que ?(v) / ?(s) lt ?(v, k) (k
? 1 sup(v)) / k) Question ce critère
darrêt des lignées de règles est-il bien fondé?
Réponse il faut montrer que, sil avait
poursuivi la génération de la lignée au delà
de s ? u lalgorithme naurait produit que des
règles s ? u' avec s v u', u' gt u ne
satisfaisant pas la condition de ?k-validité,
cest-à-dire telles que conv(s ? u') lt
k. Sachant que nous savons que conf(s ? u') lt (k
? 1 sup(v)) / k pour tout u' tel que s v
u', et u' gt u, la réponse à cette question est
apportée par la Proposition (démonstration page
suivante) Proposition 18 Soit v une séquence
?-fréquente, u' lt v. Si conf(v u' ? u') lt (k ?
1 sup(v)) / k alors conv(v u' ? u') lt k.
18Génération des règles dassociation ?k-valides
Proposition 18 Soient v une séquence ?-fréquente
et u' lt v. Si conf(v u' ? u') lt (k ? 1
sup(v)) / k alors conv(v u' ? u') lt
k. Preuve conv(v u' ? u') (1 ? sup(u')) / (1
? conf(v u' ? u')), Si conv(v u' ? u') ? k
alors (1 ? sup(u')) / (1 ? conf(v u' ? u')) ?
k. Si (1 ? sup(u')) / (1 ?
conf(v u' ? u')) ? k, alors (1 ?
sup(u')) ? k (1 ? conf(v u' ? u')) Cest-à-dire
conf(v u' ? u')) ? (k 1 sup(u')) /
k Puisque sup(u') ? sup(v), (k ? 1 sup(u')) /
k ? (k ? 1 sup(v)) / k et conf (v u' ? u') ?
(k ? 1 sup(v)) / k On obtient ainsi
limplication Si conv(v u' ? u') ? k alors conf
(v u' ? u') ? (k ? 1 sup(v)) / k En
prenant limplication duale Si conf (v u' ? u')
lt (k ? 1 sup(v)) / k alors conv(v u' ? u')
lt k
19Génération des règles dassociation ?k-valides
Filtrage Dans Procédure 17 la condition de
filtrage est exprimée sous la forme conv(s ?
u) ? k Pour des raisons defficacité de calcul
il est avantageux de remplacer la condition de
filtrage par une autre qui lui est équivalente.
On sait que conv(s ? u) (1 ? sup(u)) / (1 ?
conf(s ? u)) La condition de filtrage
devient (1 ? sup(u)) / (1 ? conf(s ? u)) ?
k Cest-à-dire conf(s ? u)) ? (k 1 sup(u))
/ k
20Génération de règles dassociation à conséquent
fixe
Hypothèse On sintéresse ici aux règles de la
forme s ? C, où s représente une séquence
et C est une séquence fixée à priori. Principe
de construction La construction de lalgorithme
repose sur deux propositions (page
suivante). Ces propositions permettent de
prédire en nimporte quel point du processus
dénumération (i.e., la règle s ? C en cours
dexamen) la valeur maximale des indices de
confiance ou de conviction attachés à toutes les
règles dérivées de s ? C. La prédiction
effectuée au point dexamen de toute règle s ? C
permet de décider sil est utile ou non de
sintéresser aux règles dérivées de cette règle,
puisquon sait à priori si leurs indices
dépasseront ou non le seuil fixé.
21Génération de règles dassociation à conséquent
fixe
Définition 19 Soient s, s?, and C trois séquences
telles que s ? C ? et s? ? C ?. La règle s?
? C est dite dérivable de s ? C si s? vérifie les
conditions s ? s? ? s ? tail(s) , où tail(s)
a ? a est un attribut tel que a gt
last(s). Proposition 20 Soit bconf(s, C)
sup(s ? C) / (sup(s ? C) sup(s ? tail(s) ?
?C)). Pour toute règle s? ? C dérivable de s
? C, le ratio bconf(s, C) est une borne
supérieure pour lindice de confiance
cest-à-dire, conf(s? ? C) ? bconf(s, C).
Proposition 21 Soient s et C deux séquences et
soit bconv(s, C) (1 sup(C)) / (1 ? bconf(s,
C)), où bconf(s, C) est définie plus haut.
Pour toute règle s? ? C dérivable de s ? C, le
ratio bconv(s, C) est une borne supérieure pour
lindice de conviction cest-à-dire, conv(s??C)
? bconv(s, C). Proposition 21' Soient s et C
deux séquences et soit bconv'(s, C) (1
sup(s)(1 bconf(s, C))) / (1 ? sup(s)(1
sup(C))), où bconf(s, C) est définie plus haut.
Pour toute règle s? ? C dérivable de s ? C, le
ratio bconv'(s, C) est une borne supérieure pour
lindice de conviction cest-à-dire, conv'(s??C)
? bconv'(s, C).
"gt" est lordre lexicographique sur A
22Génération de règles dassociation à conséquent
fixe
- On note s.a ? C la règle en cours dexamen.
- Cas possibles (discutés pour conf mais également
valides pour conv et conv') - conf(s.a ? C) ? ? et bconf(s.a, C) ? ?
- conf(s.a ? C) ? ? et bconf(s.a, C) lt ?
- conf(s.a ? C) lt ? et bconf(s.a, C) ? ?
-
- conf(s.a ? C) lt ? et bconf(s.a, C) lt ?
23Génération de règles dassociation à conséquent
fixe
- 1er cas (discuté pour conf mais également valide
pour conv et conv') - conf(s.a ? C) ? ? et bconf(s.a, C) ? ?
- Nous savons par Proposition 20 que conf(s.a? ?
C) ? bconf(s.a, C). - Par conséquent, le positionnement relatif des
valeurs ?, bconf(s.a, C), - conf(s.a ? C) et conf(s.a? ? C) peut être
illustré par le schéma -
-
- Conclusion
24Génération de règles dassociation à conséquent
fixe
- 2ème cas (discuté pour conf mais également valide
pour conv et conv') - conf(s.a ? C) ? ? et bconf(s.a, C) lt ?
- avec conf(s.a ? C) ? bconf(s.a, C)
- (Proposition 20)
- Conclusion
25Génération de règles dassociation à conséquent
fixe
3ème cas (discuté pour conf mais également valide
pour conv et conv') conf(s.a ? C) lt
? et bconf(s.a, C) ? ?
(conf(s.a ? C) et conf(s.a? ? C) sont dans un
ordre quelconque Sils sont simultanément
inférieurs à ?)
- s.a ? C ne satisfait pas le seuil de confiance ?
et nous ne savons pas à priori si les règles s.a?
? C dérivées de s.a ? C satisferont le seuil de
confiance. - Conclusion
- s.a ? C doit être écartée dans lensemble
des règles ??-valides, - mais
- on ne peut rien affirmer pour ce qui
concerne les règles s.a? ? C dérivées - de s.a ? C qui peuvent ou non se révéler
??-valides. - Il faut donc les générer pour vérifier.
- Par conséquent, toutes les règles
?-fréquentes s.a.b ? C qui peuvent être - dérivées de s.a ? C au niveau suivant
doivent lêtre.
26Génération de règles dassociation à conséquent
fixe
4ème cas (discuté pour conf mais également valide
pour conv et conv') conf(s.a ? C) lt ? et
bconf(s.a, C) lt ?
(conf(s.a ? C) et conf(s.a? ? C) sont dans un
ordre quelconque)
- s.a ? C ne satisfait pas le seuil de confiance ?
et nous savons à priori que les règles s.a? ? C
dérivées de s.a ? C ne satisferont pas
satisferont le seuil de confiance. - Conclusion
- - s.a ? C doit être écarté de lensemble des
règles ??-valides, - et
- - aucune des règles s.a.b ? C dérivées de s.a
? C au niveau suivant - ne doit être générée.
27Génération de règles dassociation à conséquent
fixe
Procédure 22 Stack L SetofCasRecs F(1, ?)
make a CasRec with each attribute in A
passing the check-frequency test record it in
F(1, ?) L1 F(1, ?) for(int i 1 Li
! i) for all F(i, s) in Li for
all cr in F(i, s) //the cas in cr is of
the form s.a for some attribute a in A
float cr.bconf compute_bconf(cr, F(i, s))
if(cr.bconf gt ?) for all cr' in
F(i, s) with rank greater than rank of cr
CasRec cr join(cr, cr')
if(cr ! none)
record_in_L(i 1, cr)
delete member ? in cr if(cr.conf lt ?)
delete cr with void
record_in_L(int i, CasRec cr) let s be the
cas member in cr if(F(i, s ? last(s)) has
not already been created) create F(i, s
? last(s)) new empty SetofCasRecs(i, s ?
last(s)) Li Li ? F(i, s ?
last(s)) F(i, s ? last(s)) F(i, s ?
last(s)) ? cr
mconf et flag initialisés ici, pour être
utilisés la procédure délagage
CasRec join(CasRec cr_a, CasRec cr_b) let
s.a and s.b be the cass in cr_a and cr_b,
respectively Set ? ?(s.a) ? ?(s.b)
float sup ? ? ?(C) / D float conf ?
? ?(C) / ? if(check_frequency(sup))
create cr new CasRec(s.a.b, ?, sup, conf, 0,
KEEP) return cr return
none float compute_bconf(CasRec cr, F_set
F) let s.a be the cas in cr Set ?_tail
cr.? for all cr' in F with rank greater
than rank of cr let s.b be the cas in
cr' ?_tail ?_tail ? cr'.? //this
computes ?_tail ?(s.a) ? ?b gt a ?(s.b)
?_tail ?_tail ? (?_tail ? ?(C))
//this is ?(s.a ? tail(s.a) ? ?C) Set ?
cr.? ? ?(C) float bconf ? / (?
?_tail) return bconf
Note un procédure identique peut être écrite
pour conv et conv'.
28Génération de règles dassociation à conséquent
fixe
Preuve de Proposition 20 Soit bconf(s, C) sup(s
? C) / (sup(s ? C) sup(s ? tail(s) ? ?C)).
Pour toute règle s? ? C dérivable de s ? C, le
ratio bconf(s, C) est une borne supérieure pour
lindice de confiance cest-à-dire, conf(s? ? C)
? bconf(s, C). Preuve De la définition de
lindice de confiance 1. conf(s??C) ?(s? ?
C) / ?(s?)
?(s? ? C) / (?(s? ? C) (?(s?) ? ?(s? ?
C))). On observe que lexpression de conf(s? ?
C) est une fonction de la forme x / (x y),
avec x ?(s? ? C) et y (?(s?) ? ?(s? ?
C)). On peut montrer que cette fonction est
monotone croissante en x cest-à-dire x ? x' si
et seulement si x / (x y) ? x' / (x' y), et
monotone décroissante en y, cest-à-dire y ? y'
si et seulement si x / (x y) ? x / (x
y'). Puisque ? est monotone décroissante et
conf(s? ? C) is monotone croissante en x ?(s?
? C) 2. conf(s? ? C) ? ?(s ? C) / (?(s ?
C) (?(s?) ? ?(s? ? C))), pour tout s? gt
s. Suposons que s s? s ? tail(s), 3. s? ? ?C
? s ? tail(s) ? ?C 4. ?(s? ? ?C) ? ?(s ? tail(s)
? ?C). En développant ?(s? ? ?C) on
obtient 5. ?(s? ? ?C) ?(s?) ? ?(?C)
?(s?) ? (?(?)
? ?(C))
?(s?) ? (?(s?) ? ?(C))
?(s?) ? ?(s? ? C). En
combinant (4) et (5) 6. ?(s?) ? ?(s? ? C) ? ?(s
? tail(s) ? ?C).
Puisque ?(s?) ? ?(s? ? C) on obtient, 7. ?(s?)
? ?(s? ? C) ?(s?) ? ?(s? ? C) ? ?(s ?
tail(s) ? ?C. On termine la preuve en combinant
les lignes (7) et (2) puis en utilisant le fait
que conf(s??C) est monotone décroissante en y
(?(s?) ? ?(s? ? C)). On note que cette
preuve pourrait être également faite pour s,
doù on conclut que conf(s ? C) ? bconf(s, C)
29Génération de règles dassociation à conséquent
fixe
Preuve de Proposition 21 Soient s and C deux
séquences et soit bconv(s, C) (1 sup(C)) / (1
? bconf(s, C)), où bconf(s, C) est définie plus
haut. Pour toute règle s? ? C dérivable de s ?
C, le ratio bconv(s, C) est une borne supérieure
pour lindice de conviction cest-à-dire,
conv(s??C) ? bconv(s, C). Preuve On sait de la
proposition précédente que pour toute règle s?
? C dérivable de s ? C, on a conf(s? ? C) ?
bconf(s, C). Dautre part, soit f(x) cte / (1
x), avec cte ? 0 il es facile de sassurer que
f(x) est monotone (i.e., x ? x' ssi f(x) ?
f(x')). Il en résulte que conv(s? ? C) (1 ?
sup(C)) / (1 ? conf(s? ? C)) ? (1 ? sup(C))
/ (1 ? bconf(s, C)) bconv(s, C). Note.
On peut faire une preuve identique pour
Proposition 21'
30Élagage des ensembles de règles dassociation à
conséquent fixe
- Objectif Elimination des règles redondantes.
- Définition 23
- On mesure la quantité damélioration de la
qualité dune règle résultant du développement de
son antécédent par - ??-imp(s ? C) minconf(s ? C) ? conf(s' ? C) ?
s' lt s et s' ? C est ??-valide. - ??-imp(s ? C) est indéfinie si s' ? s' lt s and
s' ? C est ??-valide . - ou
- ?k-imp(s ? C) minconv(s ? C) ? conv(s' ? C) ?
s' lt s et s' ? C est ?k-valide. - ?k-imp(s ? C) est indéfinie si s' ? s' lt s and
s' ? C est ?k-valide . - Discussion 24
- Si la ?(?/k)-imp(s ? C) gt 0 (amélioration) alors
il nexiste aucune façon de - simplifier lantécédent de la règle s ? u afin
dobtenir une règle plus simple - qui soit de meilleure qualité (meilleure
confiance ou conviction). - Conséquence la règle s ? C doit être
conservée. - Si la ?(?/k)-imp(s ? C) ? 0 (dégradation) alors
il existe au moins une façon de
amélioration
dégradation
31Élagage des ensembles de règles dassociation à
conséquent fixe
Rappel des résultats de Discussion 24
- si la ?(?/k)-imp(s ? C) gt 0
- ? amélioration observée pour s ? u
- ? on garde s ? u
- si la ?(?/k)-imp(s ? C) ? 0
- ? dégradation observée pour s ? u
- ? on supprime s ? u
Généralisation 25
- on introduit un seuil ? ? 0 en dessous duquel
on juge une quantité - damélioration insuffisante pour justifier la
conservation dune règle. - si ?(?/k)-imp(s ? C) gt ?
- ? amélioration suffisante observée pour s ? u
- ? on garde s ? u
- si ?(?/k)-imp(s ? C) ? ?
- ? amélioration insuffisante observée pour s ? u
- ? on supprime s ? u
32Élagage des ensembles de règles dassociation à
conséquent fixe
- La procédure délagage repose sur les deux
propositions suivantes - Expression de la quantité damélioration/dégradati
on pour s ? C - Proposition 26
- Soient s, C deux cass et soient
- mconf(s, C) maxconf(s'?C) ? s' lt s
et s' ? C est ??-valide et - mconv(s, C) maxconv(s'?C) ? s' lt s
et s' ? C est ?k-valide. - Les deux égalités suivantes sont vraies.
- ??-imp(s ? C) conf(s ? C) ? mconf(s, C).
- ?k-imp(s ? C) conv(s ? C) ? mconv(s, C).
- Borne sur lamélioration/dégradation applicable
aux règles dérivées de s ? C - Proposition 27
- Soient s et C deux cass,
- bconf(s, C) sup(s ? C) / (sup(s ?
C) sup(s ? tail(s) ? ?C)),
33Élagage des ensembles de règles dassociation à
conséquent fixe
Prise en compte des propositions 26 et 27 dans la
reformulation de Généralisation 27 et de son
élargissement à la prédiction pour les règles
dérivées (discutée pour conf mais également
valide pour conv)
- on introduit un seuil ? en dessous duquel une
quantité damélioration - est jugée insuffisante pour justifier la
conservation dune règle (donc - en dessous duquel on supprime la règle).
- on calcule
- mconf(s, C) maxconf(s'?C) ? s' lt s et s' ?
C est ??-valid - ??-imp(s ? C) conf(s ? C) ? mconf(s, C),
- bconf(s, C) sup(s ? C) / (sup(s ? C) sup(s
? tail(s) ? ?C)), - Elagage immédiat
- si conf(s ? C) ? mconf(s, C) gt ?
- ? ??-imp(s ? C) gt ?
- ? amélioration suffisante observée pour s ? u
- ? on garde s ? u
- si conf(s ? C) ? mconf(s, C) ? ?
- ? ??-imp(s ? C) ? ?
- ? amélioration insuffisante observée pour s ? u
- Elagage en avant ? on supprime s ? u
- si bconf(s, C) ? maxmconf(s, C), conf(s ? C) ?
? - ? ??-imp(s? ? C) ? bconf(s, C) ?
maxmconf(s, C), conf(s ? C) ? ?
34Élagage des ensembles de règles dassociation à
conséquent fixe
Procédure délagage Principe (décrit pour conf,
également valide pour conv) On se donne un seuil
? ? 0 (en dessous duquel on élague). Pour toute
règle s ? C, - calculer mconf(s, C)
maxconf(s'?C) ? s' lt s et s' ? C est
??-valide, - si ??-imp(s ? C) conf(s ? C) ?
mconf(s, C) ? ? marquer s ? C comme
supprimée, - si bconf(s, C) ? maxmconf(s,C),
conf(s ? C) ? ? alors ??-imp(s? ? C) ?
? marquer s? ? C comme supprimée pour tout cas
s? gt s.
35Élagage des ensembles de règles dassociation à
conséquent fixe
Procédure 28 (délagage) for(int i 2 Li !
i) // No rule in L1 is pruned for
all F-set in Li for all cr in F-set
let s be the cas in cr if(i gt 1)
for all s' in S(s, i ? 1)
let cr' be the CasRec attached to s'
cr.mconf maxcr.mconf, maxcr'.conf,
cr'.mconf
if (cr.flag ! PRUNE) if(cr.conf ? cr.mconf
lt ?) //first proposition
cr.flag PRUNE if(cr.bconf ?
maxcr.mconf, cr.conf lt ?) //second
Proposition for all s? such that s? ? C
is derivable from s ? C let cr? be
the CasRec attached to s? cr?.flag
PRUNE
Notes - le champ mconf de tout CasRec est
initialisé à 0 dans la procédure de génération,
il est mise à jour niveau après niveau. -
le champs flag de tout CasRec est initialisé à la
valeur KEEP.
36Élagage des ensembles de règles dassociation à
conséquent fixe
- Preuve de Proposition 26
- Soient s, C deux cass,
- mconf(s, C) maxconf(s'?C) ? s' lt s
et s' ? C est ??-valide et - mconv(s, C) maxconv(s'?C) ? s' lt s
et s' ? C est ?k-valide. - Les deux égalités suivantes sont vraies.
- ??-imp(s ? C) conf(s ? C) ? mconf(s, C).
- ?k-imp(s ? C) conv(s ? C) ? mconv(s, C).
- Preuve (idem pour conv et conv')
- Par définition
- ??-imp(s ? C)
- minconf(s ? C) ? conf(s' ? C) ? s' lt s et s' ?
u est ??-valide - conf(s ? C) ? max conf(s' ? C) ? s' lt s et s'
? u est ??-valide - conf(s ? C) ? mconf(s, C).
37Élagage des ensembles de règles dassociation à
conséquent fixe
- Preuve de Proposition 27
- Soient s et C deux cass,
- bconf(s, C) sup(s ? C) / (sup(s ?
C) sup(s ? tail(s) ? ?C)), - mconf(s, C) maxconf(s'?C) ? s' lt s
et s' ? C et ??-valide et - mconv(s, C) maxconv(s'?C) ? s' lt s
et s' ? C et ?k-valide. - Pour toute règle s? ? C dérivable de s ? C, les
deux inégalités suivantes sont vraies. - ??-imp(s? ? C) ? bconf(s, C) ? maxmconf(s, C),
conf(s ? C), - ?k-imp(s? ? C) ? bconv(s, C) ? maxmconv(s, C),
conv(s ? C), - Preuve (idem pour conv et conv')
- Soit s? tel que s? gt s. De la definition de
??-imp - 1. ??-imp(s? ? C) minconf(s? ? C) ? conf(s' ?
C) ? s' lt s? et s' ? C est ??-valid - conf(s? ? C) ?
maxconf(s' ? C) ? s' lt s? et s' ? C est
??-valid. - On sait que
- 2. conf(s? ? C) ? bconf(s, C).
- Dautre part,
- maxconf(s' ? C) ? s' lt s? et s' ? C est
??-valide - maxmaxconf(s' ? C) ? s' ? s et s'
? C est ??-valide,