• Aucun résultat trouvé

Des implications selon Guigues et Duquenne aux règles d'association

Partie I Problématique et état de l'art

4.2 Les règles d'association comme ensemble logique

4.2.1 Des implications selon Guigues et Duquenne aux règles d'association

4.2.2 Les bases de règles . . . 99 4.2.3 Les treillis de Galois . . . 100 4.3 Les indices de qualité des règles . . . 103 4.3.1 Le sens général d'un indice de qualité . . . 103 4.3.2 Le calcul d'un indice de qualité . . . 105 4.3.3 Synthèse sur les indices de qualité . . . 107 4.4 Diculté de concilier des règles de bonne qualité avec une

structure logique . . . 109 4.4.1 Transitivité et règles d'association . . . 109 4.4.2 Négation et treillis de Galois . . . 110 4.4.3 Peut-on se passer de la structure logique de l'ensemble de règles . . 113 4.5 Les règles d'association extraites des grosses bases de données . 114 4.5.1 L'algorithme A priori . . . 115 4.5.2 L'extraction des règles qui s'ensuit . . . 115 4.5.3 Les algorithmes suivants . . . 116 4.5.4 Conclusion . . . 117 4.6 Les dépendances fonctionnelles dans les bases de données . . . 117 4.6.1 Le stockage des données : les bases de données . . . 117 4.6.2 Les principes . . . 118 4.6.3 Les règles d'inférence des dépendances fonctionnelles . . . 121 4.6.4 Les détails techniques . . . 123 4.6.5 Ce que nous apportent les dépendances fonctionnelles . . . 126 4.7 Conclusion . . . 127

4.1 Exemple d'utilisation d'un jeu de règles d'association

Le gérant d'un petit commerce observe les achats de ses clients, et tire régulièrement un bilan de ses ventes an de calculer son bénéce. L'"analyse comptable" permet au gérant formé dans cette discipline de naviguer au milieu de tous ses comptes pour trouver comment faire prospérer son commerce. Mais il peut encore tirer de l'information supplémentaire des observations qu'il a faites sur les achats de ses clients. Il peut faire des statistiques jour après jour sur certains articles pour suivre l'évolution de leurs ventes, et même combiner plusieurs articles an de savoir s'ils se vendent de façon concurrente (la lessive A peut être remplacée par la lessive B), complémentaires (le client achetant du fromage achète du pain) ou indépendante (l'achat d'un stylo n'est pas lié à celui d'une boite de conserve). De ses observations il déduit ainsi des règles. Et il les utilise

4.1. Exemple d'utilisation d'un jeu de règles d'association pour passer ses commandes (il commande la lessive qui lui rapporte le plus gros bénéce), pour disposer les articles dans les rayons (il met le pain vers le fromage, et s'arrange pour que le passage de l'entrée à la caisse passe par les articles de papeterie ainsi que par les boîtes de conserves). Cette production de règles s'appuie sur l'examen des achats en caisse, mais aussi sur les remarques des clients, ou même sur leur façon de regarder les articles en rayon. C'est de l'artisanat tout à fait adapté à la taille du commerce.

Imaginons maintenant que le petit commerce est devenu un supermarché. On voit mal le gérant parcourir les rayons pour discuter avec les clients, ou examiner le contenu des caddies an de trouver des règles. Il utilise les données enregistrées par toutes les caisses pour découvrir des règles. C'est de la "fouille de données". Et les règles qu'il obtient associant plusieurs articles s'appellent des "règles d'association" (nous les dénissons rigoureusement dans la section 4.2 de ce chapitre). Comme le gérant du petit commerce, il utilise ces règles an de réorganiser ses commandes, ses rayons, sa publicité. Mais à l'échelle d'un supermarché, cette réorganisation a un coût et le gérant n'a pas droit à l'erreur. Il faut qu'une augmentation de bénéce découle de cette nouvelle gestion et permette au minimum de récupérer les frais. Il lui faut donc des règles de bonne qualité.

Nous décrivons maintenant ce que nous appelons "qualité" des règles.

4.1.1 Qualité individuelle d'une règle

