• Aucun résultat trouvé

La fouille de séquences

3.1 Méthodes existantes

3.1.1 La fouille de motifs fréquents

Le premier algorithme de fouille de motifs fréquents a été proposé par Agrawal et al. (1993) pour aider à l’analyse de paniers d’achats. Le but de ce type d’analyse est d’identifier des ensembles d’éléments (itemsets) qui apparaissent fréquemment dans les achats d’un individu, chaque série d’achats représentant une « transaction » unique. Une fois ces ensembles d’éléments découverts, il est possible de représenter les associations à l’intérieur de ces ensembles sous la forme de règles d’association du type : 90% des individus qui achètent du beurre achètent du pain en même temps.

De manière formelle, ce type de règle est souvent représentée sous la forme d’une règle logique associée à une mesure de sa qualité : beurre⇒pain, avec une confiance de 90%. La notion de confiance représente le rapport entre le nombre de transactions contenant « beurre et pain » sur le nombre de transactions contenant « beurre ».

Nous allons maintenant présenter le problème en utilisant la formalisation proposée par Agrawal et al. (1993).

Définition du problème

Soit I = i1, i2, i3, ..., in l’ensemble de tous les éléments possibles (dans le cas d’un panier d’achat, un élément correspond à un achat). Un k-ensemble α, c’est-à-dire un ensemble contenantk éléments tirés deI, est considéré comme fréquent si on le retrouve dans un ensemble de transactions D supérieur à Θ∗ |D|. Le paramètre Θ est ce que l’on nomme le support minimum (minimum support) et

|D| le nombre total de transactions. Θ est contenu entre 0 et 1, ce qui fait que Θ∗ |D| correspond au nombre minimum de transactions contenant le k-itemset pour qu’il soit considéré comme fréquent ; Θ peut ainsi être représenté sous la forme d’un pourcentage. Une fois les motifs fréquents découverts, des règles d’association peuvent en être extraites. Celles-ci se présentent sous la forme α1α2, avec α1I, α2I et (α1α2) 6=∅. Le support d’une règle d’association α1α2

correspond au nombre de transactions qui contiennentα1α2 sur le nombre total de transactions. L’autre mesure utilisée pour les règles d’association, la confiance, en anglaisconfidence, correspond au nombre de transactions contenantα1α2sur le nombre de transactions contenantα1, c’est-à-dire une probabilité conditionnelle.

Les équations 3.1 et 3.2 formalisent ces deux mesures. Celles-ci peuvent également être représentées sous la forme de probabilités comme dans les équations 3.3 et 3.4 (Han et Kamber, 2006). Il s’agit des deux mesures les plus courantes, mais d’autres mesures ont été développées depuis (voir par exemple Gras et al. (2004),Lallich et Teytaud (2004) et Lenca et al. (2004) pour des discussions à ce sujet). Les critiques les plus courantes au sujet de ces mesures concernent la difficulté de définir un seuil au dessus duquel une règle devient intéressante, et la possibilité, avec la confiance, de sélectionner des règles dont la probabilité conditionnelle de la conclusion est plus faible que sa probabilité marginale (pour un exemple, voir Brijs et al. (2003), p. 371).

Support(α1α2) =fréquence(α1α2)

|D| (3.1)

Conf iance(α1α2) = fréquence(α1α2)

fréquence(α1) (3.2)

