Plan Introduction à la Fouille de Données (Data Mining) (8) 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 Bernard ESPINASSE ! Exemple de données disponibles exploitées Professeur à Aix-Marseille Université (AMU) ! Connaissances extraites Ecole Polytechnique Universitaire de Marseille 3. Exemples dʼapplications de la fouille de données Septembre 2008 ! Principaux domaines d'application de la fouille de données ! Ciblage dʼun mailing • Introduction à la fouille de données ! Oiseux rares et moutons noirs • Types de données exploitées et de connaissances extraites ! Ticket de caisse • Exemples dʼapplications de la fouille de données ! Repérer les intrus • Quelques logiciels de fouille de données Introduction à la fouille de données - Bernard ESPINASSE - 4. Quelques logiciels de fouille de données 1 Introduction à la fouille de données - Bernard ESPINASSE - 2 Ressources sur le Web relatives à la fouille de données 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-21208981-3. ! Tufféry S., « Data Mining et statistique décisionnelle », Ed. Technip, Paris, 2005, ISBN 2-7108-0867-6. !… ! 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/ 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 ! 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) ! 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) 1 – Introduction à la fouille de données ! 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 : ! 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 ! 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 Processus dʼextraction de connaissances à partir de données Introduction à la fouille de données - Bernard ESPINASSE - 6 La fouille de données à la rencontre de plusieurs disciplines Processus ECD (Extraction de connaissances à partir de données) ou KDD (Knowledge Discovery in Databases) : 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 Un exemple de découverte dʼinformation et de connaissance Exemple issu du livre de P. Adriaans et D. Zantige [Adriaans & Zantige 96] 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). Introduction à la fouille de données - Bernard ESPINASSE - - 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 9 Introduction à la fouille de données - Bernard ESPINASSE - Un exemple de découverte dʼinformation et de connaissance 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. Q3 : Est-ce que les acheteurs de magazines de BD sont aussi amateurs de sport ? 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 Introduction à la fouille de données - Bernard ESPINASSE - 11 10 ! 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 - 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 2 – Types de données exploitées et de connaissances extraites ! Exemple de données disponibles exploitées Q5 : Peut-on prévoir les pertes de clients et prévoir des mesures pour les diminuer ? ! Connaissances extraites ! 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 Introduction à la fouille de données - Bernard ESPINASSE - 13 Exemple de données disponibles (1) ! Satellites : Espace ! ! ! ! ! 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. ... ! ! ! ! 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. Introduction à la fouille de données - Bernard ESPINASSE - 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 ! Téléphone portable : ! ! ! ! ! ! 14 Exemple de données disponibles (2) ! Transactions : ! ! ! ! Introduction à la fouille de données - Bernard ESPINASSE - 15 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 - 16 Exemple de données disponibles temporelles (1) Exemple de données disponible temporelles (2) ! Données du Web : ! 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 ti < 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. Introduction à la fouille de données - Bernard ESPINASSE - 17 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 - 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 3 – Exemples dʼapplications de la fouille de données ! prédire le comportement futur des données ! des analyses : ! exemple: la distribution du trafic routier en fonction de l'heure ! des règles : ! Principaux domaines d'application de la fouille de données ! exemple : si un client n'a pas payé une facture > 1 000 € alors il est dans 70% des cas en faillite ! Ciblage dʼun mailing ! Oiseux rares et moutons noirs ! lʼattribution de scores de qualité : ! par exemple, score de fidélité aux clients ! Ticket de caisse ! la classification dʼentités : ! Repérer les intrus ! par exemple, les mauvais payeurs Introduction à la fouille de données - Bernard ESPINASSE - 19 Introduction à la fouille de données - Bernard ESPINASSE - 20 Ciblage d’un mailing Principaux domaines d'application ! Une entreprise veut proposer un nouveau produit : ! Domaine des assurances : ! Envoi dʼun courrier ! Maximiser le taux de réponse ! Cibler un mailing ! 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) ! Données disponibles : ! ! ! ! ! Services financiers : ! Attribution de prêts automatisés, support à la décision de crédit ! Détection de fraude ! Mode opératoire : ! Marketing ciblé ! 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. ! Grande distribution : ! •profils de consommateurs et modèles dʼachats ! Analyse des résultats : ! •constitution des rayonnages ! Comparaison avec un mailing massif précédent, avec un échantillon témoin. ! Calculer le gain (inclure le coût du Data Mining !) ! •marketing ciblé ! Boucler la boucle : ! Médecine : ! ! ! ! ! Aide au diagnostic ! .... Introduction à la fouille de données - Bernard ESPINASSE - 21 Oiseux rares et moutons noirs ! ! ! ! ! ! ! Les clients rentables. Les clients non rentables. Les clients susceptibles de “poser des problèmes” Les clients susceptibles dʼacquérir un nouveau produit. 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 . . ! Connections de pirates : ! ! ! ! ! ! ! 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. Introduction à la fouille de données - Bernard ESPINASSE - 22 Repérer les intrus ! Mode opératoire : ! ! ! ! ! ! Introduction à la fouille de données - Bernard ESPINASSE - ! Ticket de caisse : 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 : ! ! ! ! Gain augmenté -> rendre la proposition plus attractive -> améliorer le taux de réponse. Enrichir la base avec les résultats du mailing Tickets de caisse ! Une banque possède un fichier client : ! ! ! ! ! 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 …) 23 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 - 24 Logiciels de statistique et de fouille sur PC 5 – Quelques logiciels de fouille de données ! Logiciels de statistique et de fouille sur PC 25 Logiciels de statistique et de fouille sur gros systèmes Introduction à la fouille de données - Bernard ESPINASSE - 26 Logiciels de fouille de données gratuits : Weka ! Weka : ! Ils sont conçus pour : ! pour exploiter de très grands volumes de données ! 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) ! 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 ! … Introduction à la fouille de données - Bernard ESPINASSE - ! 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) ! Logiciels de statistique et de fouille sur gros systèmes Introduction à la fouille de données - Bernard ESPINASSE - ! Logiciels commercialisés : ! S-PLUSTM de Insight, ! AliceTM de Isoft, ! Predict TM de Neuralware, ! R (version gratuite de S-PLUS) ! Logiciels gratuits : 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