Upload
gilebert-le-roy
View
105
Download
0
Tags:
Embed Size (px)
Citation preview
Suppression des Itemsets Clés Non-Essentiels en Classification
V. Phan-Luong
Université Aix-MarseilleLaboratoire d'Informatique
Fondamentale de Marseille (LIF – CNRS)
Problème de Classification
Chercher une attribution d’étiquettes de classe
pour un ensemble d’objets: Naive-Bayes, Arbre de décision, Règles de prédiction, Règles associatives (RAs), …
Problème de classification avec RAs: Le nombre de RAs est très grand.
Contribution: Elagage des itemsets clés non essentiels en classification basée sur les RAs formées de petits itemsets clés.
Préliminaires
Dataset: un ensemble d’objets .
itemset: un ensemble d’items (ex: ad = {a, d}).
k-itemset: un itemset de k items
(ex: ad: 2-itemset).
support d’un itemset X par rapport à un dataset D:
sup(X) = nombre objets de D contenant tous les items de X.
C’bce4
C’abe3
Cabd2
Cacd1
ClasseItemsetOid
sup(a) = 3, sup(aC) = 2.
sup(ab) = 2, sup(abC) = 1.
Règles de Classification (RCs) R = X C, X: un itemset, C: une étiquette de
classe. Obj O est couvert par R si O a tous les items de X. Obj O is correctement classé par R si O est couvert par R et O est réellement en classe C.
Support: sup(R) = #objets correctement classés par R. Confiance: conf(R) = sup(R) / sup(X).
sup(a C) = 2 et conf(a C) = 0.67.
Ordre de Précédence (<): R < R' (R précède R') si
conf(R') < conf(R) ou conf(R) = conf(R') et sup(R') < sup(R), ou conf(R) = conf(R') et sup(R) = sup(R') et
|LHS(R)| < |LHS(R')|.
Travaux Liés Calcul d’Itemsets Fréquents
Algorithmes type Apriori : Générer les k-itemsets candidats sur les (k-1)-itemsets fréquents.
Algorithmes type FP-growth: Stockage de datasets en mémoire: arbres préfixes. Extraction récursive en profondeur d’abord des préfixes fréquents
et les datasets conditionnels.
Adaptation pour calculer les itemsets fermés et clés. X est fermé s’il n’existe pas Y: X Y et sup(X) = sup(Y). X est clé s’il n’existe pas Y: Y X et sup(X) = sup(Y).
Classification par Règles Associatives CBA (Liu et al. 98) extrait RAs utilisant Apriori, et sélection de RCs d’après l’ordre précédence. Chaque obj. est couvert par une seule RCs.
CMAR (Li et al. 01) Similaire à CBA en utilisant FP-growth pour extraire RAs , mais chaque obj. est
couvert par plusieurs règles du classifieur.
HARMONY (Wang and Karypis 05) extrait RAs utilisant FP-growth, et chaque obj. a une liste de règles de confiance maximale qui correctement classifient l’objet.
Par ordre de précédence ou par optimisations, les règles
formées des itemsets clés ou de petites tailles sont préférées.
Contribution
Généralisation d’une propriété importante des itemsets non-clés.
Notion d'itemset clé non-essentiel.
L'application: optimiser la construction de classifieurs basée sur les RAs utilsant une technique d’énumération de sous-ensembles dans un arbre de préfixes.
Définition: g(I) = {o O : i I, (o, i) R }
Propriétés connues: Si X Y Z et sup(X) = sup(Y), alors …
Z = (Z-Y) X Y et g(X) = g(Y). D’où g(Z) = g(Z-Y) g(X) g(Y) = g((Z-Y) X), et donc sup(Z) = sup((Z-Y) X) .
Si Y n’est pas une clé, alors tout super-ens de Y ne l'est pas.
g(X)g(Y)
g(Z)
ZY
X
g(X)=g(Y)
g(Z)
Généralisation
Si X Y, alors g(X) - g(Y) = g(X) - g(Y-X). Si X Y Z, alors
g((Z - Y) X) - g(Z) = g((Z - Y) X) - g(Y -X).
Si X Y Z, alors
g((Z - Y) X) - g(Z) g(X) - g(Y).
Si X Y Z, alors
sup((Z - Y) X) - sup(Z) sup(X) - sup(Y).
Clés Non Essentiels
sup X −sup Y 2
sup X ∑A∈C
Y∩C
X
sup XA−sup YA 2
sup XA
∑A∈CY−C X
sup XA≤χ ∣C X∣. , α
X Y, CX : A in CX, sup(XA) 0, CY : A in CY, sup(YA) 0, : risque d’erreur.Définition: X CX,
Y ssi
Conjecture: Si X Y Z et X C|X|, Y, alors (Z-Y) X C(|Z-Y) X|, Z
Arguments: la différence entre C(Z-Y)X, et CX,est très petite.
(sup((Z - Y) X) - sup(Z))2 (sup(X) - sup(Y))2 , et
sup X −sup Y 2
sup X ∑A∈C
Y∩C
X
sup XA −sup YA2
sup XA
∑A∈CY−C X
sup XA ≤χ ∣C X∣. , α
Arbres de préfixes d’itemsets Déveloper l’arbre de préfixes de l’objet (acd: C)
Mettre à jour l’arbre avec l’objet (abd: C)
Extraction RAs avec Arbre de Préfixes
Function Update(p, l, c): // simplifié
if p is empty : create (p, hd(l), 1, (c, 1)); Update(chd(p), tl(l), c);
Update(sib(p), tl(l), c); else if ival(p) < hd(l) : Update(sib(p), l, c);
else: if ival(p) = hd(l) : update_node(p, c); else: create(q, hd(l), 1, (c, 1)); sib(q) = p; p = q; Update(chd(p), tl(l), c); Update(sib(p), tl(l), c);
chd(N): fils N; sib(N) : frère de N, per(N) : père de N.
Cls_Max(N): enlever toutes étiq. de classes de support non
maximal à N. Function Reduire(N, minsup, per(N), [ ]): if N is not null:
if sup(N) < minsup or sup(N) = sup(per(N)) or eq(N, per(N), [ ]) : Elaguer N;
Reduire(sib(p), k, per(N), [ ]); else: Cls_Max(N);
Reduire(chd(N), N, [ ]);
Reduire(sib(N), per(N), [ ]);
Construction d’arbre par niveaux Limiter la taille des itemsets dans la construction d’arbre de préfixes à 5.
Déveloper l’arbre par niveaux: commencer avec i-itemsets, i 1,
déveloper l’arbre au niveau k+j (k i, j 1) sur les itemsets du niveau précédent.
Cette méthode généralise Apriori:i et j peuvent être > 1. Elle combine la génération des candidats et le calcul de leurs
supports en une seule phase.
La génération des candidats est basée sur le dataset et sur les itemsets du niveau précédent.
Remarque: Pour la construction de classifieur, la contraintes de minsup est appliquée seulement pour les k-itemsets avec k 2.
Un exemple spécifiquede la construction par niveaux
Function Level_Build(D, p, max ), [ ]):for (i = 1; i max; i++) :
Build( D, p, i);
LevelReduire(p, minsup, mot(p), [ ], i);
Construction du Classifieur
Algorithme Général :
Pour chaque objet, cherche dans l’arbre de préfixes les RAs de confiance et support
maximaux qui classe correctement l’objet pour mettre dans le classifieur (les fonctions Match et AddRule).
Suppression de Règles:Soit R la règle considérée pour mettre dans le classifieur et
Rc la règle du classifieur courament comparée avec R.Si R et Rc ont la même étiquette de classe et LHS(rc) LHS(r) et conf(r) conf(rc) alors R est rejetée.
Function BuildClassifier(D, p) :
Classifier = ;
For each object (l: c) of the training dataset f :lnd = empty;Match(p, l, c, lnd); For each node N of lnd : build a CAR R(N) with class label c; Classifier = AddRule(R(N),
Classifier); Return Classifier;
Test de Classification
Classer un object de test t:
Pour chaque étiquette de classe c, chercher dans le classifieur toutes les règles qui couvrent t, puis calculer la somme de confiances de ces règles.
Classer t dans la classe correspondant à la somme maximale.
Expérimentation
L’approche, SIM, a plusieurs points communs avec HARMONY,qui est meilleur que plusieurs approches, en général.
Implémentation: Laptop (Pentium 4, 1.7 GHz mobile, 768 MB). - SIM implémenté en C, Linux version 9.1.- l’exécutable HARMONY est fournie par ses auteurs.
Paramètrage pour les tests “10-fold validation”: minsup = 50. Pour connect, considérer les items dont supports < 20,000.
Pour HARMONY, les items sont triés dans l’odre croissant des coefficients de correlation (avec lequel HARMONY a les meilleurs résultats).
Pour SIM, minsup est appliqué seulement aux k-itemsets avec k 2. Extraction d’itemsets commence avec la taille 2,
et pour tout k-itemsets, k 5, = 0,005.
Résultats de HARMONY(rapportés par Wang et Karypis 2005)
91.691.276.291.65555473pageblocks
80.778.770.775.7Average
80.583.275.475.631005000Waveform
96.293.283.088.0109010992PenDigits
92.891.378.591.353212960nursery
99.999.798.899.521278124mushroom
76.867.859.957.52610620000letRecog
74.673.871.262.310243200led7
68.072.554.365.736667557connect
44.929.832.842.6186628056chess
81.984.276.782.5213148482adult
HARMONYSVMCPARFOIL#Class#Item#ObjDatasets
Résultats de HARMONY et SIM obtenus par ce travail
5040
1418
5194
12
2108
206
8321
232
19497
11738
1676
Rules
3
4
4
5
3
4
5
4
5
3
Max-size
83.41
79.78
96.99
90.93
98.33
99.94
71.78
74.37
77.68
60.62
84.23
Accur.
Average
Waveform
PenDigits
pageblock
nursery
mushroom
letRecog
led7
connect
chess
adult
Datasets
10354
7047
243
8
8
9
2093
2
142
10
793
C-sec
62
1
1
0
0
0
7
0
39
4
8
t-sec
80.9
77.9
91.2
92.9
92.9
100
70.8
74.4
77.3
44.9
83.4
Accur.
2067
52
292
8
27
65
826
3
581
42
169
C-sec
610
2
7
0
2
1
26
0
529
28
14
t-sec
SIMHARMONY
Comparaison de SIM and SIM avec clés essentiels
4807
1360
5038
7
2108
184
7644
196
19363
10727
1448
Rules
5040
1418
5194
12
2108
206
8321
232
19497
11738
1676
Rules
3
4
4
5
3
4
5
4
5
3
Max-size
83.41
79.78
96.99
90.93
98.33
99.94
71.78
74.37
77.68
60.62
84.23
Accur.
Average
Waveform
PenDigits
pageblock
nursery
mushroom
letRecog
led7
connect
chess
adult
Datasets
1967
54
290
3
27
40
784
2
594
41
132
C-sec
653
2
7
0
2
1
39
0
539
50
13
t-sec
82.88
79.30
96.92
90.69
98.33
99.96
68.78
74.22
77.65
58.86
84.13
Accur.
2067
52
292
8
27
65
826
3
581
42
169
C-sec
610
2
7
0
2
1
26
0
529
28
14
t-sec
SIMSIM/clés essentiels
Discussion et conclusion Niveau de temps d’exécution: Pour les datasets des objets courts, SIM est plus lent que HARMONY:
- SIM lit les donnése toujours du disque, - SIM n’élimine pas de k-itemsets infrequents pour k > 2;
- Le nombre de règles dans chaque classifieur est beaucoup plus grand.
Pour les datasets des objets longs, HARMONY est plus lent que SIM: HARMONY peut considérer les itemsets de toute tailles, tandis que
SIM ne considère que les itemsets clés de petites tailles (< 6).
Niveau de précision: En moyenne, SIM est plus précis.
Avec le temps d’exécution 4 fois plus court, la prédiction par SIM est 2.5% plus précise que celle d’HARMONY, en moyenne.
L’utilisation des RCs aux itemsets clés de petites tailles évite les classifieurs trop spécifiques et réduire le temps d’exécution.
La notion d’itemset clé non essentiel est utile et leur suppression optimise la construction de classifieurs, sans vraiement affecter leur précision.