mercredi 15 décembre 2010

Régles d'association - Données transactionnelles

L’extraction des règles d’association est une des applications phares du data mining. L’idée est de mettre à jour des régularités, sous forme de cooccurrences, dans les bases de données. L’exemple emblématique est l’analyse des tickets de caisses des grandes surfaces : on veut découvrir des règles de comportement du type « si le client a acheté des couches et des lingettes, il va acheter du lait de croissance ». Auquel cas, il est peut être opportun de mettre les rayons adéquats dans la même zone du magasin (c’est le cas en ce qui concerne l’hypermarché que je fréquente habituellement). La partie « si » de la règle est appelée « antécédent », la partie « alors » est le « conséquent ».

Il est possible de rechercher des cooccurrences dans les tableaux individus – variables que l’on manipule avec les logiciels de Data Mining usuels. Mais bien souvent, surtout dans le cadre de l’induction des règles d’association, les données peuvent se présenter sous la forme d’une base transactionnelle. Si l’on reprend l’exemple de l’analyse des tickets de caisse, nous disposons d’une liste de produits par caddie.

Cette représentation des données est assez naturelle eu égard au problème que l’on souhaite traiter. Elle présente aussi l’avantage d’être plus compacte puisque seuls sont effectivement listés les produits observés dans chaque caddie. Nous n’avons pas besoin de nous préoccuper des produits qui n’y sont pas, surtout qu’ils peuvent être très nombreux si l’on se réfère aux nombre d’articles que peut proposer une enseigne de grande distribution.

Pour autant que ce mode de description soit naturel, il s’avère que de nombreux logiciels ne savent pas l’appréhender directement. On observe curieusement un vrai clivage entre les outils à vocation professionnelle et ceux issus du monde universitaire. Les premiers savent pour la plupart manipuler ce type de fichier. C’est le cas des logiciels SPAD 7.3 et SAS Enterprise Miner 4.3 que nous étudions dans ce didacticiel. Les seconds en revanche demandent une transformation préalable des données pour pouvoir fonctionner. Nous utiliserons une macro VBA fonctionnant sous Excel pour transformer nos données en base « individus – variables » binaire propice au traitement sous Tanagra 1.4.37 et Knime 2.2.2. Attention, nous devons respecter le cahier des charges initial, à savoir s’intéresser uniquement aux règles signalant la présence simultanée des produits dans les caddies. Il n’est pas question, consécutivement à un codage « présent – absent » mal maîtrisé, de produire des règles mettant en évidence l’absence simultanée de certains produits. Cela peut être intéressant dans certains cas, mais ce n’est pas l’objectif de notre analyse.

Mots-clés : règle d'association, règles d'association, spad 7.3, sas em 4.3, knime 2.2.2, filtrage des règles, lift
Composants : A PRIORI
Didacticiel : fr_Tanagra_Assoc_Rule_Transactions.pdf
Données : assoc_rule_transactions.zip
Références :
Wikipedia, "Association rule learning"