Support(α1α2) =P1α2) (3.3) Conf iance(α1α2) =P21) (3.4) Les différents types d’algorithmes Les algorithmes de fouille de motifs fré-quents peuvent être placés dans trois grandes catégories de fonctionnement (Han et al., 2007) : ceux basés sur l’algorithme Apriori, ceux qui ne génèrent pas de candidats et ceux qui utilisent un format de données verticales. Nous reprendrons cette classification ici. Il est important de noter que les différentes variantes de ces algorithmes constituent le plus souvent une tentative de les rendre plus per-formants sur de grandes bases de données. Etant donné que nous nous intéressons essentiellement à ces méthodes dans le cadre d’analyse en sciences sociales, la taille des données, qui sont la plupart du temps des données d’enquête et par conséquent basées sur des échantillons, ne pose pas les mêmes problèmes d’optimisation que les bases de données contenant, par exemple, les achats de tous les clients d’une chaîne de supermarché. La recherche de performance n’est qu’un problème secon-daire dans le cas de l’analyse des parcours de vie. Les extensions les plus pertinentes dans notre cas sont celles qui permettent de rendre plus flexibles l’identification des motifs fréquents en rajoutant des contraintes lors de la fouille. Ce type d’extension, que l’on nomme par exemple contraintes de temps dans le cas de la fouille de sé-quences, sera exploré dans la partie sur les sous-séquences. En ce qui concerne les règles d’association, le raisonnement est le même. Les problèmes d’optimisation de l’extraction de règles d’association est bien moins important, dans notre cadre d’analyse, que les mesures qui permettent de filtrer plus efficacement les règles, afin de ne conserver que les règles pertinentes.

Algorithme Apriori

La première extension de l’algorithme a été proposée par Agrawal et Srikant (1994) et s’intitule Apriori. Il utilise la même formulation du problème que celle présentée plus haut. Cet algorithme constitue la base de nombreux algorithmes de fouille de motifs fréquents.

Fonctionnement de l’algorithme Apriori L’algorithme Apriori est basé sur une propriété mise en évidence par Agrawal et Srikant (1994) : pour qu’un k-itemset soit fréquent, tous les k-k-itemsets dont il est composé doivent être fréquents également. Il s’agit d’une propriété qui permet d’augmenter la rapidité de l’algo-rithme en repérant avant de compter leur fréquence que desk-itemsets ne sont pas fréquents. L’application de ce principe permet de réduire de manière conséquente les ensembles d’éléments qui seraient « candidats » à être fréquents par rapport au support minimum défini par l’utilisateur.

Les règles d’association sont ensuite extraites des ensembles d’éléments fré-quents en vérifiant pour chaque règle son support, qui doit être supérieur au support minimum défini par l’utilisateur, et sa confiance. Prenons les données du tableau 3.1 pour illustrer ces deux phases.

TABLEAU 3.1 – Données d’exemple pour les règles d’association TID i1 i2 i3 i4

10 1 1 1 0

20 1 0 1 0

30 1 1 1 0

40 1 0 1 0

50 0 1 1 0

60 0 0 0 1

Découverte des motifs fréquents La colonne TID contient le numéro de la transaction et les colonnesi1ài4signalent la présence (1) ou non (0) de l’élément dans la transaction. Si le support est défini à 0.33, étant donné que le nombre de transactions est de 6, un ensemble d’éléments est considéré fréquent s’il appa-raît dans au moins deux transactions. Par conséquent, les ensembles d’éléments de taille 1 considérés comme fréquents sont les suivants : i1, i2, i3. Une liste de candidats d’ensembles d’éléments de taille 2 est générée à partir de cette liste : C2={i1, i2},{i1, i3},{i2, i3}. L’algorithme teste chacun de ses candidats pour son support afin de trouver les ensembles d’éléments de taille 2 qui sont fréquents.

Toutes ces paires ayant un support supérieur à 0.33, ils sont tous gardés puis uti-lisés pour créer la liste des candidats de taille 3, qui ne contient qu’un élément, {i1, i2, i3}, avec un support suffisant. L’algorithme continue de la sorte jusqu’à ce qu’une liste de candidats soit vide, ce qui correspond au maximum à la taille de l’ensemble d’éléments I.

Extraction des règles d’association Une fois les motifs fréquents repérés, on peut procéder à l’extraction des règles d’association. On teste chaque ensemble trouvé en ne gardant que les règles qui satisfont la confiance minimum définie par l’utilisateur. Le tableau 3.2 représente les règles ainsi que leur confiance. Comme nous l’avons vu dans la formule de la confiance, il s’agit simplement du rapport entre le nombre de transactions dans lesquelles apparaissent les deux côtés de la règle (α1et α2) sur le nombre de transactions dans lesquelles se trouve le côté gauche (prémisse) de la règle (α1).

