Temaro Introduccón a la Prospeccón de Datos Masvos ( Data Mnng ) José Hernández Orallo jorallo@dsc.upv.es Transparencas y otra documentacón en: http://www.dsc.upv.es/~jorallo/master/ Máster de Ingenería del Software. DSIC 1. Introduccón 1.1. Motvacón 1.2. Problemas tpo y aplcacones 1.3. Relacón de DM con otras dscplnas 2. El proceso de KDD 2.1. Las Fases del KDD 2.2. Tpología de Patrones de Mnería de Datos 2.3. Ejemplo 3. Técncas de Mnería de Datos 3.1. Taxonomía de Técncas. 3.2. Evaluacón de Hpótess 3.3. Técncas no supervsadas y descrptvas. 3.4. Técncas supervsadas y predctvas. 4. Desarrollo e Implantacón 4.1. Sstemas Comercales 4.2. Tendencas 4.3. Para saber más 2 3. Técncas de Mnería de Datos Taxonomía Técncas de Mnería de Datos. 3.1. Taxonomía de Técncas. Verfcaton Drven DM Data Mnng Source: http://www.crm-forum.com and Jae Kyu Lee Dscovery Drven DM 3.2. Evaluacón de Hpótess 3.3. Técncas no supervsadas y descrptvas 3.4. Técncas supervsadas y predctvas 3 SQL Query Tools SQL Generator OLAP Vsualzaton Clusterng Assocaton Sequental Assocaton Dstllaton Descrpton Classfcaton Predcton Statstcal Regresson Decson Tree Rule Inducton Neural Network 4 Taxonomía de Técncas de DM Taxonomía de Técncas de DM Ejemplos: Interpolacón:? f(2.2)=? Predccón secuencal: 1, 2, 3, 5, 7, 11, 13, 17, 19,...? Aprendzaje supervsado: 1 3 -> 4. 3 5 -> 8. 4 2 ->? 7 2 -> 9. Segmentacón (Aprendzaje no supervsado): Cuántos grupos hay? Qué grupos formo? PREDICTIVO: Interpolacón y Predccón Secuencal. Generalmente las msmas técncas: Datos contnuos (reales): Regresón Lneal: Regresón lneal global (clásca). Regresón lneal ponderada localmente. Regresón No Lneal: logarítmca, pck & mx,... Datos dscretos: No hay técncas específcas: se suelen utlzar técncas de algortmos genétcos o algortmos de enumeracón refnados. Análss Exploratoro: Correlacones, Asocacones y Dependenca 5 6 1
Taxonomía de Técncas de DM PREDICTIVO: Aprendzaje supervsado. Dependendo de s se estma una funcón o una correspondenca: clasfcacón: se estma una funcón (las clases son dsjuntas). categorzacón: se estma una correspondenca (las clases pueden solapar). Dependendo del número y tpo de clases: clase dscreta: se conoce como clasfcacón. Ejemplo: determnar el grupo sanguíneo a partr de los grupos sanguíneos de los padres. s sólo tene dos valores (V y F) se conoce como concept learnng. Ejemplo: Determnar s un compuesto químco es cancerígeno. clase contnua o dscreta ordenada: se conoce como estmacón. Ejemplo: estmar el número de hjos de una famla a partr de otros ejemplos de famlas. 7 Taxonomía de Técncas de DM PREDICTIVO: Aprendzaje supervsado (Clasfcacón). Técncas: k-nn (Nearest Neghbor). k-means (compettve learnng). Perceptron Learnng. Multlayer ANN methods (e.g. backpropagaton). Radal Bass Functons. Decson Tree Learnng (e.g. ID3, C4.5, CART). Bayes Classfers. Center Splttng Methods. Rules (CN2) Pseudo-relatonal: Superchargng, Pck-and-Mx. Relatonal: ILP, IFLP, SCIL. Smlarty- Based Fence and Fll 8 Taxonomía de Técncas de DM DESCRIPTIVO: Análss Exploratoro Técncas: Estudos correlaconales Asocacones. Dependencas. Deteccón datos anómalos. Análss de dspersón. Taxonomía de Técncas de DM DESCRIPTIVO: Segmentacón (Aprendzaje no supervsado) Técncas de clusterng: k-means (compettve learnng). redes neuronales de Kohonen EM (Estmated Means) (Dempster et al. 1977). Cobweb (Fsher 1987). AUTOCLASS... 9 10 Evaluacón de Hpótess Evaluacón de Hpótess APROXIMACIONES: Asumr dstrbucones a pror. Crtero de smplcdad, de descrpcón o transmsón mínmas. Separar: Tranng Set y Test Set. Cross-valdaton. Basadas en refuerzo. Otras preguntas mportantes: Qué hpótess elegmos? Cómo sabemos lo ben que se comportará en el futuro? 11 PARTICIÓN DE LA MUESTRA Evaluar una hpótess sobre los msmos datos que han servdo para generarla da sempre resultados muy optmstas. Solucón: PARTIR EN: Tranng Set y Test Set. S los datos dsponbles son grandes (o lmtados) : Tranng Set: cjto. con el que el algortmo aprende una o más hpótess. Test Set: cjto. con el que se seleccona la mejor de las anterores y se estma su valdez. Para problemas con clase dscreta, se calcula la accuracy, que se mde como el porcentaje de acertos sobre el test set. Para problemas con clase contnua, se utlza la meda del error cuadrátco u otras meddas sobre el test set. 12 2
Correlacón y Asocacones (análss exploratoro o lnk analyss): Coefcente de correlacón (cuando los atrbutos son numércos: Ejemplo: desgualdad de repartcón en la rqueza e índces de delncuenca correlaconan postvamente. Asocacones (cuando los atrbutos son nomnales). Ejemplo: tabaqusmo y alcoholsmo están asocados. Dependencas funconales: asocacón undrecconal. Ejemplo: el nvel de resgo de enfermedades cardovasculares depende del tabaqusmo y alcoholsmo (entre otras cosas). 13 Correlacones y Estudos Factorales: Permten establecer relevanca/rrelevanca de factores y s aquélla es postva o negatva respecto a otro factor o varable a estudar. Ejemplo (Kel 2000): Estudo de vstas: 11 pacentes, 7 factores: Health: salud del pacente (referda a la capacdad de r a la consulta). (1-10) Need: convccón del pacente que la vsta es mportante. (1-10) Transportaton: dsponbldad de transporte del pacente al centro. (1-10) Chld Care: dsponbldad de dejar los nños a cudado. (1-10) Sck Tme: s el pacente está trabajando, puede darse de baja. (1-10) Satsfacton: satsfaccón del clente con su médco. (1-10) Ease: facldad del centro para concertar cta y efcenca de la msma. (1-10) No-Show: ndca s el pacente no se ha pasado por el médco durante el últmo año (0-se ha pasado, 1 no se ha pasado) 14 Correlacones y Estudos Factorales. Ejemplo (cont.): Matrz de correlacones: Coefcentes de Regresón: Health Need Transp ton Chld Care Sck Tme Satsfacton Ease No-Show Health 1 Need -0.7378 1 Transportaton 0.3116-01041 1 Chld Care 0.3116-01041 1 1 Sck Tme 0.2771 0.0602 0.6228 0.6228 1 Satsfacton 0.22008-0.1337 0.6538 0.6538 0.6257 1 Ease 0.3887-0.0334 0.6504 0.6504 0.6588 0.8964 1 No-Show 0.3955-0.5416-0.5031-0.5031-0.7249-0.3988-0.3278 1 Independent Varable Coeffcent Health.6434 Need.0445 Transportaton -.2391 Chld Care -.0599 Sck Tme -.7584 Satsfacton.3537 Ease -.0786 Indca que un ncremento de 1 en el factor Health aumenta la probabldad de que no aparezca el pacente en un 64.34% 15 Reglas de Asocacón y Dependenca: La termnología no es muy coherente en este campo (Fayyad, p.ej. suele llamar asocacones a todo y regla de asocacón a las dependencas): Asocacones: Se buscan asocacones de la sguente forma: (X 1 = a) (X 4 = b) De los n casos de la tabla, que las dos comparacones sean verdaderas o falsas será certo en r c casos: Un parámetro T c (confdence): T c = certeza de la regla = r c /n s consderamos valores nulos, tenemos tambén un número de casos en los que 16 se aplca satsfactoramente (dferente de T c ) y denomnado T s. Reglas de Asocacón y Dependenca de Valor: Dependencas de Valor: Se buscan dependencas de la sguente forma (f Ante then Cons): P.ej. f (X1= a, X3=c, X5=d) then (X4=b, X2=a) De los n casos de la tabla, el antecendente se puede hacer certo en r a casos y de estos en r c casos se hace tambén el consecuente, tenemos: Dos parámetros T c (confdence/accuracy) y T s (support): T c = certeza de la regla =r c /r a, fuerza o confanza P(Cons Ante) T s = mínmo nº de casos o porcentaje en los que se aplca satsfactoramente (r c o r c /n respectvamente). 17 Llamado tambén prevalenca: P(Cons Ante) Reglas de Asocacón y Dependenca de Valor. Ejemplo: DNI Renta Famlar Cudad Profesón Edad Hjos Obeso Casado 11251545 5.000.000 Barcelona Ejecutvo 45 3 S S 30512526 1.000.000 Mellla Abogado 25 0 S N 22451616 3.000.000 León Ejecutvo 35 2 S S 25152516 2.000.000 Valenca Camarero 30 0 S S 23525251 1.500.000 Bendorm Anmador Parque Temátco 30 0 N N Asocacones: Casado e (Hjos > 0) están asocados (80%, 4 casos). Obeso y casado están asocados (80%, 4 casos) Dependencas: (Hjos > 0) Casado (100%, 2 casos). Casado Obeso (100%, 3 casos) 18 3
Patrones Secuencales: Se trata de establecer asocacones del estlo: s compra X en T comprará Y en T+P Patrones Secuencales: Ejemplo (cont.): Ejemplo: 19 20 Patrones Secuencales: Ejemplo (cont.): Mary Clusterng (Segmentacón): Se trata de buscar agrupamentos naturales en un conjunto de datos tal que tengan semejanzas. Métodos de Agrupamento: Jerárqucos: los datos se agrupan de manera arborescente (p.ej. el reno anmal). No jerárqucos: generar partcones a un nvel. (a) Paramétrcos: se asumen que las densdades condconales de los grupos tenen certa forma paramétrca conocda (p.e. Gaussana), y se reduce a estmar los parámetros. (b) No paramétrcos: no asumen nada sobre el modo en el que se agrupan los objetos. 21 22 Clusterng (Segmentacón). Métodos jerárqucos: Un método sencllo consste en r separando ndvduos según su dstanca e r aumentando el límte para hacer grupos. Clusterng (Segmentacón). Métodos paramétrcos: (p.ej., el algortmo EM, Estmated Means) (Dempster et al. 1977). Esto nos da dferentes agrupacones a dstntos nveles, de una manera jerárquca, lo que se denomna Horzontal Herarchcal Tree Plot: 23 Gráfcas: Enrque Vdal 24 4
Clusterng (Segmentacón). Métodos No Paramétrcos Métodos: k-nn k-means clusterng, onlne k-means clusterng, centrodes SOM (Self-Organzng Maps) o Redes Kohonen. Clusterng (Segmentacón). Métodos No Paramétrcos 1-NN (Nearest Neghbour): Dado una sere de ejemplos en un espaco, se conecta cada punto con su punto más cercano: G1 G2 G4 Otros específcos: El algortmo Cobweb (Fsher 1987). El algortmo AUTOCLASS (Cheeseman & Stutz 1996) 25 La conectvdad entre puntos genera los grupos. A veces hace grupos pequeños. Exsten varantes: k-nn. G3 26 Clusterng (Segmentacón). Métodos No Paramétrcos k-means clusterng: Se utlza para encontrar los k puntos más densos en un conjunto arbtraro de puntos. Clusterng (Segmentacón). Métodos No Paramétrcos SOM (Self-Organzng Maps) o Redes Kohonen Tambén conocdos como LVQ (lnear-vector quantzaton) o redes de memora asocatva (Kohonen 1984). On-lne k-means clusterng (compettve learnng): Refnamento ncremental del anteror. 27 La matrz de neuronas de la últma capa forma un grd bdmensonal. 28 Otros Clusterng (Segmentacón). Métodos No Paramétrcos SOM (Self-Organzng Maps) o Redes Kohonen Tambén puede verse como una red que reduce la dmensonaldad a 2. Por eso es común realzar una representacón bdmensonal con el resultado de la red para buscar grupos vsualmente. 29 Análss Estadístcos: Estudo de la dstrbucón de los datos. Deteccón datos anómalos. Análss de dspersón. Muchas veces, estos análss se pueden utlzar prevamente para determnar el método más apropado para un aprendzaje supervsado Tambén se utlzan mucho para la lmpeza y preparacón de datos para el uso de métodos supervsados. 30 5
Métodos Predctvos. Interpolacón y Predccón Secuencal Métodos Predctvos. Interpolacón y Predccón Secuencal Regresón Lneal Global. Se buscan los coefcentes de una funcón lneal f Para más de dos dmensones se puede hacer por gradent descent Regresón No Lneal. Estmacón Logarítmca (se susttuye la funcón a obtener por y=ln(f)). Se hace regresón lneal para calcular los coefcentes y a la hora de predecr se calcula la f = e y. Pck and Mx - Superchargng Se añaden dmensones, combnando las dadas. P.ej. x 4 = x 1 x 2, x 5 = x 3 2, x 6 = x 1 x 2 y obtener una funcón lneal de x 1, x 2, x 3, x 4, x 5, x 6 31 Regresón Lneal Ponderada Localmente. La funcón lneal se aproxma para cada punto x q a nterpolar: f ˆ ( x) = w0 + w1 x1+... + w m x m Regresón Adaptatva. Especalzados en predccón secuencal. Muy utlzada en compresón de sondo y de vídeo, en redes, etc. (se predcen las sguentes tramas) Algortmos mucho más sofstcados (cadenas de Markov, VQ)??? 32 Métodos Predctvos. k-nn (Nearest Neghbour): se puede usar para clasfcacón? Clasfca? círculo Clasfca cuadrado 1-nearest neghbor 7-nearest neghbor PARTICIÓN DEL 1-nearest neghbor k-means clusterng: (Polédrca o de Vorono) Aunque lo vmos como una técnca no supervsada, tambén se puede utlzar para aprendzaje supervsado, s se utlza convenentemente. 33 Perceptron Learnng. Saldas W1,1 W1,2 W2,2 W3,2 W5,3 W2,1 W3,1 W4,2 W5,2 W4,1 Entradas W1,3 W2,3 W3,3 W4,3 W5,1 x1 x2 x3 x4 x5 Computan una funcón lneal. y' = j n = 1 w y1, j x PARTICIÓN LINEAL POSIBLE y2 PARTICIÓN LINEAL IMPOSIBLE y3 34 Multlayer Perceptron (redes neuronales artfcales, ANN). El perceptron de una capa no es capaz de aprender las funcones más sencllas. Se añaden capas nternas. Hdden Layer Entradas Saldas h1,1 y1 y2 h1,2 h1,3 h1,4 h1,5 x1 x2 x3 PARTICIÓN NO LINEAL MÚLTIPLE POSIBLE CON 4 UNIDADES INTERNAS x4 y3 35 Árboles de Decsón (ID3 (Qunlan), C4.5 (Qunlan), CART). Ejemplo C4.5 con datos dscretos: Example Sky Temperature Humdty Wnd PlayTenns 1 Sunny Hot Hgh Weak No 2 Sunny Hot Hgh Strong No 3 Overcast Hot Hgh Weak Yes 4 Ran Mld Hgh Weak Yes 5 Ran Cool Normal Weak Yes 6 Ran Cool Normal Strong No 7 Overcast Cool Normal Strong Yes 8 Sunny Mld Hgh Weak No 9 Sunny Cool Normal Weak Yes 10 Ran Mld Normal Weak Yes 11 Sunny Mld Normal Strong Yes 12 Overcast Mld Hgh Strong Yes 13 Overcast Hot Normal Weak Yes 14 Ran Mld Hgh Strong No 36 6
Árboles de Decsón. Ejemplo C4.5 con datos dscretos: NO Sunny Humdty? YES Overcast Outlook? YES NO Ran Wnd? Hgh Normal Strong Weak P.ej., la nstanca: (Outlook = sunny, Temperature = cool, Humdty = hgh, Wnd = strong) es NO. 37 YES Nave Bayes Classfers. Se utlzan más con varables dscretas. Ejemplo del playtenns: Queremos clasfcar una nueva nstanca: (Outlook = sunny, Temperature = cool, Humdty = hgh, Wnd = strong) V = arg max P( c ) P( x c ) = NB = arg max P( c ) P( Outlook = sunny c ) P( Temperature = cool c ) c { yes, no} c { yes, no} j j P( Humdty = hgh c ) P( Wnd = strong c ) Estmando las 10 probabldades necesaras: P(Playtenns=yes)=9/14=.64, P(Playtenns=no)=5/14=.36 P(Wnd=strong Playtenns=yes)=3/9=.33 P(Wnd=strong Playtenns=no)=3/5=.60... Tenemos que: P(yes)P(sunny yes)p(cool yes)p(hgh yes)p(strong yes)=0.0053 P(no)P(sunny no)p(cool no)p(hgh no)p(strong no)=0.206 38 Comparacón de métodos no relaconales: k-nn: Redes neuronales (multcapa): Muy fácl de usar Efcente s el nº de ejemplos no es excesvamente grande. El valor de k no es muy mportante. Gran expresvdad de la partcón. Intelgble sólo vsualmente. Robusto al rudo pero no a atrbutos no sgnfcatvos (las dstancas aumentan, conocdo como the curse of dmensonalty ) El número de capas y elementos por capa dfícles de ajustar. Apropado para clases dscretas o contnuas. Poca ntelgbldad. Muy sensbles a outlers (datos anómalos). Se necestan muchos ejemplos. 39 Comparacón de métodos no relaconales (cont.): Nave Bayes: Árboles de decsón: (C4.5): Muy fácl de usar. Muy efcente. NO HAY MODELO. Robusto al rudo. Muy fácl de usar. Admte atrbutos dscretos y contnuos. La clase debe ser dscreta y fnta. (aunque tb. exsten los árboles de regresón que permten clase contnua) Es tolerante al rudo, a atrbutos no sgnfcatvos y a mssng attrbute values. Alta ntelgbldad. 40 Aprendzaje Relaconal y Recursvo: IFP (Inductve Functonal Programmng). Se aprenden reglas de la forma: g(f(a), X) b Exsten aproxmacones con LISP, el lenguaje ML y otros (70s). ILP (Inductve Logc Programmng). El lenguaje representaconal es lógca de prmer orden. (Dzerosk & Lavrac 2001). p(x,y,b) :- q(f(x,y), c) Inco en los 80 (Shapro) y gran desarrollo en la década de los 90. IFLP (Inductve Functonal Logc Programmng): g(f(a),x) b :- p(x,b) = true, q(x,x) = a Mayor naturaldad y expresvdad. Ventaja con problemas de clasf. Aprendzaje en Orden Superor. Algún ntento con el lenguaje Escher. Todavía en pañales. 41. Sobremuestreo Sobremuestreo (oversamplng): En problemas de clasfcacón sobre bases de datos es posble que haya muchísma más proporcón de algunas clases sobre otras. Esto puede ocasonar que haya muy pocos casos de una clase: Problema: la clase escasa se puede tomar como rudo y ser gnorada por la teoría. Ejemplo: s un problema bnaro (yes / no) sólo hay un 1% de ejemplos de la clase no, la teoría todo es de la clase yes tendría un 99% de precsón (accuracy). Solucones: Utlzar sobremuestro... Análss ROC 42 7
. Sobremuestreo Sobremuestreo (oversamplng / balancng): El sobremuestreo/submuestreo consste en repetr/fltrar los ejemplos (tuplas) de las clases con menor/mayor proporcón, mantenendo las tuplas de las clases con mayor/menor proporcón. Esto, evdentemente, camba la proporcón de las clases, pero permte aprovechar a fondo los ejemplos de las clases más raras. Cuándo se debe usar sobremuestreo? Cuando una clase es muy extraña: p.ej. predecr fallos de máqunas, anomalías, excepcones, etc. Cuando todas las clases (especalmente las escasas) deben ser valdadas. P.ej. s la clase escasa es la de los clentes fraudulentos. Pegas: hay que ser muy cudadoso a la hora de evaluar los modelos. 43. Macro-average Macro-average: Una alternatva al sobremuestreo consste en calcular la precsón de una manera dferente. Habtualmente, la precsón (accuracy) se calcula: acc ( h) = acertos / total (conocdo como mcro-averaged accuracy) La alternatva es calcular la precsón como: acertosclase / totalclase 1 + acertosclase2 / totalclase2 +... + acertos acc( h) = nº clases (conocdo como macro-averaged accuracy) / total 1 clase n clase n De esta manera se obtene un resultado mucho más compensado 44. Errores de Clasfcacón (confusón de clases) : En muchos casos de mnería de datos, el error de clasfcacón sobre una clase no tene las msmas consecuencas económcas, étcas o humanas que con otras. Ejemplo: clasfcar una partda de neumátcos en perfectas condcones como defectuososo o vceversa.. Matrces de Confusón y Coste: Exsten técncas para ponderar las clases se combnan las matrces de confusón con las matrces de costes : COST predcted ERROR predcted actual low medum hgh low 0 5 2 medum 200-2000 10 hgh 10 1-15 actual low medum hgh low 20 0 13 medum 5 15 4 hgh 4 7 60 Coste total: -29787 45 46.. Errores de Clasfcacón y Malngs: Más aún... Exsten técncas específcas para evaluar la convenenca de campañas de malngs (propaganda por correo selectva): EJEMPLO: Una compañía quere hacer un malng para fomentar la compra de productos. En caso de respuesta postva, los clentes suelen comprar productos por valor medo de 100. S un 55% suelen ser costes de produccón (fjos y varables), tenemos que por cada respuesta postva hay una gananca meda de 45. Cada malng cuesta 1 (portes, folletos) y el conjunto de la campaña (ndep. del número) tendría un coste base 20.000. Con un 1.000.000 de clentes, en el que el 1% responde, cómo podemos evaluar y aplcar un modelo que nos dce (ordena) 47 los mejores clentes para la campaña? Errores de Clasfcacón y Malngs. Ejemplo: Tabla mostrando el benefco para cada decl: Coste Campaña 20.000 --> 20.000 Coste 100.000 Campaña x 1 --> 100.000 Total: 20.000 --> 20.000 120.000 200.000 x 1 --> 100.000 Total: Benef. Campaña 220.000 3.000 x 45 --> 135.000 Benef. Campaña Benef. 5.000 Netos: x 45 --> 225.000 15.000 Benef. Netos: 5.000 48 8
. Errores de Clasfcacón y Malngs. Ejemplo (cont.): Gráfca mostrando el benefco para tres campañas dferentes:. Errores de Clasfcacón: En este tpo de problemas (s son bnaros o ordenados) es preferble hacer hpótess con predccones probablístcas o con clases contnuas (estmacones), porque permten combnar con los costes de una manera más detallada. P.ej. es preferble un modelo que determne en una escala de 0 a 10 lo bueno que es un clente, que un modelo que determne s un clente es malo o bueno. 49 50. Análss ROC. Análss ROC (Recever Operatng Characterstc): Se basa en dbujar el true-postve rate en el eje y y el false-postve rate en el eje x. Por ejemplo, dada la sguente matrz de confusón: Actual T F T 30 30 Predcted F 20 70 Tendríamos TPR= 0.6 y FPR= 0.3. 1.0 Métodos Predctvos Combnacón de Hpótess Combnacón de Hpótess: BOOSTING: Se utlza el MISMO algortmo para aprender dstntas hpótess sobre dstntas partcones de los datos. Luego se combnan las dstntas hpótess. VOTING/ARBITER/COMBINER: Se utlza DISTINTOS algortmos para aprender dstntas hpótess sobre todo el conjunto de los datos. Luego se combnan las dstntas hpótess. True Postve Rate 0.6 Classfer at (0.3, 0.6) 0.0 0.0 0.3 False Postve Rate 1.0 51 Maneras de COMBINAR hpótess: WEIGHTING MAJORITY: el valor se obtene hacendo la meda (caso contnuo) o la medana (caso dscreto). STACKING/CASCADE: se utlza cada hpótess como una varable y se utlza otro algortmo (p.ej. una red neuronal para 52 asgnar dferentes pesos a las dferentes hpótess). 9