Règle d'association

Dans le domaine du data mining la recherche des règles d'association est une méthode populaire étudiée d'une manière approfondie dont le but est de découvrir des relations ayant un intérêt pour le statisticien entre deux ou plusieurs variables stockées dans de très importantes bases de données. Piatetsky-Shapiro[1] présentent des règles d'association extrêmement fortes découvertes dans des bases de données en utilisant différentes mesures d’intérêt. En se basant sur le concept de relations fortes, Rakesh Agrawal et son équipe[2] présente des règles d'association dont le but est de découvrir des similitudes entre des produits dans des données saisies sur une grande échelle dans les systèmes informatiques des points de vente des chaînes de supermarchés. Par exemple, une règle découverte dans les données de ventes dans un supermarché pourrait indiquer qu'un client achetant des oignons et des pommes de terre simultanément, serait susceptible d'acheter un hamburger. Une telle information peut être utilisée comme base pour prendre des décisions marketing telles que par exemple des promotions ou des emplacements bien choisis pour les produits associés. En plus des exemples ci-dessus concernant le panier des ménages, les règles d'association sont employées aujourd'hui dans plusieurs domaines incluant celui de la fouille du web, de la détection d'intrusion et de la bio-informatique.

Diagramme montrant une représentation visuelle de la manière dont les relations entre les transactions peuvent être découvertes grâce à l'extraction de règles d'association.

Histoire modifier

Le concept de règle d'association a été popularisé, en particulier, par un article de Rakesh Agrawal[2] de 1993. Mais il est possible que cette notion ait été découverte sous le nom de GUHA en 1966 par Petr Hájek et ses collègues[3].


Principes modifier

Définition modifier

Une règle d'association peut être définie formellement comme ceci[4],[5] :

  • Définition : Soit   un ensemble d'indices (items) et   un ensemble de transactions, telles que   contient un sous-ensemble de   (ie  ). Une règle d'association, qui peut-être vraie ou fausse, s'exprime sous la forme :
 , où   et  

Notions utiles modifier

Pour un sous-ensemble   d'indices   (appelé itemset) :

  • Le recouvrement ou la couverture de   (dans  ) est l'ensemble des transactions observées contenant   :  .

On remarquera que  , traduisant le fait que   si et seulement si   et  .

  • Le compteur de support (« support count ») de   dans   est le nombre de transactions de   qui contiennent  . On le note   .
  • Le support (« support ») est alors la proportion des transactions de   contenant  , soit   . Celui-ci peut être vu comme une estimation de la probabilité  .
  • La force d'une règle d'association est mesurée par son indice de support et son indice de confiance.
    • L'indice de support (« support ») d'une règle   est défini par la proportion de transactions de   qui contiennent   (à la fois X et Y, et non X ou Y), soit  . Il s'agit donc d'une estimation de la probabilité  .
    • L'indice de confiance (« confidence ») d'une règle   est défini par la proportion de transactions de   contenant   qui contiennent aussi  , soit  . Il peut être vu comme une estimation de la probabilité conditionnelle  . Remarque :  .
  • Le « lift » d'une règle   mesure l'amélioration apportée par la règle d'association par rapport à un jeu de transactions aléatoire (où X et Y seraient indépendants). Il est défini par  . Un « lift » supérieur à 1 traduit une corrélation positive de X et Y, et donc le caractère significatif de l'association.

Algorithmes modifier

Apriori modifier

REQUIRE : Un support seuil S

ENSURE : La liste des itemsets fréquents

L1 ‹— Liste des items dont le support est supérieur à S; i ‹— i+1;

REPEAT

  i ‹— 1;
  À partir des Li-1, construire l'ensemble Ci des itemsets fréquents, candidats comprenant i items ;
  Li ‹— {};
  POUR tout élément e € Ci FAIRE
     SI support(e) > S ALORS
       ajouter e à Li;
     FINSI
  FINPOUR

UNTIL L1 == {}

Eclat modifier

Eclat[6] est un algorithme de recherche d'associations utilisant les intersections d'ensembles.

FP-growth modifier

