WOW !! MUCH LOVE ! SO WORLD PEACE !
Fond bitcoin pour l'amélioration du site: 1memzGeKS7CB3ECNkzSn2qHwxU6NZoJ8o
  Dogecoin (tips/pourboires): DCLoo9Dd4qECqpMLurdgGnaoqbftj16Nvp


Home | Publier un mémoire | Une page au hasard

 > 

Fouille de données biologiques. étude comparative et expérimentation.


par Abdelhak MANSOUL
Université Ahmed Ben Bella Oran 1, Algérie - Magister Informatique et Automatique 2010
  

précédent sommaire suivant

Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy

II.3 Les algorithmes d'extraction des règles d'association

Dans cette section, nous essayons de présenter quelques algorithmes d'extraction de règles association les plus utilisés. Ils sont classés selon [Hip et al., 2000]:

· la stratégie de parcours de l'espace de recherche ;

· la stratégie de calcul des supports des Itemsets.

AIS [Agrawal et al., 1993],[Agrawal et Srikant., 1994]

Cet algorithme fut le premier proposé pour l'extraction de règles d'association. Il extrait des règles d'association dont la tête est formée par un seul Item. Une règle est alors de la forme X?Y avec Y un élément de Items. Pour cela, la base de données est parcourue plusieurs fois afin de dégager les Itemsets fréquents. Le kème parcours est réalisé pour extraire les Itemsets de cardinalité k qu'on appellera dorénavant k-Itemsets. Pendant le premier parcours, c'est l'extraction des 1-Itemsets fréquents (F1) qui se fait. Pour extraire les 2-Itemsets fréquents (F2), l'algorithme parcourt la base de données pour tester les supports des 2-Itemsets appartenant à l'ensemble des 2-Itemsets candidats noté C2. C2 est généré à partir de F1, ensemble des 1-Itemsets fréquents. Les 2-Itemsets candidats sont générés en étendant les 1-Itemsets fréquents par un Item de la même transaction. Pour généraliser, cet algorithme parcourt deux fois la base de données pour générer les k-Itemsets fréquents :

- la première fois sert à générer les k-Itemsets candidats ;

- la deuxième fois sert à calculer le support de chaque candidat, le candidat ayant un support supérieur au seuil minimum est inséré dans l'ensemble Fk, sinon il est rejeté.

Chapitre II : L'extraction de règles d'association - 38 -

L'inconvénient de l'algorithme AIS est le fait qu'il scanne la base de données plusieurs fois et qu'il génère trop de candidats.

Algorithme : AIS Début

Input : L1 = { large 1-Itemsets }

C1= data base D

min_sup min_conf

Output : association rules R

L1 = { large 1-Itemsets }

for ( k=2 ; Lk-1 ? Ø ; k++) faire

ct

Forall transaction t E D do begin

Lt=subset(Lk-1 , t)

forall large itemsets lt E Lt do begin

if ( c E Ck ) then

add 1 to the count of c inthe corresponding entry in Ck

else

add 1 to Ck with a count of 1

end

end

Lk={c E Ck / c.support = min_sup}

end

L = Uk Lk ;

R=Generate_Rules(L) Fin

FP-Growth [Han et al., 2000]

C'est un algorithme qui réalise la tâche après deux parcours de la base de données en s'appuyant sur une structure d'arbre.

Le processus d'extraction de patterns se déroule en deux grandes étapes :

(1) la construction de l'arbre appelée FP-Tree (une représentation condensée de la base de données) ;

