des des Data Mining Vincent Augusto École Nationale Supérieure des Mines de Saint-Étienne 2012-2013 1/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 2/65
des des Définition générale Le data mining est l ensemble des algorithmes et méthodes : destinés à l exploration et à l analyse, pour de grandes bases de informatiques, sans a priori. Le data mining permet la détection dans les : de règles, d associations, de tendances inconnues, de structures particulières, restituant l information utile, tout en réduisant la quantité de. 3/65 pour l aide à la.
Objectif des des On ne veut plus seulement savoir : Combien de clients ont acheté tel produit pendant telle période? Mais : Quel est le profil des clients? Quels autres produits les intéresseront? Quand seront-ils intéressés? 4/65
Des statistiques... des des 5/65 Statistiques : Quelques centaines d individus. Quelques variables recueillies avec un protocole spécial (échantillonnage, plan d expérience). Hypothèses fortes (à priori) sur les lois statistiques suivies. Analyse de : Quelques milliers d individus. Plusieurs dizaines de variables. Construction de tableaux Individus Variables. Importance de la représentation visuelle.
des des 6/65 Contexte actuel : Quelques millions d individus. Quelques centaines de variables.... au data mining. De nombreux types de variables (numériques ou symboliques). Données recueillies souvent avant l étude et à d autres fins. Mise en œuvre de calculs rapides. Nouvel objectif : On ne cherche pas toujours l optimum mathématique. On recherche le modèle le plus facile à appréhender par un utilisateur non statisticien.
des des 7/65 Domaines concernés : Domaines d application Customer Relationship Management (CRM). Détection de fraude (CB, téléphone mobile). Text Mining (étude de mails de réclamation, extraction et classification de connaissance dans les textes). Web Mining (personnalisation de sites web en fonction des habitudes et du contenu examiné). Aide au diagnostic médical. Exemple : en fonction de points communs détectés avec les symptômes d autres patients connus, le système peut catégoriser de nouveaux patients au vu de leurs analyses médicales en risque estimé (probabilité) de développer telle ou telle maladie.
Domaines d application des des Domaines pluridisciplinaires : Analyse de, statistiques, probabilités. Bases de. Intelligence artificielle : systèmes experts; apprentissage automatique; logique. Sciences cognitives : neurosciences; psychologie expérimentale; philosophie... 8/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 9/65
Découverte des des des 10/65
des des 11/65 Découverte des base de : Un ensemble de supermarchés localisés dans différentes villes, en France et à l étranger. Caractéristiques : Chaque supermarché possède sa propre base. Informations sur les clients : Customer(c id, c name, c addr, c job,...) Informations sur les produits/articles en vente : Item(i id, i name, i category,...) Informations sur les achats/transactions réalisées (pour chaque transaction, les articles sont stockés un par un) : Transaction(t id, c id, i id, t date,...)
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 12/65
des des 13/65 Objectif : Supprimer les bruitées ou non pertinentes. Questions : Que faire si certaines sont manquantes? Certains clients n ont pas donné leur adresse. Toutes les sont-elles fiables (problèmes d inconsistance)? Un même article appartient à différentes catégories (dans des magasins différents). Le prix d un même article est très supérieur à la normale dans un magasin donné. Que faire si certaines sont numériques dans le cas où la technique d extraction ne peut manipuler que des symboliques?
Données manquantes des des Solutions : Ne pas tenir compte des tuples contenant des manquantes (valeurs nulles). Remplir manuellement les champs non remplis. Utiliser les valeurs connues : Remplacer un salaire manquant par le salaire médian des clients. Prédire les valeurs manquantes, en le déduisant d autres paramètres (salaire à partir de l âge et de la profession). 14/65
des des 15/65 Données bruitées Plusieurs solutions : lissage, segmentation, régression linéaire. Techniques de lissage (data smoothing) : 1 Trier les différentes valeurs de l attribut considéré. {4,8,15,21,21,24,25,28,34} 2 Partitionner l ensemble résultat. {{4,8,15},{21,21,24},{25,28,34}} 3 Remplacer les valeurs initiales par de nouvelles valeurs en fonction du partitionnement réalisé : par la valeur moyenne des regroupements réalisés {9,22,29} par les min et max des regroupements réalisés. {{4,4,15},{21,21,24},{25,25,34}} Implique une perte de précision ou d information.
Données bruitées des des Techniques de segmentation (clustering) : Les valeurs similaires sont placées dans une même classe. On ne tient pas compte des valeurs isolées (dans une classe comportant trop peu d éléments). Techniques de régression linéaire : Hypothèse : un attribut Y dépend linéairement d un attribut X. Années d expérience X et salaire Y. Trouver les coefficients a et b tels que Y = ax +b. Remplacer les valeurs de Y par celles prédites. 16/65
des des Données de départ : Un ensemble de couples (X i,y i ). Détermination des coefficients : Données bruitées : régression linéaire Soient X et Ȳ les valeurs moyennes des attributs X et Y. a = cov(x,y). V(x) b = Ȳ a X. 17/65
Données inconsistantes des des Données inconsistantes dans une base de : Contraintes d intégrités ou dépendances fonctionnelles non respectées. Exemples : La contrainte I ID I CATEGORY n est pas respectée au moment de l intégration des. Unicité de clés non respectée. 18/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 19/65
des des Objectif : Regrouper les provenant de différentes sources. Problématique typique lors de la construction d entrepôts de. Exemple : Un attribut nommé C ID dans la BD de Paris peut très bien se nommer CUST ID dans la BD de Londres. Utilisation de méta- (XML) pour la mise en correspondance. 20/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 21/65
des des 22/65 des Lissage de : utilisation de techniques de régression. Normalisation des : normaliser certains attributs numériques afin qu ils varient entre 0 et 1. Pour ne pas privilégier les attributs ayant les plus grands domaines de variation (salaire/âge). Agrégation des : opérations OLAP (On-Line Analytical Processing) permettant une analyse multidimensionnelle sur les BD volumineuses afin de mettre en évidence une analyse particulière des. Calculer les niveaux de ventes réalisées de tel produit par mois plutôt que par jour. Généralisation des : remplacer les finies par des de plus haut niveau. Remplacer les adresses precises des clients par leur code postal. Remplacer l âge des clients par jeune, adulte, sénior.
des des 23/65 Discrétisation des Répartition des valeurs des attributs : À chaque étape, on cherche à découper l intervalle de variation des en K intervalles comportant le même nombre de valeurs. On divise C AGE= [0,100] en A 1 = [0,20] et A 2 = [20,100] si 50 % des clients ont moins de 20 ans. Entropie et classification à priori des : On cherche à caractériser les individus achetant les différents types de lait (entier, demi-écrémé, écrémé). Facilité à appréhender le découpage obtenu : On veut obtenir des intervalles du type [ 12.5, 0] plutôt que [ 12.536, 0.0005].
des des Discrétisation basée sur l entropie (1/2) Entropie d un ensemble de S : Définition : S est découpé en k classes C 1,...,C k. Ent(S) = p i.log(p i ) avec p i = C i S. Propriétés : Ent(S) est maximale (égale à 0) si les sont réparties dans une seule et même classe. Ent(S) est minimale si les sont uniformément réparties dans toutes les classes. 24/65
des des Méthode : Discrétisation basée sur l entropie (2/2) Découper S = [a,b] en S 1 = [a,c] et S 2 = [c,b]. Maximiser le gain d information I(S,c) = S 1 S Ent(S 1)+ S 2 S Ent(S 2) Ent(S). Arrêt du découpage si le gain devient insuffisant, quel que soit c. 25/65
Variation de l entropie des des 26/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 27/65
des des Objectif : Garder uniquement les pertinentes pour l étude à réaliser. Exemple : Doit-on s intéresser à toutes les catégories de produits de vente? Doit-on s intéresser aux ventes réalisées il y a plus d un an? 28/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 29/65
des des 30/65 Réduction en ligne par échantillonnage : Pour des raisons de performance. Du fait de la compléxité importante des algorithmes d extraction. Plusieurs méthodes : échantillonnage aléatoire (avec ou sans remise), échantillonnage par clustering/segmentation. Réduction en colonne par suppression des attributs redondants : Cas triviaux (âge et date de naissance). Via une analyse des corrélation entre attributs : corr A,B = P(A B) P(A).P(B) = P(B/A) P(B) Indépendance : corr A,B = 1 si P(B/A) = P(B). Corrélation positive : corr A,B > 1 si P(B/A) > P(B).
Matrice de contingence des des 31/65 matrice de contingence : Avec pain Sans pain Total Avec beurre 4.000 3.500 7.500 Sans beurre 2.000 500 2.500 Total 6.000 4.000 10.000 Analyse de corrélation : P(Beurre) = 7.500 10.000 = 0.75 et P(Pain) = 0.6. P(Beurre Pain) = 4.000 10.000 = 0.4. corr Pain,Beurre = 0.4 0.75 0.6 = 0.89 < 1 Indique une corrélation négative.
Qualité de la corrélation des des Coefficient de corrélation : (Ai Ā)(B i B) r A,B = σ A.σ B avec σ X = (Xi X) 2. Signification : Plus r A,B s éloigne de zéro, meilleure est la corrélation : r A,B = +1 : corrélation positive parfaite. r A,B = 1 : corrélation négative parfaite. r A,B = 0 : absence totale de corrélation. 32/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 33/65
des des 34/65
des des 35/65 (1/2) Techniques descriptives : Visent à mettre en évidence des informations présentes, mais cachées dans les gros volumes de. Cas de la segmentation de la clientèle, de la recherche d association de produits sur les tickets de caisse. Permettent de réduire, de résumer et de synthétiser les. Pas de variable cible à prédire. Exemples : Techniques de segmentation/clustering : nuées dynamiques, segmentation hiérarchique, réseaux de neurones. règles d association.
des des 36/65 (2/2) Techniques prédictives : Visent à extrapoler de nouvelles informations à partir des informations présentes. Cas général du scoring (impayés, attrition, crédit). Permettent d expliquer les. Il existe une variable cible à prédire. Exemples : Classification/discrimination (variable cible qualitative) : analyse discriminante; arbres de classification; réseaux neuronaux multi-couches. Prédiction (variable cible quantitative) : régression linéaire (simple et multiple); arbres de régression.
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 37/65
Post-traitement des des 38/65 Présentation des. Visualisation des. Manipulation des.
Présentation des des des Problème : Comment représenter/visualiser les extraites? Formules logiques : Age(X, jeune ), Revenu(X, eleve ) class(x, A ) [1.402]. Age(X, jeune ), Revenu(X, bas ) class(x, B ) [1.038]. Age(X, senior ) class(x, C ) [2.160]. 39/65
des des Tableau : Présentation des Age Revenu Class Count jeune eleve A 1.402 jeune bas B 1.038 senior eleve C 786 senior bas C 1.374 Arbre de : 40/65
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 41/65
des des Les origines : Intelligence artificielle [Quinlan, 1983]. Statistiques [Breiman, 1986]. Points forts : Généralités Applicables à la fois à des attributs numériques et symboliques. Intelligibilité de la procédure de. Rapidité de la. Invariance des résultats à toute transformation monotone des. 42/65 Problème : Comment construire un arbre de à partir d un ensemble de?
Principe de construction des des Données : Ensemble de K classes C 1,C 2,...,C K. Ensemble d objets décrits selon N +1 attributs ou variables : N variables descriptives (taille, couleurs, forme, etc.) 1 variable de catégorie : à quelle classe appartient un objet donné (raisin, pomme, banane, etc.)? Principe de l algorithme : Partitionnement successif de l ensemble de. 43/65
Définition d une partition (1/2) des des Variable binaire X {1,0} Variable quantitative X X? 1 0 X < α? 1 0 44/65
Définition d une partition (2/2) des des Variable qualitative X avec M modalités dans E = {e 1,...,e m }. X E E? X? 1 0 e 1 e 2 e M 45/65
Choix d une partition des des Principe : Partitionner les en sous-ensembles les plus purs possibles, i.e. contenant des objets d une seule classe. Exemples de critères d impureté : Soit un ensemble S partitionné en K classes C 1,...,C K. Soit P k = C k S. Taux d items mal classés : T(S) = 1 max k (P k ). Entropie : I(S) = k P k log 2 P k. Critère de Gini : G(S) = 1 k P2 k. 46/65
des des Gain d information (1/2) Définition : I = I(S) P L I(S L ) P R I(S R ) avec P L = S L S et P R = S R S. I est la fonction d entropie. Exemple : S(20/30) 47/65 S L (15/5) S R (5/25) I(S) = 20/50log 2 (20/50) 30/50log 2 (30/50) = 0,971 I(S L ) = 15/20log 2 (15/20) 5/20log 2 (5/20) = 0,811 I(S R ) = 5/30log 2 (5/30) 25/30log 2 (25/30) = 0,65 I = 0,971 20/50(0,811) 30/50(0,65) = 0,26
Gain d information (2/2) des des Cas d une partition quelconque : I = I(S) k P ki(s k ) dans le cas où S est découpé en S 1,...,S K, avec P k = S k S. Problème : Les variables avec un grand nombre de modalités induisent une plus grande réduction de l impureté. Gain ratio impurity I I K = k P k logp k 48/65
des des 49/65 Partionnement d une feuille : Algorithme de construction 1 Pour chaque variable X i, rechercher la partition optimale P i = {S 1,...,S N }, i.e. la partition maximisant le gain d information. (Si X i est quantitatif, chercher le seuil α maximisant le gain d information.) 2 Choisir parmi toutes les partition P i celle qui maximise le gain d information. Arrêt : Lorsqu une feuille contient uniquement des objets d une seule classe. Lorsque le gain en information est inférieur à un seuil donné.
Exemple 1 (1/3) des des 50/65
Exemple 1 (2/3) des des 51/65
Exemple 1 (3/3) des des Arbre de final : X < 1,5? 1 0 Cercle 1 Y < 2,5? 0 Carré Cercle 52/65
des des 53/65 Exemple 2 (1/6) id age income student credit-rating class 1 <30 high no fair no 2 <30 high no good no 3 30-40 high no fair yes 4 >40 medium no fair yes 5 >40 low yes fair yes 6 >40 low yes good no 7 30-40 low yes good yes 8 <30 medium no fair no 9 <30 low yes fair yes 10 >40 medium yes fair yes 11 <30 medium yes good yes 12 30-40 medium no good yes 13 30-40 high yes fair yes 14 >40 medium no good no
des des 54/65 Exemple 2 (2/6) Entropie de départ : I(S) = 0,940. Avec l attribut age : age < 30 : I(S L ) = 0,971 et I(S R ) = 0,764 donc I = 0,102. age < 40 : I(S L ) = 0,918 et I(S R ) = 0,971 donc I = 0,003. Avec l attribut income : income = low : I(S L ) = 0,811 et I(S R ) = 0,971 donc I = 0,015. income = medium : I(S L ) = 0,918 et I(S R ) = 0,954 donc I = 0,001. income = high : I(S L ) = 1,0 et I(S R ) = 0,881 donc I = 0,025. Avec l attribut student : student = yes : I(S L ) = 0,592 et I(S R ) = 0,985 donc I = 0.152. Avec l attribut credit rating : rating = fair : I(S L ) = 0,811 et I(S R ) = 1,0 donc I = 0,048.
des des 55/65 Exemple 2 (3/6) student = yes id age income student credit-rating class 5 >40 low yes fair yes 6 >40 low yes good no 7 30-40 low yes good yes 9 <30 low yes fair yes 10 >40 medium yes fair yes 11 <30 medium yes good yes 13 30-40 high yes fair yes 1 <30 high no fair no 2 <30 high no good no 3 30-40 high no fair yes 4 >40 medium no fair yes 8 <30 medium no fair no 12 30-40 medium no good yes 14 >40 medium no good no
Exemple 2 (4/6) des des Entropie de départ (student = no) : I(S) = 0,985. Avec l attribut age : age < 30 : I(S L ) = 0 et I(S R ) = 0,811 donc I = 0,522. age < 40 : I(S L ) = 0,811 et I(S R ) = 1,0 donc I = 0,006. Avec l attribut income : income = medium : I(S L ) = 1,0 et I(S R ) = 0,918 donc I = 0,020. income = high : I(S L ) = 1,0 et I(S R ) = 0,918 donc I = 0,020. Avec l attribut credit rating : rating = fair : I(S L ) = 1,0 et I(S R ) = 0,918 donc I = 0,020. 56/65
des des 57/65 Exemple 2 (5/6) age < 30 id age income student credit-rating class 5 >40 low yes fair yes 6 >40 low yes good no 7 30-40 low yes good yes 9 <30 low yes fair yes 10 >40 medium yes fair yes 11 <30 medium yes good yes 13 30-40 high yes fair yes 1 <30 high no fair no 2 <30 high no good no 8 <30 medium no fair no 3 30-40 high no fair yes 4 >40 medium no fair yes 12 30-40 medium no good yes 14 >40 medium no good no
Exemple 2 (6/6) des des Arbre de final : 1 student? 0 Yes 1 age < 30? 0 No Yes 58/65
des des 59/65 Exemples de règles d arrêt : Règles d arrêt Nombre d éléments dans une feuille inférieur à un seuil. Taux de bien classés dans une feuille supérieur à un seuil (exemple : max k (P k ) > 95%). Gain d information inférieur à un seuil (exemple : I < β). Autre approche : test du χ 2 Test de l indépendance entre : la partition obtenue par maximisation du gain d information; la partition qui serait obtenue sous l hypothèse d indépendance.
Pour aller plus loin... des des Élagage de l arbre : Laisser l arbre pousser jusqu à l obtention de feuilles pratiquement pures, puis couper des branches pour simplifier l arbre. Méthode : rechercher le sous-arbre minimisant la fonction de coût-capacité. [Breiman, Olshen et Stone, 1984] 60/65
des des Bagging : Pour aller plus loin... Amélioration de la stabilité de la méthode de classification. 61/65
des des 62/65 Avantages : Conclusion Applicables à des variables quantitatives ou qualitatives. Intelligibilité de la procédure de classification (avec une traduction possible sous forme de règles). Rapidité du processus de classification (après construction de l arbre). Invariance à toute transformation monotone des. Sélectionne automatiquement les variables les plus importantes. Problèmes : Performance sur de grands volumes de? Choix des variables : arbres multi-variés potentiellement plus performant, mais au détriment de l intelligibilité des solutions proposées.
des des 1 2 des des 3 4 Post-traitement 5 représentation : 6 63/65
Problèmes et perspectives des des Problème de performance : Les volumes de à traiter peuvent être très importants. Solutions : Calcul parallèle et/ou distribué : utilisation de grilles de calcul. Techniques incrémentales : utilisation de résultats antérieurs pour l optimisation des calculs de nouvelles requêtes d extraction; stockage efficace des résultats de requêtes d extraction. 64/65
des des 65/65 Problèmes et perspectives de de différents types : Feuilles de calcul MS Excel. Bases de transactionnelles. Bases de relationnelles. Structures complexes : spatiales, temporelles, etc. Problème de l hétérogénéité des. Besoin de langages de requêtes d extraction : SQL ne permet pas de mesurer des notions floues (tendances). de nouveaux langages : MSQL, MINE-RULE, DMQL... Syntaxes proches de SQL. Pas de théorie générale et/ou d algèbre.