Data Mining des données à la connaissance [email protected], EPFL/IMAC (Laboratoire d’informatique et de mécanique appliquées à la construction) Cet article a pour but de présenter le data mining, un domaine de recherche particulièrement important de nos jours puisqu’il sert à fournir un sens aux données. Il est aussi passionnant, puisqu’il se base sur la capacité des ordinateurs à apprendre et à s’améliorer avec le temps, pour, par exemple, effectuer des prédictions. Il ne s’agit en aucun cas d’un tutoriel sur ce sujet, mais plutôt d’une introduction, porte d’entrée, sur ce domaine. La dernière publication conséquente sur le data mining parue dans le FI est l’excellent article de Kuonen et Furrer sur le langage R (Data mining avec R dans un monde libre, FI/ SP/01, dit.epfl.ch/publications-spip/spip.php?article284). On peut aussi noter l’article de Rajman et Faltings sur l’analyse des données textuelles (A la poursuite de l’information: techniques de recherche et d’analyse pour données textuelles, FI/SP/97, ditwww.epfl.ch/SIC/SA/publications/ FI97/fi-sp-97/sp-97-page34.html). Des données à la connaissance Les données seules n’ont presque aucune valeur. Alors que la quantité de données augmente de manière exponentielle, les gens sont en fait assoiffés de connaissance. La connaissance est obtenue par la compréhension des données. Le fossé entre les données brutes et la connaissance peut être énorme. Plus on a de données, plus il est difficile d’en tirer de la connaissance. Il est parfois assumé que plus de données signifie plus de connaissance. La raison d’une telle assertion est généralement le manque d’appréciation de la différence entre le fait d’obtenir des données et le fait de les comprendre. Introduction au data mining Dans notre société, il y a de plus en plus de capteurs mesurant n’importe quels changements de notre environnement. Par conséquent, une tâche importante est la compréhension de ces données. Comme noté par Piatestky-Shapiro (2007), «[…] as long as the world keeps producing data of all kinds […] at an ever increasing rate, the demand for data mining will continue to grow». Le data mining, textuellement minage de données (mais souvent traduit en français par fouille de données) est un domaine qui consiste à comprendre les données, généralement par le moyen de méthodes statistiques. En d’autres termes, le data mining cherche à identifier des tendances parmi les données. Comme ce processus peut être très difficile, il est souvent comparé au minage de l’or dans les rivières1: le gravier des alluvions représente l’énorme quantité de données et les pépites d’or représentent la connaissance cachées que l’on veut trouver. 1 En français, on utilise généralement le terme orpaillage. FI 10 – 18 décembre 2007 – page 4 le data mining peut être comparé au minage de l’or dans les rivières En simplifiant légèrement, on peut diviser les différentes techniques de data mining suivant deux objectifs principaux: la prédiction et la description. La plupart des applications de data mining ont pour but la prédiction: pour un ensemble d’apprentissage dont on connaît les entrées et la sortie, on aimerait prédire la sortie d’un ensemble de test. Prenons l’exemple de la reconnaissance de caractères. On entraîne l’algorithme choisi sur une base de données qui contient les entrées (par exemple une matrice de pixels correspondant au chiffre écrit) et la sortie (par exemple le chiffre représenté par ces pixels). Ensuite, on utilise l’algorithme entraîné pour prédire, c’est-à-dire deviner selon les pixels, la sortie, autrement dit, le chiffre écrit. Aussi magique que cela puisse paraître, tout ceci est possible grâce à l’utilisation de méthodes statistiques. Dans le cas de la description, le but est de trouver de la connaissance à partir des données brutes, sans connaître la sortie. L’exemple le plus connu est le clustering. Cela consiste à chercher des groupes distincts parmi les données. Imaginons par exemple que l’on mesure une série de paramètres sur plusieurs plantes (taille, type de feuilles, etc.). Avec le clustering, on peut essayer de grouper ces plantes en classes qui correspondent par exemple à des espèces différentes. Dans la littérature sur le sujet, le terme d’apprentissage automatique (machine learning) est souvent utilisé. La principale différence entre l’apprentissage automatique et le data mining est l’usage que l’on en fait. Alors que le domaine de l’apprentissage automatique se concentre sur les algorithmes d’apprentissage, le data mining met l’accent sur le processus d’extraction de la connaissance. L’apprentissage automatique consiste à programmer l’ordinateur pour qu’il apprenne à effectuer des tâches humaines, par exemple. Data Mining: des données à la connaissance est adopté avec son sens actuel. Un bref historique du data mining peut être lu dans l’article de Smyth (2000). Exemples d’applications possibles l’Homme enseigne à la machine à effectuer des tâches humaines (d’après M.C. Escher – Drawing Hands, 1948) D’après Han et Kamber (2001), le terme data mining se réfère à l’extraction de connaissances à partir de grandes quantités de données. Le data mining est un domaine récent qui se situe à l’intersection des statistiques, de l’apprentissage automatique et des bases de données. Plusieurs livres récents décrivent en détails le domaine du data mining, ses algorithmes, ses applications et même les nombreux pièges qu’il recèle (Hand 2001, Webb 2002, Tan 2006). Les applications les plus connues concernant le data mining sont la reconnaissance d’images, de textes et du langage. Le data mining a aussi été utilisé dans l’analyse de séquences ADN, la finance, le Web, la reconnaissance du spam ou encore les recommandations comme celles faites par Amazon ou Ebay pour ne citer qu’eux. Des entreprises telles que KDnuggets aux Etats-Unis, mais aussi Statoo Consulting en Suisse, entièrement dédiées au data mining, sont de plus en plus présentes. Il est clair que ce domaine en pleine croissance va intéresser la plupart des entreprises qui travaillent avec de grandes quantités de données. Quelle entreprise ne voudrait pas de prédictions sur la consommation de ses clients ou de recommandations automatiques pour que le client achète plus? Certains auteurs ont aussi relevé les limites des techniques de data mining, comme par exemple dans le domaine du contre-terrorisme. Finalement, le lecteur intéressé par une introduction plus détaillée sur le data mining, pourra consulter le très bon article de Fayyad et Uthurusamy (2002) ou l’excellent livre de Witten et Frank (2005). Références z z Le data mining se situe à l’intersection des statistiques, de l’apprentissage automatique et des bases de données. Bref historique sur le data mining D’après Pal et Jain (2005), les origines du data mining remontent à 1989, lors du premier workshop KDD (Knowledge Discovery in Databases). En statistiques, la procédure habituelle est de faire des hypothèses sur les données et ensuite de tester ces hypothèses. Quand les ensembles de données contiennent plusieurs centaines ou milliers d’attributs, cette tâche devient difficile. Avec la facilité grandissante qu’ont les ordinateurs à stocker et traiter les données en un temps raisonnable, les approches ont évolué en tests et hypothèses. Le domaine du data mining a émergé dans les années 1990. Cependant, l’usage du terme data mining est bien plus ancien. En médecine, Harris utilise un certain type de régression pour déterminer le risque lié aux angiocardiographies dès 1984. Dans son travail, il utilise le terme data mining comme un synonyme d’exploration des données. En 1983, Lovell écrit un article dont le titre est Data Mining. En économétrie, le terme data mining a même une connotation négative. L’article le plus ancien contenant le terme data mining est certainement celui de Jorgenson en 1970. Cela dit, c’est seulement dans le début des années 1990 que ce terme z z z z z z z z z Blog de l’auteur: www.dataminingblog.com Fayyad U. & Uthurusamy R. (2002), Evolving data mining solutions for insights, Communications of the ACM, 45(8), 28-31. Han J. & Kamber M. (2001), Data Mining: Concepts and Techniques, Morgan Kaufmann Publishers. Kdkeys, Forums sur le data mining, www.kdkeys.com Pal N. & Jain L. (2005), Advanced Techniques in Knowledge Discovery and Data Mining, chapter Preface, Springer. Piatestky-Shapiro G., KDnuggets: data mining software, jobs, consulting, www.kdnuggets.com Piatetsky-Shapiro G. (2007), Data mining and knowledge discovery 1996 to 2005: overcoming the hype and moving from «university» to «business» and «analytics», Data mining and Knowledge Discovery, 15(1), 99-105. Smyth P. (2000), Data mining: Data analysis on a grand scale? Technical Report CA 92697-3425, Information and Computer Science, University of California. Statoo Consult A.G., www.statoo.ch Tan P.-N., Steinbach M., & Kumar V. (2006), Introduction to Data Mining, Addison Wesley. Witten I. & Frank E. (2005), Data Mining: Practical machine learning tools and techniques with Java implementations, Morgan Kaufmann Publishers. n FI 10 – 18 décembre 2007 – page 5