(2) la génération des patterns fréquents à partir de cette structure, l'arbre FP-Tree. La racine de l'arbre ne porte aucune information (`null'), alors qu'un noeud autre que la racine porte deux informations, l'Item qu'il représente et son support. Un index est associé à l'arbre FP-Tree, et il contient tous les Items fréquents. A chaque Item est associé un pointeur vers le premier noeud de l'arbre qui le contient.

Chapitre II : L'extraction de règles d'association - 39 -

La première étape qui consiste à construire l'arbre FP-Tree, se déroule comme suit :

(a) la base de données est parcourue pour calculer le support des Items. Les Items fréquents sont générés dans un ensemble qu'on notera F1 ;

(b) la base de données est parcourue une deuxième fois, et chaque transaction (ensemble d'Items) est triée selon le support des Items de manière décroissante. Chaque transaction t est représentée par sa tête p (l'Item le plus fréquent dans ce panier) et par la queue Q (ensemble trié des Items moins fréquents que p). Pendant le même parcours, pour chaque transaction, une fonction Insert(p,Q,T) procède ainsi : Si la racine T a un noeud fils N tel que N.Item=t.p alors son support est incrémenté, sinon un noeud fils N est créé avec un support égal à 1. Ensuite, on affecte récursivement à p le premier Item de Q, et à Q le reste des Items, on vérifie s'il existe un noeud N' fils de N tel que N'.Item=t.p, si oui on incrémente son support, sinon on créé un nouveau noeud N' (fils de N) avec un support égal à 1. Cette fonction est exécutée récursivement jusqu'à ce que Q soit vide.

Il faut noter que l'objectif de tri des Items (dans l'ordre décroissant de leur fréquence) est de réduire la taille de l'arbre, ainsi les Items les plus fréquents seraient partagés par les transactions.

Algorithme : FP-Growth Début

Entrée : L'arbre FP-Tree noté T

Seuil minimum de support min_s

Sortie : Ensemble des Itemsets Fréquents : F(D,min_s)

FP-Growth (T, á)

Si T contient un seul chemin Alors

Pour chaque combinaison f3 des noeuds du chemin faire

Générer le pattern f3 U á avec support=support minimum des noeuds dans f3

FinPour

Sinon

Pour chaque ai de l'index de T faire

Générer le pattern f3 = ai U á avec support = ai.support

Construire le pattern de base de f3

Construire le FP-Tree conditionnel de f3 et l'affecter à T

FinPour

Si T ? Ø Alors FP-Growth (T,f3) Fin

Chapitre II : L'extraction de règles d'association - 40 -

Apriori [Agrawal et Srikant., 1994]

Cet algorithme fut une évolution dans l'histoire de l'extraction des règles d'association. Il fonctionne selon le principe suivant :

(1) générer les Itemsets ;

(2) calculer les fréquences des Itemsets générés;

(3) garder les Itemsets qui ont un support minimum i.e. les Itemsets fréquents ;

(4) générer et ne garder que les règles avec une confiance minimale.

Apriori est plus efficient que AIS au niveau de la génération des Itemsets candidats, du moment où il élague encore plus l'espace de recherche. Le dégagement des Itemsets fréquents se fait sur deux étapes : tout d'abord, les Itemsets candidats sont générés, ensuite la base de données est parcourue pour calculer les supports des candidats, et accepter les candidats dont le support est supérieur au seuil minimum comme étant des Itemsets fréquents. L'apport d'Apriori réside dans la génération des candidats. En effet, un k-Itemset candidat n'est généré que si tous ses sous-ensembles de cardinal k-1 sont fréquents. Cependant, Apriori «s'étouffe» sans aucun doute sur deux phases : la génération des candidats qui est un processus complexe, et le calcul des supports des Itemsets candidats qui nécessite plusieurs parcours de la base de données.

Algorithme : Apriori Début

Entrée : Base de données D

Seuil minimum de support min_s Seuil minimum de confiance min_c

Sortie : Ensemble des règles d'association R

F1 = 1-Itemsets fréquents;

Pour ( k=2; Fk-1?Ø; k++ ) faire

Ck =Apriori_gen(Fk-1);

Pour ( chaque transaction t de D ) faire

Pour ( chaque candidat c de Ck ) faire Si ( c est inclus dans t ) alors c.support++ ;

Finsi

Finpour

Finpour

Fk={c?Ck / c.support = min_s} ;

Finpour

F = Uk Fk ;

R=Generer_Regles(F) ;

Fin

Chapitre II : L'extraction de règles d'association - 41 -

Discussion

Nous avons consulté des articles dont l'objet est l'étude comparative des algorithmes d'extraction de motifs fréquents [Goethals et Van den Bussche, 2002], [Zaki et al., 1997], [Hip et al., 2000]. Il est dit que l'application de ces algorithmes sur une même base de données avec les mêmes seuils de support et de confiance, donne globalement les mêmes résultats (les mêmes règles d'association). Ceci est dû au fait que les algorithmes d'extraction de règles d'association sont tous plus ou moins proche l'un de l'autre. Il en découle que la comparaison concerne seulement les performances des algorithmes et non la qualité des résultats.

Nous avons constaté que ces études sont subjectives car les conclusions tirées ne sont pas les mêmes. Cette subjectivité est due au fait que le même algorithme peut être implémenté de plusieurs manières différentes d'où la différence de point de vue performance et efficience.

Ceci dit, nous présentons ici quelques conclusions se rapportant à Apriori communément tirées par les études que nous avons consultées, ceci du fait que cet algorithme est communément jugé plus ou moins efficace par rapport aux autres :

· Apriori parcourt la base de données k fois, k étant le cardinal du plus long Itemset fréquent. Ceci entraîne beaucoup d'opérations d'entrée/sortie qui sont coûteuses. Il faut noter aussi que dans le cas de bases de données volumineuses, Apriori met du temps pour générer les Itemsets fréquents. En effet dans ce type de base de données, le nombre d'Itemsets fréquents est très grand, ce qui augmente le coût de la génération des Itemsets candidats et du calcul de leurs supports. En général, lorsque le nombre d'Itemsets fréquents est grand, le coût d'extraction est élevé. Le nombre d'Itemsets fréquents dépend du seuil minimum de support (plus le seuil est petit, plus le nombre d'Itemset fréquent est grand) et du volume de la base de données ;

· Apriori est l'algorithme le plus approprié à l'exploration des bases de données. Sa puissance réside dans son élagage, plus le minimum support est petit plus l'élagage est faible.

Chapitre II : L'extraction de règles d'association - 42 -

précédent sommaire suivant






Bitcoin is a swarm of cyber hornets serving the goddess of wisdom, feeding on the fire of truth, exponentially growing ever smarter, faster, and stronger behind a wall of encrypted energy








"Il y a des temps ou l'on doit dispenser son mépris qu'avec économie à cause du grand nombre de nécessiteux"   Chateaubriand