Reprenons la règle "si achat de fromage alors achat de pain". Si le fait de l'utiliser (en mettant le pain près du fromage, ou en rajoutant au dessus du rayon de fromages de la publicité pour du pain) n'a pas modié les ventes, cette règle n'est pas de bonne qualité. L'idéal serait de tester cette règle avant de l'appliquer en montant une petite expérimentation. Ce n'est pas simple, comme nous l'avons vu dans le chapitre 3 portant sur l'implication en sciences humaines, et cela a aussi un coût. Nous avons vu également dans ce chapitre que les autres techniques habituelles, telles que les statistiques ou l'analyse de données ne permettent pas de mesurer la valeur de chacune de ces règles. Nous devons donc l'établir autrement. Si de nombreux clients ont acheté simultanément du pain et du fromage, si parmi ceux qui ont acheté du fromage, il y en a un pourcentage important qui ont aussi acheté du pain, on peut supposer que la règle est de bonne qualité. Ces deux mesures de la règle s'appellent respectivement le "support" et la "conance". Ce sont des indices de qualité d'une règle. Mais cela ne sut pas. Si l'on découvre que le pourcentage de clients achetant du pain est supérieur à celui des clients achetant du pain parmi ceux qui ont acheté du fromage, il serait peut-être mieux d'écrire la règle "si pas d'achat de fromage alors achat de pain". Des réexions de ce genre sont à l'origine des nombreux indices que nous décrivons dans la section 4.3 de ce chapitre.

Plutôt que d'aider le gérant de supermarché à faire un choix parmi tous ces indices, puis un choix de leurs valeurs selon des méthodes d'arbitrage plus ou moins complexes, décrites également dans ce chapitre de l'état de l'art, nous proposons de faire des simulations qui permettront de décider si une règle est ou non due au hasard. Dans le chapitre 5, nous montrons que des données provenant du hasard fournissent aussi des jeux de règles, et qu'il convient de retirer ces règles sans valeur du jeu nal. Le problème est de dénir un type de hasard qui prenne en compte les lois de probabilités que suivent les données. En eet celles-ci varient fortement selon les domaines dont sont issues les données (loi Zipf-like et matrices binaires creuses, essentiellement remplies de 0 pour les données du texte et du Web,). Nous n'avons pas trouvé de simulations de ce type, nous en construisons donc une dans le chapitre 6.

4.1.2 Qualité d'un groupe de règles

Le gérant va utiliser plusieurs règles. Il s'attend donc à ce qu'elles soient compatibles. Si, en suivant les règles, il doit mettre les boîtes de conserve au dessus des paquets de sucre, les paquets de sucre au dessus du chocolat et le chocolat au dessus des boîtes de conserve, il va vite s'apercevoir qu'il y a un problème dans les règles obtenues, et abandonner la réorganisation du rayon. S'il découvre d'autres règles contradictoires, il va nir par rejeter toutes les règles. Le jeu de règles doit donc être structuré de façon logique. Nous décrivons dans la section 4.2 de ce chapitre les "treillis de Galois" qui sont une structuration des données produisant des jeux de règles de ce type. Malheureusement, ils ne sont pas utilisables pour les données approximatives de notre gérant, comme nous l'expliquons dans la section 4.4 de ce chapitre sur l'état de l'art. Nous décrivons également dans ce chapitre (section 4.6) les dépendances fonctionnelles qui, avec les règles d'inférence associées, permettent une normalisation des bases de données en les ren- dant quasiment exemptes de toutes ces incohérences. Elles non plus ne s'accordent pas avec nos données approximatives. Et puis toutes nos exigences de logique ne sont pas assurées par ces modèles. Nous voulons une logique du "sens commun" utilisable pour faire des raisonnements courants utilisant certes la transitivité, mais également la négation. Nous aimerions également faire une représentation des données du gérant qui pourrait permettre la navigation, comme celle utilisée dans le logiciel Chic76. La visualisation des données de fait sous la forme de points (ici les

