Rechercher sur le site:
 
Web Memoire Online
Consulter les autres mémoires    Publier un mémoire    Une page au hasard

Extraction des bases génériques informatives de règles sans calcul de fermetures


par Tarek Hamrouni
Faculté des Sciences de Tunis, Université Tunis El Manar (Tunisie)
Traductions: Original: fr Source:

précédent sommaire suivant

2.2.3 Les algorithmes hybrides

Dans cette section, nous allons nous interesser aux algorithmes adoptant la strategie hybride. Ces algorithmes ne font qu'enumerer les itemsets fermes frequents [69]. Cette strategie evite le goulot d'etranglement de la première strategie, a savoir la generation d'un nombre eleve de candidats, et ceci en ne generant qu'un seul candidat a la fois. En plus, cette strategie explore l'espace de recherche en profondeur d'abord tel que les algorithmes bases sur la strategie "Diviser-et-générer". Cependant, les algorithmes hybrides ne divisent pas le contexte d'extraction en sous-contextes, evitant ainsi une saturation de la memoire.

Dans la litterature actuelle, nous trouvons essentiellement un seul algorithme implementant cette strategie, a savoir l'algorithme CHARM [69]. Des ameliorations de cet algorithme, tels que LCM [60, 61, 62] et DCI-CLOSED [43, 44], ont ete aussi proposees.

L'algorithme CHARM a ete propose par Zaki et al. [69]. Il a plusieurs caracteristiques, qui le distinguent des algorithmes adoptant les deux premières strategies. En effet, contrairement a ces algorithmes qui n'exploitent que l'espace des itemsets (fermes), CHARM explore simultanement l'espace des itemsets fermes ainsi que celui des transactions. Pour cela, il utilise une structure d'arbre particulière appelee IT-Tree (Itemset-Tidset Tree) introduite dans [69]. Dans cette structure, chaque nceud est forme par un couple compose par un itemset ferme frequent candidat ainsi que l'ensemble des transactions auxquelles il appartient (cad son extension ou tidset [69]).

CHARM determine tous les itemsets fermes frequents en parcourant l'arbre IT-Tree a partir de la racine de gauche a droite et en profondeur d'abord, en considerant un par un les 1-itemsets frequents tries par ordre lexicographique. Le parcours en profondeur d'abord rappelle la strategie "Diviser-et-générer".

L'algorithme CHARM opere de la maniere suivante : pour chaque deux candidats item-sets fermes frequents A et B avant les mimes nceuds parents, CHARM teste s'ils sont ou non des fermes et ceci en comparant leurs tidsets. Pour cela, il distingue quatre cas [69] :

1. Si ø(A) = ø(B) alors ã(A) = ã(B) = ã(AUB). Ainsi, ni A, ni B ne sont des itemsets fermes frequents. Alors, CHARM remplace toutes les occurrences de A dans l'arbre IT-Tree par (A U B) et elimine B de l'arbre.

2. Si ø(A) C ø(B) alors ã(A) ã(B) et ã(A)= ã(A U B). Alors, l'itemset A ne peut etre un itemset ferme frequent. Dans ce cas, toutes les occurrences de A dans l'arbre IT-Tree sont remplacees par (A UB). B n'est pas supprime de l'arbre IT-Tree car il peut etre un generateur d'un autre itemset ferme frequent.

3. Si ø(A) D ø(B) alors ã(A) ã(B) et ã(B)= ã(A U B). Alors, l'itemset B ne
peut etre un itemset ferme frequent. Dans un tel cas, B est elimine de l'arbre IT-Tree et (A U B) est ajoute comme descendant de A. Ce dernier n'est pas supprime de l'arbre IT-Tree puisqu'il peut etre un generateur d'un autre itemset ferme frequent.

4. Si ø(A) ø(B) alors ã(A) ã(B) ã(A U B). Ici, l'algorithme CHARM ajoute
(A U B) comme descendant de A si et seulement si (A U B) est frequent ; sinon l'arbre IT-Tree reste inchange (cad dans le cas oft (A U B) est un itemset infrequent).

Dans les quatre cas mentionnes ci-dessus, la comparaison entre ø(A) et ø(B) se fait en effectuant l'intersection de ø(A) et ø(B). La generation de (A U B) a partir de A et B nous rappelle la phase combinatoire d'APRiORi-GEN [2]. Cependant, le resultat est toujours un candidat unique.

CHARM genere un candidat et calcule son support dans la même etape. Si un candidat A ne peut plus etre etendu, CHARM ne l'ajoute dans la liste des itemsets fermes frequents retenus que s'il n'est pas couvert par un autre itemset ferme frequent appartenant a cette liste. Si A est couvert alors il ne represente pas un itemset ferme. Notons que, ce même test est effectue par CLOSET avant de developper un contexte d'extraction conditionnel. Pour accelerer ce test de couverture, CHARM utilise une table de hachage pour stocker les itemsets fermes frequents retenus [69]. Dans le cas oft A ne peut plus etre etendu, CHARM libere le lien qui lie le nceud representant A et le nceud parent, car ce lien ne sert plus a rien.

CHARM est ameliore par l'utilisation d'une representation de donnees appelee Diffset [68] permettant un stockage incremental des tidsets [9]. Dans cette structure, CHARM ne fait qu'enregistrer, pour chaque candidat itemset ferme frequent, la difference qui existe

entre son intention et l'intention de son parent immediat. Diffset permet d'accelerer le calcul des quatre cas mentionnes plus haut, etant donne que l'intersection des transactions, resultat de la difference entre ø(A) et ø(P) d'une part et entre ø(B) et ø(P) d'autre part (tel que P est le parent immediat de A et B), est nettement plus rapide que l'intersection de ø(A) et ø(B) [69]. Un autre avantage de Diffset est qu'il permet aussi de reduire la memoire necessaire pour stocker les informations relatives aux candidats contenus dans l'arbre IT-Tree [69] et ceci en reduisant le stockage redondant des tidsets.

En revanche, l'inconvenient majeur de l'algorithme CHARM reside dans le fait qu'il est exigeant en espace memoire. En effet, le fait de stocker les itemsets et leurs tidsets ne fait qu'accroitre la quantite d'espace memoire utilisee [9].

Enfin, signalons que l'algorithme CHARM necessite un seul acces au contexte d'extraction pour determiner les listes des transactions auxquelles appartiennent les items frequents du contexte en question.

précédent sommaire suivant








® Memoire Online 2007 - Pour tout problème de consultation ou si vous voulez publier un mémoire: webmaster@memoireonline.com