FP-growth (frequent pattern growth)[7] utilise une structure d'arbre (FP-tree) pour stocker une forme compressée d'une base de données. FP-growth adopte une stratégie de découpage pour décomposer les tâches d'exploration de données et les bases de données. Il utilise une méthode « pattern fragment growth » pour éviter le coûteux processus de génération et de test des candidats, utilisé par Apriori.

GUHA procedure ASSOC modifier

GUHA[8] (« General Unary Hypotheses Automaton ») est une méthode de génération automatique d'hypothèses à partir de données empiriques, c'est donc une méthode d'exploration de données. La procédure ASSOC[9] est une méthode GUHA qui explore les données en vue de trouver rapidement des règles d'association généralisées en utilisant des structures de données en tableau (« Bit array »).

One-attribute-rule modifier

L'idée qui préside à la conception de l'algorithme OneR (one-attribute-rule) consiste à trouver un attribut à utiliser qui fait le moins d'erreurs de prédiction possibles. Peter Ross[10] à découvert que les règles simples avec un seul attribut dans la condition fonctionnent réellement bien.

OPUS modifier

OPUS est un algorithme efficace pour la recherche de règles d'association, qui, par opposition à d'autres, ne nécessite pas de contraintes anti-monotones et monotones tels que le support minimum[11]. Initialement utilisé pour trouver des règles pour une conclusion donnée[11],[12], il a par la suite été étendu pour trouver des règles avec n'importe quel item comme conclusion[13]. Le moteur de recherche OPUS est la technologie centrale dans le populaire système de recherche d'association Magnum Opus.

Zero-attribute-rule modifier

Voir aussi modifier

Notes modifier

Liens internes modifier

Références modifier

  1. Piatetsky-Shapiro, G. (1991), Discovery, analysis, and presentation of strong rules, in G.Piatetsky-Shapiro & W. J. Frawley, eds, ‘Knowledge Discovery in Databases’, AAAI/MIT Press, Cambridge, MA.
  2. a et b R. Agrawal; T. Imielinski; A. Swami: Mining Association Rules Between Sets of Items in Large Databases", SIGMOD Conference 1993: 207-216
  3. Petr Hajek, Tomas Feglar, Jan Rauch, David Coufal. The GUHA method, data preprocessing and mining. Database Support for Data Mining Applications, (ISBN 978-3-540-22479-2), Springer, 2004
  4. Gurmeet Singh Manku, Rajeev Motwani, Approximate Frequency Counts over Data Streams
  5. Bing Liu, Web Data Mining, Springer, Édition 2010, Page 14
  6. Mohammed J. Zaki. Scalable algorithms for association mining. IEEE Transactions on Knowledge and Data Engineering 12(3):372-390, May/June 2000.
  7. Jiawei Han, Jian Pei, Yiwen Yin, and Runying Mao. Mining frequent patterns without candidate generation. Data Mining and Knowledge Discovery 8:53-87, 2004.
  8. GUHA GUHA - basic information Site officiel
  9. P. Hájek, P. Havránek Mechanising Hypothesis Formation – Mathematical Foundations for a General Theory, Springer-Verlag, Édition 1978, (ISBN 0387087389)
  10. Peter Ross, OneR: the simplest method
  11. a et b Webb, G. I. (1995). OPUS: An Efficient Admissible Algorithm For Unordered Search. Journal of Artificial Intelligence Research 3. Menlo Park, CA: AAAI Press, pages 431-465 online access.
  12. R.J. Bayardo, R. Agrawal et D. Gunopulos, « Constraint-based rule mining in large, dense databases », Data Mining and Knowledge Discovery, vol. 4, no 2,‎ , p. 217–240 (DOI 10.1023/A:1009895914772)
  13. Webb, G. I. (2000). Efficient Search for Association Rules. In R. Ramakrishnan and S. Stolfo (Eds.), Proceedings of the Sixth ACM SIGKDD International Conference on Knowledge Discovery and Data Mining (KDD-2000) Boston, MA. New York: The Association for Computing Machinery, pages 99-107. online access