articles) joints par des èches (les règles d'association), comme nous le décrivons dans la section 4.3 de ce chapitre. Mais alors que dans le treillis de Galois la propriété AB obtenue par fusion des propriétés A et B ne se fait que sur les valeurs 1, ce qui assure les règles d'inférence, dans Chic, les propriétés ne sont pas fusionnées, mais des règles d'inférence sont utilisées après coup pour retirer les incohérences. On trouve également ce genre de nettoyage de la "redondance" dans les travaux de chercheurs en bases de données qui travaillent sur les "cubes OLAP" (On line Analytical Processing) ou des incohérences comme indiqué dans la section 8.6. C'est une cor- rection de ce type que nous proposons. Notre contribution se situe essentiellement au niveau de l'exposé de ce que sont les liaisons complexes dans le chapitre 7, et dans la méthode de correction du chapitre 8 utilisant des méta-règles de type algorithmique accessibles à l'expert des données, comme le gérant du supermarché par exemple. En eet, comme ce sont des règles approxima- tives, il peut tolérer des incohérences dans les règles, mais il veut qu'on les lui signale plutôt que de les découvrir par hasard, et il apprécie qu'on lui laisse le choix du type de nettoyage qu'il fera. Comme il aime qu'on lui signale les liaisons gênantes, il apprécie qu'on lui garde les liaisons simples. Par exemple, par le codage inapproprié qui est fait en codant le poids de la tablette de chocolat achetée en trois propriétés "pas de chocolat", "un peu de chocolat", "beaucoup de chocolat", et pareillement pour les gâteaux, au lieu d'obtenir la règle simple "si achat de chocolat alors achat de gâteaux" on va obtenir quelques-unes des 9 règles "partielles" possibles comme "si pas d'achat de chocolat alors pas d'achat de gâteaux" "si achat d'un peu de chocolat alors achat de beaucoup de gâteaux" sans pouvoir remonter à la règle d'origine. Comme nous le décrivons dans le chapitre de l'état de l'art, ce problème n'arrive pas avec les dépendances fonctionnelles du fait de leur nature. Pour éviter ce problème d'émiettement nous proposons dans le chapitre 9 de faire un codage ou de ces deux articles permettant de dénir la règle oue : "si achat de chocolat alors achat de gâteaux".

4.2. Les règles d'association comme ensemble logique

4.1.3 Rapidité de l'extraction des règles

La qualité du jeu de règles dépend également de la rapidité de son extraction. Si le gérant doit attendre un mois pour pouvoir appliquer les règles, elles ne seront peut-être plus valables. En eet, il y a des modes, des saisons, ce qui entraîne des changements dans les achats des clients. Nous exposons ces algorithmes dans la section 4.5 de ce chapitre. Pour qu'ils fonctionnent de façon optimale, ils doivent s'appuyer sur une représentation informatique adaptée des données. Nous exposons sommairement ces algorithmes et leur fonctionnement, notre but n'étant pas d'en écrire des concurrents mais de créer des règles d'association oues qui puissent s'extraire avec les plus courants de ces algorithmes moyennant de légères modications.

4.2 Les règles d'association comme ensemble logique

Dans cette section, nous donnons la dénition d'une règle d'association en réactualisant la dénition de l'implication choisie par Guigues et Duquenne [105], grâce notamment à l'utilisation des termes tels que motif et support que nous dénissons également dans cette partie. Nous en protons pour indiquer les principales notations des règles d'association, et nous illustrons toutes ces notions par un petit exemple repris par de nombreux auteurs en fouille de données. Le cadre formel des règles d'association étant ainsi posé, nous exposons deux représentations condensées de l'ensemble des règles d'association qui sont les bases de règles et les treillis de concepts, le parallèle entre ces deux représentations étant illustré par l'exemple.

4.2.1 Des implications selon Guigues et Duquenne aux règles d'association

Guigues et Duquenne [105] se placent dans un contexte (S, T , R), où ¿ S peut être considéré comme un ensemble de sujets, T comme un ensemble de traits dichotomiques décrivant les sujets moyennant la relation R. Pour tout couple (s,t) de S × R, on peut interpréter la relation sRt comme "le sujet s satisfait le trait t" et dénir une notion d'implication. À

Dénition 4.2.1. Implication résultant d'un contexte (S,T ,R) selon Guigues et Duquenne. A et B étant 2 parties de T , on dira que A implique B (on notera A→B) lorsqu'un sujet satisfai- sant tous les traits de A satisfait également ceux de B. Cette implication sera appelée informative si B n'est pas inclus dans A.

La notion de règle informative permet d'éliminer les règles n'apportant aucune information sur les données, c'est-à-dire sur la relation entre les sujets et les propriétés. Par exemple, si on considère les ensembles de propriétés A={a, b, c} et B={b}, comme B est inclus dans A, l'im- plication A→B n'est pas informative. En eet, si on sait qu'un sujet satisfait les propriétés a,

b et c, il est inutile d'examiner les données pour en déduire qu'il possède la propriété b. Bien

que n'étant pas porteuses d'information, ces règles peuvent avoir leur utilité. Par exemple, la règle A→A, où A est un sous ensemble quelconque de T est toujours vraie, comme Guigues et Duquenne l'exposent à la page 11 de leur article [105]. Elle n'est bien sûr pas informative, mais bien pratique pour alimenter des inférences.

En réécrivant cette dénition de la règle d'implication informative avec des termes plus cou- rants en fouille de données, nous obtenons la dénition d'une règle d'association suivante :

Le contexte (S, P, R) est formé de deux ensembles nis non vides, l'ensemble S des N sujets, l'ensemble des propriétés booléennes P (dont les valeurs sont Vrai, Faux et qui correspondent aux traits), et de R la relation entre les deux. Les parties de P sont appelées motifs. Le support

d'un motif est le nombre de sujets vériant les propriétés qui le composent. Un motif aura 2 notations possibles, soit par une lettre majuscule, qui représente alors l'ensemble des propriétés, soit par une suite de lettres minuscules, représentant la liste des propriétés. Ainsi si on a A={b, c, d} et B={c, e}, la réunion de A et de B se notera selon les cas A∪B ou bcde. Si tous les sujets vériant les propriétés de A vérient celles de B, on aura la règle d' association exacte A→B, qui se trouve être également, selon la dénition de Guigues et Duquenne, la règle d'implication informative A→A∪B. Puis on dénit une règle d'association approximative en tolérant que des sujets vérient A sans vérier B. Toutefois, pour rester cohérente avec le formalisme de Guigues et Duquenne et garder ainsi tout leur sens aux bases de règles, nous notons dans cette partie les règles d'association par A→A∪B au lieu de A→B, mais nous rajoutons à chaque fois que nous utilisons cette notation le symbole GD pour montrer au lecteur que ce n'est pas la notation courante, et nous acceptons les motifs de support nul.

Reprenons un exemple proposé par Stumme et al. [223] et repris dans d'autres articles en fouille de données qui nous permettra d'illustrer ensuite les notions de "bases de règles". Exemple 1. Exemple gurant dans [57, 64, 223].

S est l'ensemble de sujets {s1,s2,s3,s4,s5}, P l'ensemble de propriétés {a,b,c,d,e}, et R la relation liant les deux, selon la matrice d'incidence gurant dans le tableau 4.1.

a b c d e s1 x x x s2 x x x s3 x x x x s4 x x s5 x x x x

Tab. 4.1  Exemple de Stumme et al. [223] .

On déduit de ce contexte les 20 motifs suivants, dont les supports sont donnés entre paren- thèses, abce (2)77, abc (2), abe (2), acd (1), ace (2), bce (3), ab (2), ac (3), ad (1), ae (2), bc

(3), be (4), cd (1), ce (3), a (3), b(4), c (4), d (1), e (1), ∅ (5)78. Les règles d'association GD

comportent à droite un motif, et à gauche un motif strictement inclus dans celui de droite79.

Par exemple, du motif abce on tire ainsi autant de règles d'association GD qu'il y a de parties strictement incluses, soit 15 règles : abc → abce, abe → abce,..., ∅ → abce. Le jeu obtenu contient 79 règles, dont 19 règles exactes et 60 règles approximatives. Par exemple, la règle d'association GD ab → abc est exacte, car les supports des 2 motifs ab et abc sont égaux à 2 (les 2 sujets sont s3 et s5), et la règle b → ab est approximative, le support de b étant 4, et celui de ab seulement 2 car deux sujets vérient b sans vérier ab (ce sont les sujets s2 et s4).

A partir de ce petit exemple, on voit que le jeu de règles d'association peut dicilement apporter de la connaissance de qualité, étant de taille importante, et non structuré. Nous allons voir comment il peut être réduit à une "base de règles" sans perte d'information.

77Le support est 2 car les sujets ayant en commun les propriétés a, b, c et e, sont au nombre de 2, ce sont s3

et s5.

78Le support est 5 car les sujets qui ont en commun les propriétés de l'ensemble vide sont au nombre de 5, ce

sont tous les sujets de S.

79Par l'ajout de GD, nous voulons indiquer que cette notation provisoire des règles d'association reprenant en

partie droite tous les éléments de la partie gauche est celle utilisée dans l'article fondateur de Guigues et Duquenne [105].

4.2. Les règles d'association comme ensemble logique

4.2.2 Les bases de règles

Un ensemble de règles étant donné, la base est une partie de cet ensemble, à partir de laquelle on peut régénérer l'ensemble total de règles grâce à des règles d'inférence. La règle d'inférence la plus répandue dans le "sens commun" est la transitivité qui à partir des 2 règles suivantes tirées de la connaissance du climat de notre région :

"Si c'est l'hiver, alors il fait froid"

"S'il fait froid, alors les arbres perdent leurs feuilles" permet de déduire la règle :

"Si c'est l'hiver alors les arbres perdent leurs feuilles"

Les bases de règles les plus utilisées en fouille de données sont la base de Guigues et Du- quenne [105] et celle de Luxenburger [170]. Les deux s'appuient sur les motifs fermés, c'est-à-dire les motifs tels que l'ajout d'une propriété dans le motif diminue son support. Pour l'exemple gurant dans le tableau 4.1, bce est un fermé, de support 3 (les sujets s2, s3 et s4 vérient les 3 propriétés) : il est fermé car si on lui ajoute la propriété a, on obtient le motif abce de support 2 (le sujet s2 ne vérie pas a), et si on ajoute la propriété d, le motif bcde a un support nul. Au contraire, d n'est pas un motif fermé, le seul sujet le vériant vérie également a et c. Donc l'ajout de a et c ne modie pas son support, le motif acd, de support 1 est appelé la fermeture du motif d. Nous obtenons ainsi les 7 fermés, dont le support est indiqué entre parenthèses : abce (2), acd (1), bce (3), ac (3), be (4), c (4), ∅ (5), auquel nous ajoutons un huitième qui est le motif fermé abcde (0).

Les règles de la base de Guigues et Duquenne comportent en partie gauche un motif non fermé (pseudo-fermé), et en partie droite un motif le contenant de même fermeture. Mais toutes les règles vériant cette propriété ne sont pas mises dans la base. Elles doivent vérier des propriétés supplémentaires [105], ceci an d'obtenir une base de taille minimale. Pour notre exemple, cela donne les règles GD180 : b → be, GD2 : e → be, GD3 : a → ac et GD4 : d → ad.

Dénition 4.2.2. Règles d'inférence associées à la base de Guigues et Duquenne.

Soient A, B, C et D des parties de P telles que les règles GD81 A→B, GD B→C, GD C→D

sont des implications informatives, on dénit les 3 règles d'inférence suivantes

mrGD1 : ((A→B) et (C→D)) ` (A∪C→B∪D)

mrGD10 : (A→B) ` (A∪C→B∪C)

mrGD2 : ((A→B) et (B→C)) ` (A→C)

Ces 3 règles d'inférence sont acceptables pour la logique du "sens commun", on reconnaît notamment la transitivité dans mrGD2. Avec cette base et ces 3 règles d'inférence82, on peut

reconstruire l'ensemble de toutes les règles exactes. Pour notre exemple, les 4 règles de la base permettent de reconstruire les 19 règles exactes du jeu de règles. Ainsi, en faisant agir la règle d'inférence mrGD0

1 avec A={b}, B={b, e}, C={a}, elle produit la règle GD ab → abe à partir

80On notera GDi la règle ni de la base de Guigues et Duquenne, et de la même façon Li pour la base de