Introduction à la Fouille de Données (Data Mining) (8) Bernard ESPINASSE Professeur à Aix-Marseille Université (AMU) Ecole Polytechnique Universitaire de Marseille Septembre 2008 Introduction à la fouille de données Types de données exploitées et de connaissances extraites Exemples dʼapplications de la fouille de données Quelques logiciels de fouille de données Plan 1. Introduction à la fouille de données! Extraction de connaissances à partir de données et fouille de données! La fouille de données à la rencontre de plusieurs disciplines! Un exemple de découverte dʼinformation et de connaissance 2. Types de données exploitées et de connaissances extraites! Exemple de données disponibles exploitées! Connaissances extraites 3. Exemples dʼapplications de la fouille de données! Principaux domaines d'application de la fouille de données! Ciblage dʼun mailing! Oiseux rares et moutons noirs! Ticket de caisse! Repérer les intrus 4. Quelques logiciels de fouille de données Introduction à la fouille de données - Bernard ESPINASSE - 1 Introduction à la fouille de données - Bernard ESPINASSE - 2 Références bibliographiques Ouvrages :! Franco J-M., «Le Data Warehouse et le Data Mining». Ed. Eyrolles, Paris, 1997. ISBN 2-212-08956-2.! Gardarin G., «Internet/intranet et bases de données», Ed. Eyrolles, Paris, 1999, ISBN 2-212-09069-2.! Han J., Kamber M., «Data Mining: Concepts and Techniques», Morgan Kaufmann Publishers, 2004.! Lefébure R., Venturi G., «Le data Mining», Ed. Eyrolles, Paris, 1998. ISBN 2-212- 08981-3.! Tufféry S., «Data Mining et statistique décisionnelle», Ed. Technip, Paris, 2005, ISBN 2-7108-0867-6.! Cours :! Cours de A. Rakotomamonjy, INSA Rouen, Lab. PSI, Rouen.! Cours de G. Gardarin, Univ. de Versailles! Cours de J. Han et M. Kamber M., Simon Fraser Univ., Vancouver BC, Canada.! Cours de M. Adiba et M.C. Fauvet, Univ. Grenoble! Cours de R. Gilleron et M. Tommasi, Univ. Charles De Gaulle-Lille 3, Lab. LIFL, équipe Grappa.! Cours de R. Rakotomalala, Univ. Lumière Lyon 2, Lab. ERIC Lyon! Introduction à la fouille de données - Bernard ESPINASSE - 3 Ressources sur le Web relatives à la fouille de données! Page de Ricco Rakotomalala :! http://chirouble.univ-lyon2.fr/~ricco/cours/index.html! cette page regroupe des liens très intéressant sur le Data Mining (cours, transparents, logiciels...)! Page de Stéphane Tufféry :!! http://data.mining.free.fr/! cette page regroupe aussi pleins de liens très intéressant sur le Data Mining (cours, transparents, logiciels...) Introduction à la fouille de données - Bernard ESPINASSE - 4
Définitions! Extraction de connaissance à partir de données (Knowledge Discovery in Databases KDD) :! cycle de découverte dʼinformation regroupant la conception de grandes bases de données ou entrepôts de données (Data Warehouse) 1 Introduction à la fouille de données! Extraction de connaissances à partir de données et fouille de données! La fouille de données à la rencontre de plusieurs disciplines! Un exemple de découverte dʼinformation et de connaissance! tous les traitements à effectuer pour extraire de lʼinformation des données! lʼun de ces traitement est la Fouille de données (Data Mining)! Fouille de données (Data Mining) :! Ensemble de techniques d'exploration de données permettant d'extraire d'une base de données des connaissances sous la forme de modèles de description afin de :! décrire le comportement actuel des données et/ou! prédire le comportement futur des données Introduction à la fouille de données - Bernard ESPINASSE - 5 Introduction à la fouille de données - Bernard ESPINASSE - 6 Processus dʼextraction de connaissances à partir de données Processus ECD (Extraction de connaissances à partir de données) ou KDD (Knowledge Discovery in Databases) : La fouille de données à la rencontre de plusieurs disciplines Introduction à la fouille de données - Bernard ESPINASSE - 7 Introduction à la fouille de données - Bernard ESPINASSE - 8
Fouille de données = grande quantité de données + algorithmes efficaces La fouille de données = processus qui sʼappuie sur :! La disponibilité de grandes quantités de données :! Si lʼensemble est trop petit, les structures peuvent ne résulter que du hasard! On peut espérer quʼun gros volume de données représente bien lʼunivers (échantillon...)! Des algorithmes sûrs et efficaces :! Algorithmes sûrs : fondés théoriquement (recherche)! Efficaces en temps! Efficaces en espace! Résultats interprétables! Paramètres ajustables (en temps réel ou à peu près). Un exemple de découverte dʼinformation et de connaissance Exemple issu du livre de P. Adriaans et D. Zantige [Adriaans & Zantige 96] - Un éditeur vend 5 sortes de magazines : sport, voiture, maison, musique et BD - Il souhaite mieux étudier ses clients pour découvrir de nouveaux marchés ou vendre plus de magazines à ses clients habituels Quelques questions qu'il peut se poser : Q1 : Combien de personnes ont pris un abonnement à un magazine de sport cette année? Q2 : A-t-on vendu plus d'abonnements de magazines de sport cette année que l'année dernière? Q3 : Est-ce que les acheteurs de magazines de BD sont aussi amateurs de sport? Q4 : Quelles sont les caractéristiques principales de mes lecteurs de magazines de voiture? Q5 : Peut-on prévoir les pertes de clients et prévoir des mesures pour les diminuer? Questions de natures différentes mettant en jeu des processus différents Introduction à la fouille de données - Bernard ESPINASSE - 9 Introduction à la fouille de données - Bernard ESPINASSE - 10 Un exemple de découverte dʼinformation et de connaissance Q1 : Combien de personnes ont pris un abonnement à un magazine de sport cette année?! réalisable en SQL à partir des données opérationnelles sous réserve d'indexations suffisantes des tables concernées! seule difficulté : ne pas pénaliser le serveur transactionnel par des requêtes trop longues Q2 : A-t-on vendu plus d'abonnements de magazines de sport cette année que l'année?! nécessite de conserver toutes les dates de souscription même pour les abonnements résiliés! l'utilisateur devrait poser de nombreuses requêtes de ce type! elles devraient être résolues par des requêtes multidimensionnelles de type OLAP. Q1 et Q2 :! Réponse par simples requêtes SQL : les données recherchées sont que le résultat d'un calcul simple sur un ou des groupes d'enregistrements! ce qui distingue Q1 et Q2, c'est la notion de temps et la comparaison Un exemple de découverte dʼinformation et de connaissance Q3 : Est-ce que les acheteurs de magazines de BD sont aussi amateurs de sport?! exemple simplifié de problème où l'on demande si les données vérifient une règle! réponse formulée par une valeur estimant la probabilité que la règle soit vraie! en général des outils statistiques sont utilisés! cette question peut être généralisée, on pourrait ainsi :! chercher des associations fréquentes entre acheteurs de magazine pour effectuer des actions promotionnelles! introduire une composante temporelle pour chercher si le fait d'être lecteur d'un magazine implique d'être, plus tard, lecteur d'un autre magazine Introduction à la fouille de données - Bernard ESPINASSE - 11 Introduction à la fouille de données - Bernard ESPINASSE - 12
Un exemple de découverte dʼinformation et de connaissance Q4 : Quelles sont les caractéristiques principales de mes lecteurs de magazines de voiture?! question beaucoup plus ouverte : il sʼagit de trouver une règle et non plus de la vérifier ou de l'utiliser c'est pour ce type de question que sont mis en oeuvre des outils de fouille de données Q5 : Peut-on prévoir les pertes de clients et prévoir des mesures pour les diminuer?! question ouverte : Il faut disposer d'indicateurs comme : durées d'abonnement, délais de paiement,...! question (classique dans le bancaire) avec une forte composante temporelle et nécessite des données historiques 2 Types de données exploitées et de connaissances extraites! Exemple de données disponibles exploitées! Connaissances extraites Introduction à la fouille de données - Bernard ESPINASSE - 13 Introduction à la fouille de données - Bernard ESPINASSE - 14 Exemple de données disponibles (1)! Transactions :! Tickets de caisse : liste dʼarticles.! Factures : produit, client.! Communications téléphoniques : interlocuteurs, durée, lieux.! Connexions informatiques : fichier «log»! Bases de données des entreprises :! Factures.! Commandes.! Suivi.!...! Téléphone portable :! Obligation légale de conservation des données.! Durée des communications.! Numéros appelés (type, localisation).! Abonnement, changements.! Mobilité.! Utilisation des services annexes. Exemple de données disponibles (2)! Satellites : Espace! Photos (différentes longueur dʼonde) de corps célestes! Les photos sont créées plus vite quʼelles ne peuvent être exploitées! Chaque photo contient un très grand nombre dʼinformations potentielles! Accumuler, classer et mémoriser! Histoire dʼun objet céleste (orbite brillance )! Satellites : La Terre! Militaires! Météo! Géographiques (Cartographie)! Reconnaissance automatique :! De forme (cartographie)! De mouvement (militaire, météo : nuages)! Type de terrain (cartographie)! Type de culture, état de la végétation (subvention ). Introduction à la fouille de données - Bernard ESPINASSE - 15 Introduction à la fouille de données - Bernard ESPINASSE - 16
Exemple de données disponibles temporelles (1)! Données temporelles :! On suppose quʼil existe une relation de cause à effet entre la donnée au temps t et les données aux temps t i < t :! Suivre une donnée dans le temps.! Une donnée par rapport à toutes les autres.! Chaque donnée par rapport à toutes les autres.! Trouver les relations entre les données.! Exemples :! Cours de la bourse (valeurs des actions, contexte...)! Météo : vent, température, précipitations (en différents points dʼobservation).! Génomique : Démarche inverse : on produit les données explicitement pour appliquer des méthodes de Data Mining :! Séquençage automatique (rapide).! Il y a des informations, des structures à trouver.! Recherche de structures communes.! Localisation des gènes. Exemple de données disponible temporelles (2)! Données du Web : Récupération facile de pages ou de sites (paquetage java.net) :! Contenu des pages.! Liens entre les pages.! Historique des connexions (fichiers log).! Données textuelles :! Pages Web.! fichiers word, pdf! Dépêches dʼagence.! Digitalisation de bibliothèques. Introduction à la fouille de données - Bernard ESPINASSE - 17 Introduction à la fouille de données - Bernard ESPINASSE - 18 Types de connaissances extraites Connaissances extraites = connaissances sous la forme de modèles de description permettant de :! décrire le comportement actuel des données et/ou! prédire le comportement futur des données! des analyses :! des règles :! exemple: la distribution du trafic routier en fonction de l'heure! exemple : si un client n'a pas payé une facture > 1 000 alors il est dans 70% des cas en faillite! lʼattribution de scores de qualité :! par exemple, score de fidélité aux clients! la classification dʼentités :! par exemple, les mauvais payeurs 3 Exemples dʼapplications de la fouille de données! Principaux domaines d'application de la fouille de données! Ciblage dʼun mailing! Oiseux rares et moutons noirs! Ticket de caisse! Repérer les intrus Introduction à la fouille de données - Bernard ESPINASSE - 19 Introduction à la fouille de données - Bernard ESPINASSE - 20
Principaux domaines d'application! Domaine des assurances :! analyse des risques (caractérisation des clients à hauts risques, etc.)! automatisation du traitement des demandes (diagnostic des dégâts et détermination automatique du montant des indemnités)! Services financiers :! Attribution de prêts automatisés, support à la décision de crédit! Détection de fraude! Marketing ciblé! Grande distribution :! Médecine :!...! profils de consommateurs et modèles dʼachats! constitution des rayonnages! marketing ciblé! Aide au diagnostic Introduction à la fouille de données - Bernard ESPINASSE - 21 Ciblage d un mailing! Une entreprise veut proposer un nouveau produit :! Envoi dʼun courrier! Maximiser le taux de réponse! Cibler un mailing! Données disponibles :! Le fichier client.! Un fichier dʼadresses + historique des réponses aux mailings précédents.! Un deuxième fichier dʼadresses + autres infos (acheté).! Informations connexes (données démographiques )! Mode opératoire :! Caractériser, parmi les personnes du deuxième fichier, celles qui : ont répondu, ont acheté le produit, ont acheté un produit similaire.! Sélectionner (dans le 1 ou 3 fichier) les clients potentiels ayant le même profil.! Analyse des résultats :! Comparaison avec un mailing massif précédent, avec un échantillon témoin.! Calculer le gain (inclure le coût du Data Mining!)! Boucler la boucle :! Gain augmenté! -> rendre la proposition plus attractive! -> améliorer le taux de réponse.! Enrichir la base avec les résultats du mailing Introduction à la fouille de données - Bernard ESPINASSE - 22 Oiseux rares et moutons noirs! Une banque possède un fichier client :! Etat civil.! Historique des comptes.! Historique des contacts (demande dʼinfo, de prêts, de conseil).! Utilisation des services (e-banque, assurances...).! (réponse aux mailings.)! Lʼobjectif est de repérer :! Les clients rentables.! Les clients non rentables.! Les clients susceptibles de poser des problèmes! Les clients susceptibles dʼacquérir un nouveau produit.! Mode opératoire :! Comme dans le premier exemple.! Dégager des groupes homogènes :! Programme de segmentation (clustering).! Un expert vérifie la pertinence de la classification.! Tester cette classification.! Intégrer la classe dans la description du client. Tickets de caisse! Ticket de caisse :! Liste des achats.! Heure de passage en caisse.! Car te de crédit, carte de fidélité! code postal,! Quels sont les articles le plus souvent achetés ensemble?! Si A et B alors C! Promotions groupées, agencement du magasin.. Repérer les intrus! Connections de pirates :! Mouvements de fonds suspects.! Déplacement dʼune personne dans un lieu public.! Phénomènes rares : Nuggets (pépites).! Repérer les intrus! Enoncer des règles.! Vérification de la pertinence par un expert.! Tester lʼhypothèse. Introduction à la fouille de données - Bernard ESPINASSE - 23 Introduction à la fouille de données - Bernard ESPINASSE - 24
5 Quelques logiciels de fouille de données! Logiciels de statistique et de fouille sur PC! Logiciels de statistique et de fouille sur gros systèmes Logiciels de statistique et de fouille sur PC! Logiciels commercialisés :! S-PLUSTM de Insight,! AliceTM de Isoft,! Predict TM de Neuralware,! R (version gratuite de S-PLUS)! Logiciels gratuits :! Weka! Tanagra! Orange! Intérêts :! faciles à installer, utiliser, prix abordable! adaptés aux PME car ils peuvent gérer plusieurs dizaines de milliers voire plusieurs centaines de milliers dʼindividus! Limites :! ils ne permettent pas de traiter de très grandes bases de données! ils ne mettent souvent en œuvre quʼune ou deux techniques (excepté les produits S-PLUS, R, Tanagra et Weka) Introduction à la fouille de données - Bernard ESPINASSE - 25 Introduction à la fouille de données - Bernard ESPINASSE - 26 Logiciels de statistique et de fouille sur gros systèmes! Ils sont conçus pour :! pour exploiter de très grands volumes de données! pour couvrir une large palette de techniques! Ils existent parfois :! en version «statistique»! ou «data mining» (en général sur-couche du 1er)! Ils peuvent fonctionner en mode client-serveur! Logiciels commercialisés :! SPSSTM et Clementine de SPSS! SAS/STAT et Enterprise Miner de SAS! Statistica Data Miner de StatSoft! S-PLUS et Insightful Miner de Insightful! KXEN! Logiciels de fouille de données gratuits : Weka! Weka :! Weka (Waikato Environment for Knowledge Analysis) est un ensemble de classes et d'algorithmes en Java développé à lʼuniversité de Waikato en Nouvelle Zélande! Weka implémente les principaux algorithmes de la fouille, notamment : - les arbres de décision - les réseaux de neurones! il est téléchargeable (versions Unix et Windows) à l'adresse : http://www.cs.waikato.ac.nz/ml/weka! développé en complément du livre : Data Mining par I. Witten et E. Frank (éditions Morgan Kaufmann).! peut être utilisé de plusieurs façons : - par l'intermédiaire d'une interface utilisateur (comme utilisée en TP) - sur la ligne de commande. - par l'utilisation des classes fournies à l'intérieur de programmes Java (classes documentées) Introduction à la fouille de données - Bernard ESPINASSE - 27 Introduction à la fouille de données - Bernard ESPINASSE - 28
Logiciels de fouille de données gratuits : Tanagra! Tanagra :! TANAGRA est un logiciel gratuit développé à lʼuniversité de Lumiere Lyon 2, laboratoire ERIC, par Ricco Rakotomalala! Il est destiné à lʼenseignement et à la recherche, et téléchargeable à lʼadresse : http://chirouble.univ-lyon2.fr/~ricco/cours/index.html! Il implémente diverses méthodes de fouilles de données issues du domaine de la statistique exploratoire, de lʼapprentissage automatique et des bases de données,! Orange :! est développé par Blaz Zupan, à la Faculty of Computer and Information Science, de lʼuniversité de Ljubljana en Slovenie! Il est destiné à lʼenseignement et à la recherche, et téléchargeable à lʼadresse : http://www.ailab.si/orange! Il implémente aussi diverses méthodes de fouilles de données issues du domaine de la statistique exploratoire, de lʼapprentissage automatique et des bases de données, Introduction à la fouille de données - Bernard ESPINASSE - 29