Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université...

25
Suppression des Itemsets Clés Non-Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille (LIF – CNRS)

Transcript of Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université...

Page 1: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

Suppression des Itemsets Clés Non-Essentiels en Classification

V. Phan-Luong

Université Aix-MarseilleLaboratoire d'Informatique

Fondamentale de Marseille (LIF – CNRS)

Page 2: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 3: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 4: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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')|.

Page 5: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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).

Page 6: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 7: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 8: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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)

Page 9: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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).

Page 10: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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

Page 11: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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∣. , α

Page 12: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

Arbres de préfixes d’itemsets Déveloper l’arbre de préfixes de l’objet (acd: C)

Page 13: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

Mettre à jour l’arbre avec l’objet (abd: C)

Page 14: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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);

Page 15: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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), [ ]);

Page 16: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 17: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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);

Page 18: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 19: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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;

Page 20: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 21: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.

Page 22: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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

Page 23: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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

Page 24: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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

Page 25: Suppression des Itemsets Clés Non- Essentiels en Classification V. Phan-Luong Université Aix-Marseille Laboratoire d'Informatique Fondamentale de Marseille.

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.