Sans seuil de confiance défini, toutes les règles sont conservées. Cet exemple très simple ne rend pas bien compte de l’utilité d’une mesure supplémentaire pour évaluer la pertinence d’une règle. En effet, la mesure de confiance n’est pas toujours efficace dans le filtrage des règles peu pertinentes ou tautologiques ; une règle peut avoir un indice de confiance au-dessus du seuil défini, mais prédire moins bien que la probabilité marginale. Imaginons que sur 5000 personnes, 2000 personnes achètent des clous et 4000 personnes achètent du lait, et 1500 des clous et du lait. La probabilité d’acheter du lait est alors de 0.8, tandis que la probabilité conditionnelle d’acheter du lait sachant qu’on a acheté des clous est de 0.75 : avec un seuil de confiance déjà relativement élevé de 0.7, on retiendrait une règle qui en fait prédit moins bien le fait d’acheter du lait qu’en cas d’indépendance ! D’autres mesures de qualité des règles existent ; Han et al. (2007) et Zhao et Bhowmick (2003a) font

TABLEAU 3.2 – Calcul des règles d’association

α1α2 fréquence(α1) fréquence(α1α2) confiance(α1α2)

i1i3 4 4 4/4 = 1

i2i3 3 3 3/3 = 1

i2i1 3 2 2/3 = 0.66

i3i1 5 4 4/5 = 0.8

i1 et i2i3 2 2 2/2 = 1

une revue exhaustive de l’état de la recherche dans ce domaine.

Extensions d’Apriori Le fonctionnement d’Apriori pose un problème de perfor-mances à cause du nombre important de candidats générés et le nombre de passes nécessaires sur le jeu de données pour chaque k-itemset. Les extensions d’Apriori concernent donc principalement des tentatives d’optimisation des performances.

Han et Kamber (2006) et Han et al. (2007) recensent la plupart des algorithmes inspirés d’Apriori ; il s’agit de considérations purement techniques, par conséquent nous invitons le lecteur à se référer à ces publications pour obtenir plus d’informa-tions à ce sujet.

Autres algorithmes de fouille de motifs fréquents

Les deux autres types d’algorithmes de fouille de motifs fréquents sont les al-gorithmes qui ne génèrent pas de candidats, et les alal-gorithmes qui fouillent des données présentées sous un format vertical. Le premier de ces types utilise une structure de données nommée FP-tree (pour Frequent Pattern tree) (Han et al., 2000). Lors de la première lecture de la base de données, les éléments fréquents sont classés par ordre décroissant de fréquence. Ensuite, chaque transaction est lue et inscrite dans un arbre, l’élément le plus fréquent étant un enfant de la ra-cine, avec comme enfant le deuxième élément le plus fréquent et ainsi de suite.

Si la branche de l’arbre existe déjà, on incrémente de 1 le compte du nœud. De cette manière, toute la base de données de transaction est représentée de manière compressée dans l’arbre, puisque les ensembles d’éléments partageant les mêmes éléments sont contenus dans la même branche de l’arbre. La fouille des ensembles d’éléments fréquents consiste ensuite à fouiller cet arbre.

Une autre méthode pour découvrir les motifs fréquents consiste à représenter les données de manière verticale. Par exemple, les données du tableau 3.1 se pré-senteraient avec une colonne représentant chaque élément, et une colonne avec les transactions qui contiennent cet élément (voir tableau 3.3). La fouille de motifs fréquents consiste alors à croiser les lignes de ce tableau et à ne retenir que celles qui contiennent un nombre de transactions supérieur au support minimum (voir tableau 3.4). Il s’agit de la méthode utilisée par l’algorithme ECLAT proposé par Zaki (2000).

item transactions i1 10 ;20 ;30 ;40 i2 10 ;30 ;50 i3 10 ;20 ;30 ;40 ;50 i4 60

TABLEAU 3.3 – Exemple de données au format vertical

item transactions i1;i2 10 ;30 i1;i3 10 ;20 ;30 ;40 i2;i3 10 ;30 ;50

TABLEAU 3.4 – 2-itemsets fréquents issus de l’union des lignes du tableau précé-dent