12.07.2015 Views

Clasificación y predicción - Fernando Berzal

Clasificación y predicción - Fernando Berzal

Clasificación y predicción - Fernando Berzal

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Clasificación y predicción© <strong>Fernando</strong> <strong>Berzal</strong>, berzal@acm.orgClasificación y predicciónIntroducciónUso y construcción de modelos de clasificaciónEvaluación de la precisión de un modelo de clasificaciónEl problema del sobreaprendizajeModelos de clasificaciónÁrboles de decisiónInducción de reglasEvaluaciónMétricasMétodos de evaluaciónTécnicas de regresiónApéndice: Otros modelos de clasificación1


IntroducciónClasificación vs. PredicciónClasificación:Para predecir el valor de un atributo categórico(discreto o nominal).Predicción:Para modelar funciones que toman valores continuos(esto es, predecir valores numéricos desconocidos).2IntroducciónAplicacionesConcesión de créditosCampañas de marketing dirigidoDiagnóstico médicoDetección de fraudes…3


IntroducciónConstrucción del modeloEl conjunto de datos utilizado paraconstruir el modelo de clasificaciónse denomina conjunto de entrenamiento.Cada caso/tuplatupla/muestra corresponde a una clasepredeterminada: los casos de entrenamiento vienenetiquetados por su atributo de clase.Uso del modeloEl modelo construido a partir del conjunto deentrenamiento se utiliza para clasificar nuevos datos.4IntroducciónAprendizajeSupervisado vs. No SupervisadoAprendizaje supervisado (clasificación):Los casos del conjunto de entrenamiento aparecenetiquetados con la clase a la que corresponden.Aprendizaje no supervisado (clustering)) :No se conocen las clases de los casos del conjunto deentrenamiento (ni siquiera su existencia).5


1010IntroducciónTid Attrib1 Attrib2 Attrib3 Class1 Yes Large 125K No2 No Medium 100K No3 No Small 70K No4 Yes Medium 120K No5 No Large 95K Yes6 No Medium 60K No7 Yes Large 220K No8 No Small 85K Yes9 No Medium 75K No10 No Small 90K YesTid Attrib1 Attrib2 Attrib3 Class11 No Small 55K ?12 Yes Medium 80K ?13 Yes Large 110K ?14 No Small 95K ?15 No Large 67K ?6IntroducciónEstimación de la precisión del modeloAntes de construir el modelo de clasificación,se divide el conjunto de datos disponible en un conjunto de entrenamiento(para construir el modelo) y un conjunto de prueba(para evaluar el modelo).7


IntroducciónEstimación de la precisión del modeloUna vez construido el modelo a partir del conjunto deentrenamiento, se usa dicho modelo para clasificar losdatos del conjunto de prueba:Comparando los casos etiquetados del conjunto deprueba con el resultado de aplicar el modelo,se obtiene un porcentaje de clasificación.Si la precisión del clasificador es aceptable,podremos utilizar el modelo para clasificar nuevoscasos (de los que desconocemos realmente su clase).8IntroducciónEl problema del sobreaprendizajeCuanto mayor sea su complejidad, los modelos declasificación tienden a ajustarse más al conjunto deentrenamiento utilizado en su construcción(sobreaprendizaje), lo que los hace menos útilespara clasificar nuevos datos.En consecuencia, el conjunto de prueba debe sersiempre independiente del conjunto de entrenamiento.El error de clasificación en el conjunto deentrenamiento NO es un buen estimador de laprecisión del clasificador. 9


IntroducciónSobreaprendizajedebido a la complejidad del clasificador10IntroducciónSobreaprendizajedebido a la presencia de ruido en los datos:11


IntroducciónSobreaprendizajedebido a la escasez de muestras:12Modelos de clasificaciónSe pueden construir distintos tipos de clasificadores: Árboles de decisión Reglas (p.ej. listas de decisión) Clasificadores basados en casos Clasificadores paramétricos Redes neuronales Redes bayesianas SVMs (SupportVector Machines) …13


1010Árboles de decisiónRefund MaritalStatusTaxableIncomeCheatYesRefundNoNo Married 80K ?NOSingle,DivorcedMarStMarriedTaxInc< 80K > 80KNONOYES14Árboles de decisiónRefund MaritalStatusTaxableIncomeCheatYesRefundNoNo Married 80K ?NOSingle,DivorcedMarStMarriedTaxInc< 80K > 80KNONOYES15


1010Árboles de decisiónRefund MaritalStatusTaxableIncomeCheatYesRefundNoNo Married 80K NONOSingle,DivorcedTaxIncMarSt< 80K > 80KMarriedNOClase ‘NO’NOYES16Árboles de decisiónTid Refund MaritalStatusTaxableIncome1 Yes Single 125K No2 No Married 100K No3 No Single 70K No4 Yes Married 120K NoCheat5 No Divorced 95K Yes6 No Married 60K No7 Yes Divorced 220K No8 No Single 85K Yes9 No Married 75K No10 No Single 90K YesYesNORefundSingle,DivorcedTaxIncNoMarSt< 80K > 80KNOYESMarriedNO17Conjunto deentrenamientoModelo de clasificación:Árbol de decisión17


Árboles de decisiónConstrucción de árboles de decisión¿Qué heurísticas se pueden utilizar para decidir cómoramificar el árbol?La que nos proporciona nodos más homogéneos.Necesitamos medir la impureza de un nodo.22Árboles de decisiónConstrucción de árboles de decisiónReglas de división(heurísticas para la selección de atributos): Ganancia de información (ID3, C4.5) Índice de Gini (CART, SLIQ, SPRINT)Existen otras muchas reglas de división:χ 2 , MDL (MinimumDescription Length)…23


Árboles de decisiónEntropíamTeoría de la Información: Info D)= − p ilog ( p )C1 0C2 6Entropía = 0= – 0 log 2 0 – 1 log 2 1 = 0∑(2i=1iC1 1C2 5C1 2C2 4Entropía = 0.65= – (1/6) log 2 (1/6) – (5/6) log 2 (5/6)Entropía = 0.92= – (2/6) log 2 (2/6) – (4/6) log 2 (4/6)C1 3C2 3Entropía = 1= – (1/2) log 2 (1/2) – (1/2) log 2 (1/2)24Árboles de decisiónGanancia de información (ID3)p iEstimación de la probabilidad de queun ejemplo de D pertenezca a la clase C iEntropía(información necesaria para clasificar un ejemplo en D)Info( D)= − p ilog2(pm∑i=1i)25


Árboles de decisiónGanancia de información (ID3)Información necesaria para clasificar D después deusar el atributo A para dividir D en v particiones:v|Dj|InfoA(D)= ∑ × I(D| D |j=1j)Ganancia obtenidaal ramificar utilizando el atributo A:Gain(A) =Info(D) −InfoA(D)26Árboles de decisiónCriterio de proporción de ganancia(Gain Ratio, C4.5)ID3 tiende a ramificar el árbol utilizando los atributosque tengan más valores diferentes,por lo que se “normaliza” la ganancia de informaciónusando la entropía de la partición(que será mayor cuantas más particiones pequeñas haya):SplitInfov| Dj| | Dj|D)= −∑log ( )j=1 | D | | D |A( ×2GainRatio(A) = Gain(A) / SplitInfo(A)27


Árboles de decisiónÍndice de Gini(CART, SLIQ, SPRINT)Medida estadística de impureza:gini( D)= 1−n∑ p2 jj=1C1 0C2 6Gini=0.000C1 1C2 5Gini=0.278C1 2C2 4Gini=0.444C1 3C2 3Gini=0.500Para construir el árbol, elegimos el atributo queproporciona la mayor reducción de impureza28Árboles de decisiónComparación de reglas de divisiónPara problemas con dos clases:29


Árboles de decisiónComparación de reglas de divisiónGanancia de informaciónSesgado hacia atributos con muchos valores diferentes.Criterio de proporción de gananciaTiende a preferir particiones poco balanceadas(con una partición mucho más grande que las otras)Índice de GiniFunciona peor cuando hay muchas clases y tiende afavorecer particiones de tamaño y pureza similares.Ninguna regla de división essignificativamente mejor que los demás.30Árboles de decisiónOtros aspectos de interés¿Árboles binarios o n-arios?(CART binario; C4.5 n-ario para atributos categóricos,binario para atributos continuos).Manejo de atributos continuos(selección del conjunto de tests candidatos pararamificar el árbol, p.ej. discretización previa).Manejo de valores nulos(cómo se tratan los valores nulos/desconocidos).31


Árboles de decisiónEjemplo32Árboles de decisiónEjemploPara el cálculo de las entropías…n log 2(n)1 0,0002 1,0003 1,5854 2,0005 2,3226 2,5857 2,8078 3,0009 3,17010 3,32211 3,45912 3,58513 3,70014 3,80715 3,90716 4,00033


Árboles de decisiónEjemploCálculo de las entropías E(+,-)E(+,-) = – P(+) log 2 P(+) – P(-) log 2 P(-)E(+,-) 0- 1- 2- 3- 4- 5-0+ 0,000 0,000 0,000 0,000 0,0001+ 0,000 1,000 0,918 0,811 0,722 0,6502+ 0,000 0,918 1,000 0,971 0,918 0,8633+ 0,000 0,811 0,971 1,000 0,985 0,9544+ 0,000 0,722 0,918 0,985 1,000 0,9915+ 0,000 0,650 0,863 0,954 0,991 1,0006+ 0,000 0,592 0,811 0,918 0,971 0,9947+ 0,000 0,544 0,764 0,881 0,946 0,9808+ 0,000 0,503 0,722 0,845 0,918 0,9619+ 0,000 0,469 0,684 0,811 0,890 0,94034Árboles de decisiónEjemploRaíz del árbol (9+,5-)Info(D) = E(9+,5-) = 0.940 bitsRamificando por el atributo “Outlook”Info Outlook (D)= (5/14) Info(D sunny ) + (4/14) Info(D overcast ) + (5/14) Info(D rainy= (5/14) E(2+,3-) + (4/14) E(4+,0-) + (5/14) E(3+,2-)= (5/14) · 0.971 + (4/14) · 0 + (5/14) · 0.971 = 0.693 bitsrainy )Gain(Outlook) = Info(D)- Info Outlook (D) = 0.247 bits35


Árboles de decisiónEjemploRaíz del árbol (9+,5-)Info(D) = E(9+,5-) = 0.940 bitsRamificando por el atributo “Temperature”Info Temperature (D)= (4/14) Info(D cool ) + (6/14) Info(D mild ) + (4/14) Info(D hot= (4/14) E(3+,1-) + (6/14) E(4+,2-) + (4/14) E(2+,2-)hot )= (4/14) · 0.811 + (6/14) · 0.918 + (4/14) · 1 = 0.911 bitsGain(Temperature) = Info(D)- Info Temperature (D) = 0.029 bits36Árboles de decisiónEjemploRaíz del árbol (9+,5-)Info(D) = E(9+,5-) = 0.940 bitsRamificando por el atributo “Humidity”Info Humidity (D)= (7/14) Info(D high ) + (7/14) Info= (7/14) E(3+,4-) + (7/14) E(6+,1-)Info(D normal )= (7/14) · 0.985 + (7/14) · 0.592 = 0.789 bitsGain(Humidity) = Info(D)- Info Humidity (D) = 0.151 bits37


Árboles de decisiónEjemploRaíz del árbol (9+,5-)Info(D) = E(9+,5-) = 0.940 bitsRamificando por el atributo “Windy”Info Windy (D)= (8/14) Info(D false ) + (6/14) Info(D true= (8/14) E(6+,2-) + (6/14) E(3+,3-)true )= (8/14) · 0.811 + (6/14) · 1 = 0.892 bitsGain(Windy) = Info(D)- Info Windy (D) = 0.048 bits38Árboles de decisiónEjemploRaíz del árbol (9+,5-)Gain(Outlook) = Info(D)- Info Outlook (D) = 0.247 bitsGain(Temperature) = Info(D)- Info Temperature (D) = 0.029 bitsGain(Humidity) = Info(D)- Info Humidity (D) = 0.151 bitsGain(Windy) = Info(D)- Info Windy (D) = 0.048 bitsPor tanto, ramificamos usando el atributo “Outlook”…39


Árboles de decisiónEjemploNuestro árbol de decisión está así ahora mismo…… pero aún tenemos que seguir construyéndolo.40Árboles de decisiónEjemploNodo “Outlook = sunny” (2+,3-)Info(D s ) = E(2+,3-) = 0.971Temperature: { (0+,2-), (1+,1-), (1+,0-) }Gain(Temperature) = Info(D s ) - Info Temperature (D s ) = 0.571 bitsHumidity: { (0+,3-), (2+,0-) }Gain(Humidity) = Info(D s ) - Info Humidity (D s ) = 0.971 bitsWindy: { (1+,2-), (1+,1-) }Gain(Windy) = Info(D s ) - Info Windy (D s ) = 0.019 bits41


Árboles de decisiónEjemploNodo “Outlook = overcast” (4+,0-)Info(Do ) = E(4+,0-) = 0.000Creamos un nodo hoja directamente,ya que todos los ejemplos son de la misma clase.42Árboles de decisiónEjemploNodo “Outlook = rainy” (3+,2-)Info(D r ) = E(3+,2-) = 0.971Temperature: { (0+,0-), (2+,1-), (1+,1-) }Gain(Temperature) = Info(D r ) - Info Temperature (D r ) < 0Humidity: {(2+,1-), (1+,1-) }Gain(Humidity) = Info(D r ) - Info Humidity (D r ) < 0Windy: { (0+,2-), (3+,0-) }Gain(Windy) = Info(D r ) - Info Windy (D r ) = 0.971 bits43


Árboles de decisiónEjemploResultado final…44Árboles de decisiónEl problema del sobreaprendizajeLos árboles de decisión tienden a ajustarse demasiadoal conjunto de entrenamiento utilizado para construirel árbol: Demasiadas ramas del árbol reflejan anomalíasdel conjunto de entrenamiento (ruido y outliers). El árbol resultante es más complejo de lo quedebería ser. Como consecuencia, disminuye la precisióndel clasificador de cara a situaciones nuevas.45


Árboles de decisiónEl problema del sobreaprendizajeUna solución al problema del sobreaprendizaje:Técnicas de podaUna vez construido el árbol, se van eliminando ramas:utilizando un conjunto de datos distinto al conjunto deentrenamiento [CART: Poda por coste-complejidad] ono [C4.5: Poda pesimista].46Árboles de decisiónEl problema del sobreaprendizajeTécnicas de podaPara podar un árbol de decisión, se sustituye…un subárbol por un nodo hoja (correspondiente a laclase más frecuente en el subárbol), o bien,un subárbol por otro subárbol contenido en el primero.Por tanto, se introducirán errores de clasificaciónadicionales en el conjunto de entrenamiento (aunque,si la poda se realiza correctamente, la precisión delclasificador aumentará).47


Árboles de decisiónVentajas de los árboles de decisiónFácil interpretación (cuando son pequeños).Rapidez para clasificar nuevos datos.Precisión comparable a otras técnicas.48Árboles de decisiónAlgoritmos eficientes y escalablesPUBLIC (Rastogi& Shim, VLDB’1998)integra la poda en el proceso de construcción del árbolRainForest (Gehrkeet al., VLDB’1998)separa lo que determina la escalabilidad del algoritmoBOAT (Gehrkeet al., PODS’1999)sólo necesita recorrer 2 veces el conjunto de datos49


Árboles de decisiónDEMOTDIDTTop-Down Induction of Decision Trees50ReglasExisten muchas formas de construirmodelos de clasificación basados en reglas: A partir de un árbol de decisión. Diseñando algoritmos específicosde inducción de reglas: Metodología STAR de Michalski Listas de decisión (p.ej. RIPPER). A partir de reglas de asociación.51


ReglasA partir de un árbol de decisión¿Por qué?Las reglas son más fáciles de interpretarque un árbol de decisión complejo.¿Cómo?Se crea una regla para cada hoja del árbol.Las reglas resultantes son mutuamente excluyentes y exhaustivas.52ReglasA partir de un árbol de decisiónnostudent?age?4031..40yesYESfaircredit rating?excellentIF (age


ReglasA partir de un árbol de decisiónLas reglas que se derivan de un árbol se puedensimplificar (generalizar), aunque entonces:Dejan de ser mutuamente excluyentes: varias reglaspueden ser válidas para un mismo ejemplo (hay queestablecer un orden entre las reglas [lista de decisión]o realizar una votación).Dejan de ser exhaustivas: puede que ninguna reglasea aplicable a un ejemplo concreto (hace falta incluiruna clase por defecto).54ReglasInducción de reglas(directamente a partir del conjunto de entrenamiento)p.ej. . LISTAS DE DECISIÓN¿Cómo?Las reglas se aprenden de una en una.Cada vez que se escoge una regla, se eliminan delconjunto de entrenamiento todos los casos cubiertospor la regla seleccionada.El proceso se repite iterativamente hasta que secumpla alguna condición de parada.55


Reglas(i) Original Data (ii) Step 1R1R1(iii) Step 2(iv) Step 3R256ReglasInducción de reglas(directamente a partir del conjunto de entrenamiento)p.ej. . LISTAS DE DECISIÓN¿Cómo se aprende una regla?Se empieza con la regla más general posible.Se le van añadiendo antecedentes a la reglapara maximizar la “calidad” de la regla(cobertura y precisión).57


ReglasInducción de reglasA3=1&&A1=2&&A8=5A3=1&&A1=2A3=1EjemplospositivosEjemplosnegativos58ReglasInducción de reglas(directamente a partir del conjunto de entrenamiento)p.ej. . LISTAS DE DECISIÓNAlgoritmos de inducción de reglas FOIL (Quinlan, Machine Learning, 1990)CN2 (Clark & Boswell, EWSL’1991)RIPPER (Cohen, ICML’1995)PNrule (Joshi, Agarwal & Kumar, SIGMOD’2001)59


ReglasDEMOCN2Metodología STAR: Unordered CN2Listas de decisión: Ordered CN2RIPPERRepeated Incremental Pruning to Produce Error Reduction(basado en IREP, Iterative Reduced Error Pruning)60EvaluaciónLa evaluación de un algoritmo de construcción de modelos declasificación se puede realizar atendiendo a distintos aspectos:Precisión(porcentaje de casos clasificados correctamente).Eficiencia(tiempo necesario para construir/usar el clasificador).Robustez(frente a ruido y valores nulos)Escalabilidad(utilidad en grandes bases de datos)Interpretabilidad(el clasificador, ¿es sólo una caja negra?)Complejidad(del modelo de clasificación) → Navaja de Occam. 61


EvaluaciónMétricasCómo evaluar la “calidad”de un modelo de clasificación.MétodosCómo estimar, de forma fiable,la calidad de un modelo.ComparaciónCómo comparar el rendimiento relativode dos modelos de clasificación alternativos62Evaluación: MétricasMatriz de confusión(confusionmatrix)PredicciónC PC NClase realC PC NTP: TruepositiveFP: FalsepositiveC P C N63FN: FalsenegativeTN: TruenegativePrecisión del clasificadoraccuracy = (TP+TN)/(TP+TN+FP+FN)63


Evaluación: MétricasLimitaciones de la precisión (“accuracy”) :Supongamos un problema con 2 clases no equilibradas: 9990 ejemplos de la clase 1 10 ejemplos de la clase 2Si el modelo de clasificación siempre dice que losejemplos son de la clase 1, su precisión es9990/10000 = 99.9%Totalmente engañosa, ya que nuncadetectaremos ningún ejemplo de la clase 2. 64Evaluación: MétricasAlternativa: Matriz de costesC(i|j)C PPredicciónC NClase realC P C(P|P) C(N|P)C P C(P|N) C(N|N)El coste de clasificación será proporcionala la precisión del clasificador sólo si∀i,j: i ≠ jC(i|j) = C(j|i)C(i|i) = C(j|j)65


Evaluación: MétricasMedidas “cost-sensitive”PredicciónC PC Nprecision = TP/(TP+FP)Clase realC PTP: TruepositiveFN: FalsenegativeC NFP: FalseTN: Truepositive negativeTrue positive recognition raterecall = sensitivity = TP/P = TP/(TP+FN)True negative recognition ratespecificity = TN/N = TN/(TN+FP)66Evaluación: MétricasMedidas “cost-sensitive”PredicciónC PC NF-measureClase realMedia armónica de precision y recall:C PTP: TruepositiveFN: FalsenegativeC NFP: FalseTN: Truepositive negativeF = 2*precision*recall / (precision+recall)F = 2TP / (2TP+FP+FN)67


Evaluación: MétricasMedidas “cost-sensitive”PredicciónPredicciónC PC NC PC NRealC P TP FNC N FP TNRealC P TP FNC N FP TNAccuracyRecallPredicciónPredicciónC PC NC PC NRealC P TP FNC N FP TNRealC P TP FNC N FP TNPrecisionF-measure68Evaluación: MétodosPara evaluar la precisión de un modelo de clasificaciónnunca debemos utilizar el conjunto de entrenamiento(lo que nos daría el “error de resustitución” ” delclasificador), sino un conjunto de pruebaindependiente:Por ejemplo, podríamos reservar 2/3 de los ejemplosdisponibles para construir el clasificador y el 1/3restante lo utilizaríamos de conjunto de prueba paraestimar la precisión del clasificador.69


Evaluación: MétodosValidación cruzada[k-CV: k-foldCross-Validation]Se divide aleatoriamente el conjunto de datos en ksubconjuntos de intersección vacía (más o menos delmismo tamaño). Típicamente, k=10.En la iteración i, se usa el subconjunto i comoconjunto de prueba y los k-1 restantes como conjuntode entrenamiento.Como medida de evaluación del método declasificación se toma la media aritmética de las kiteraciones realizadas.70Evaluación: MétodosValidación cruzadaVariantes de la validación cruzada“Leaveone out”:Se realiza una validación cruzada con k particiones delconjunto de datos, donde k coincide con el número deejemplos disponibles.Validación cruzada estratificada:Las particiones se realizan intentando mantener entodas ellas la misma proporción de clases que apareceen el conjunto de datos completo.71


Evaluación: MétodosBootstrapingMuestreo uniforme con reemplazo de los ejemplosdisponibles (esto es, una vez que se escoge unejemplo, se vuelve a dejar en el conjunto deentrenamiento y puede que se vuelva a escoger).OTA: : Método utilizado en “ensembles”.NOTA72Evaluación: MétodosBootstraping0.632 bootstrapDado un conjunto de d datos, se toman d muestras.Los datos que no se escojan formarán parte delconjunto de prueba.En torno al 63.2% de las muestras estarán en el“bootstrap” (el conjunto de entrenamiento) y el 36.8%caerá en el conjunto de prueba, ya que (1-1/d) d ≈ e -1= 0.368Si repetimos el proceso k veces, tendremos:kacc ( M ) = ∑(0.632×acc(Mi)test _ set+ 0.368×acc(Mi)train _i=1set)73


Evaluación: ComparaciónPrecisión [accuracy]10090Precisión del clasificador80706050403020audiologycarchesshayesrothlenseslungcancermushroomnurserysoybeansplicetictactoetitanicvote100ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes Por defecto74Evaluación: ComparaciónComplejidad del clasificador1000Complejidad del clasificador10010audiologycarchesshayesrothlenseslungcancermushroomnurserysoybeansplicetictactoetitanicvote1ART C4.5 AQR CN2-STAR CN2-DL RIPPER75


Evaluación: ComparaciónTiempo de entrenamiento1000000Tiempo de entrenamiento (ms)10000010000100010010audiologycarchesshayesrothlenseslungcancermushroomnurserysoybeansplicetictactoetitanicvote1ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes76Evaluación: ComparaciónOperaciones de E/S: Recorridos1000000Operaciones de E/S (recorridos)10000010000100010010audiologycarchesshayesrothlenseslungcancermushroomnurserysoybeansplicetictactoetitanicvote1ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes77


Evaluación: ComparaciónOperaciones de E/S: Registros1000000000Operaciones de E/S (registros)10000000010000000100000010000010000100010010audiologycarchesshayesrothlenseslungcancermushroomnurserysoybeansplicetictactoetitanicvote1ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes78Evaluación: ComparaciónOperaciones de E/S: Páginas de disco1000000000100000000Operaciones de E/S (páginas)100000001000000100000100001000100ARTC4.5CN2 - STARCN2 - DLRIPPERNaive Bayes1011 2 4 8 16 32 64 128 256 512 1024Tamaño de página79


Evaluación: ComparaciónCurvas ROCReceiverOperatingCharacteristicsTPR = TP/(TP+FN) Eje vertical: “true positive rate”FPR = FP/(FP+TN) Eje horizontal: “false positive rate” 80Evaluación: ComparaciónCurvas ROCDesarrolladas en los años 50 para analizar señales conruido: caracterizar el compromiso entre aciertos yfalsas alarmas.Permiten comparar visualmente distintos modelos declasificación.El área que queda bajo la curva es una medida de laprecisión [accuracy] del clasificador: Cuanto más cerca estemos de la diagonal (áreacercana a 0.5), menos preciso será el modelo. Un modelo “perfecto” tendrá área 1. 81


Evaluación: ComparaciónCurvas ROCNingún modelo es consistentemente mejor que el otro:M 1 es mejor para FPR bajos, M 2 para FPR altos.82Evaluación: ComparaciónCurvas ROC¿Cómo se construye la curva ROC?Se usa un clasificador que prediga la probabilidad deque un ejemplo E pertenezca a la clase positiva P(+|E)Se ordenan los ejemplos en orden decreciente delvalor estimado P(+|E)Se aplica un umbral para cada valor distinto deP(+|E), para el que se cuenta el número de TP, FP,TN y FN.TPR = TP/(TP+FN)FPR = FP/(FP+TN)83


Evaluación: ComparaciónCurvas ROCEjemplo P(+|E) Clase1 0.95 +2 0.93 +3 0.87 -4 0.85 -5 0.85 -6 0.85 +7 0.76 -8 0.53 +9 0.43 -10 0.25 +Clase + - + - - - + - + +0.25 0.43 0.53 0.76 0.85 0.85 0.85 0.87 0.93 0.95 1.00TP 5 4 4 3 3 3 3 2 2 1 0FP 5 5 4 4 3 2 1 1 0 0 0TN 0 0 1 1 2 3 4 4 5 5 5FN 0 1 1 2 2 2 2 3 3 4 5TPR 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 0FPR 1 1 0.8 0.8 0.6 0.4 0.2 0.2 0 0 084Técnicas de regresiónLa predicción (numérica) es…Similar a la clasificación: Se construye un modelo a partir de un conjunto deentrenamiento. Se utiliza el modelo para predecir el valor de unavariable (continua u ordenada).Diferente a la clasificación: El modelo define una función continua.Método más empleado: Regresión85


Técnicas de regresiónLas técnicas de regresión modelan la relación entreuna o más variables independiente (predictores)y una variable dependiente (variable de respuesta).Métodos de regresiónRegresión linealRegresión no linealÁrboles de regresión (p.ej. CART)…86Técnicas de regresiónRegresión lineal simpleUna única variable independiente:y = w 0 + w 1 xdonde w 0 (desplazamientodesplazamiento) y w 1 (pendientependiente)son los coeficientes de regresión.Método de los mínimos cuadrados(estimala línea recta que mejor se ajusta a los datos):w = y −w x0 1w| D|∑( xii=1=| D|1∑i=1− x)(y( xii− x)− y)287


Técnicas de regresiónRegresión lineal simple88Técnicas de regresiónRegresión lineal simpleEl método de los mínimos cuadrados minimiza la sumade los cuadrados de los residuos ε i (las diferenciasentre las predicciones y los valores observados).89


Técnicas de regresiónRegresión lineal simple¡OJO! Al utilizar regresión lineal, la recta y=f(x) que seobtiene es distinta a la que obtenemos si x=f(y). 90Técnicas de regresiónRegresión lineal múltipleVarias variables independientes:y = w 0 + w 1 x 1 + w 2 x 2 + …Resoluble por métodos numéricos de optimización.Muchas funciones no lineales pueden transformarse enuna expresión lineal.p.ej. Un modelo de regresión polinomialy = w 0 + w 1 x + w 2 x 2 + w 3 x 3puede transformarse en un modelo linealdefiniendo las variables x 2 = x 2 , x 3 = x 3 :y = w 0 + w 1 x + w 2 x 2 + w 3 x 391


Técnicas de regresiónRegresión linealCondiciones necesarias para aplicar regresión lineal:Obviamente, la muestra ha de ser aleatoria.El tipo de dependencia descrita ha de ser lineal.Fijado un valor de la(s) variable(s) independiente(s),la variable dependiente se distribuye según unadistribución normal.Los errores han de tener la misma varianza(nube de puntos homogénea).92Técnicas de regresiónRegresión lineal simple1. Mediante un diagrama de dispersión, comprobamosvisualmente si existe una relación lineal entre lasvariables X (predictorpredictor) e Y (respuesta):93


Técnicas de regresiónRegresión lineal simple2. Cuantificamos la relación construyendo la recta queresume la dependencia y damos una medida de cómose ajusta la recta a los datos (correlación):94Técnicas de regresiónCoeficiente de correlaciónr=+1r=-1Dependencia lineal total en sentido positivo(cuanto mayor es X, mayor es Y).Dependencia lineal total en sentido negativo(cuanto mayor es X, menor es Y ).95


Técnicas de regresiónCoeficiente de correlaciónr > 0r < 0r = 0Existe una dependencia positiva.Cuanto más se acerque a 1, mayor es ésta.Existe una dependencia negativa.Cuanto más se acerque a -1, mayor será.No podemos afirmar nada.96Técnicas de regresiónCoeficiente de correlación97


Técnicas de regresiónCoeficiente de correlación98Técnicas de regresiónCoeficiente de correlaciónEl cuarteto de Anscombe(4 conjuntos de datos con el mismo coeficiente de correlación) 99


Técnicas de regresiónCoeficiente de correlaciónVentaja de rNo depende de las unidades usadas en la medición.Limitaciones de rSólo mide dependencia lineal entre las variables.¡OJO! La correlación no implica causalidad…100Técnicas de regresiónCoeficiente de correlación"Correlation is not causation but it sure is a hint."-- Edward Tufte101


Técnicas de regresiónMás técnicas de predicción…Forecastinghttp://en.wikipedia.org/wiki/Forecasting102BibliografíaPang-NingTan,Michael Steinbach& Vipin Kumar:Introduction to Data MiningAddison-WesleyWesley, 2006.ISBN 0321321367 [capítulos 4&5]Jiawei Han& Micheline Kamber:Data Mining:Concepts and TechniquesMorgan Kaufmann, 2006.ISBN 1558609016 [capítulo 6] 103


BibliografíaF. <strong>Berzal</strong>, J.C. Cubero, D. Sánchez, and J.M. Serrano: ART: A hybrid classificationmethod. . Machine Learning, 2004 L. Breiman, J. Friedman, R. Olshen, and C. Stone. Classification and Regression Trees.Wadsworth International Group, 1984.W. Cohen. Fast effective rule induction. . ICML'95 R. O. Duda, P. E. Hart, and D. G. Stork. Pattern Classification, , 2ed. John Wiley and Sons,2001U. M. Fayyad. Branching on attribute values in decision tree generation. . AAAI’94 Y. Freund and R. E. Schapire. A decision-theoretic generalization of on-line learningand an application to boosting. . J. Computer and System Sciences, 1997. J. Gehrke, V. Gant, R. Ramakrishnan, and W.-Y.Loh, BOAT -- Optimistic Decision TreeConstruction. . SIGMOD'99. J. Gehrke, R. Ramakrishnan, and V. Ganti. Rainforest: A framework for fast decisiontree construction of large datasets. . VLDB’98.104Bibliografía T.-S. Lim, W.-Y. Loh, and Y.-S. Shih. A comparison of prediction accuracy, complexity,and training time of thirty-three three old and new classification algorithms. MachineLearning, 2000.S. K. Murthy, Automatic Construction of Decision Trees from Data: A Multi-Disciplinary Survey, , Data Mining and Knowledge Discovery 2(4): 345-389, 389, 1998J. R. Quinlan. Induction of decision trees. Machine Learning, , 1:81-106, 106, 1986.J. R. Quinlan and R. M. Cameron-Jones.FOIL: A midterm report. . ECML’93.J. R. Quinlan. C4.5: Programs for Machine Learning. . Morgan Kaufmann, 1993.J. R. Quinlan. Bagging, boosting, and c4.5. . AAAI'96.R. Rastogi and K. Shim. Public: A decision tree classifier that integrates building andpruning. . VLDB’98H. Yu, J. Yang, and J. Han. Classifying large data sets using SVM with hierarchicalclusters. . KDD'03.105


ApéndiceOtros modelos de clasificaciónModelos basados en reglas de asociación¿Por qué?Buscando entre las mejores reglas de asociación, sesuperan algunas limitaciones de los árboles de decisión(p.ej. sólo consideran los atributos de uno en uno).106ApéndiceOtros modelos de clasificaciónModelos basados en reglas de asociaciónModelos de clasificación parcialBayardo, KDD’1997Modelos “asociativos” de clasificaciónCBA (LiuLiu, Hsu & Ma, KDD’1998)RCBT (Conget al., SIGMOD’2005)Patrones emergentesCAEP (Donget al., ICDS’1999)Árboles de reglasWang et al., KDD’2000Reglas con excepcionesLiu et al., AAAI’2000107


ApéndiceOtros modelos de clasificaciónModelos basados en reglas de asociaciónCMARClassification based on Multiple Association Rules Li, Han & Pei, ICDM’2001CPARClassification based on Predictive Association Rules Yin & Han, SDM’2003ARTAssociation Rule Trees108 <strong>Berzal</strong> et al., Machine Learning, 2004ApéndiceOtros modelos de clasificaciónModelos basados en reglas de asociaciónART [AssociationRule Trees]109


ApéndiceOtros modelos de clasificaciónModelos basados en reglas de asociaciónARTXY00 else 01TDIDTY0 10 1ZXX010 1 0 1010Z1Z0 1 0 10 1 0 1110ApéndiceOtros modelos de clasificaciónDEMOARTAssociation Rule Trees 111


ApéndiceOtros modelos de clasificaciónClasificadores bayesianosNaïve BayesAplicando el Teorema de Bayes, se maximiza:P(C | X ) = P(X|C ) P ( C )iiiP(X | C i)=VentajaBasta con recorrer los datos una sola vez.Desventajasn∏ P(xk = 1| C i)=P(xInterpretabilidad del modelo.k| C i)× P(x| C i)× ... × P(xSupone que las variables son independientes.12n| C i)112ApéndiceOtros modelos de clasificaciónClasificadores bayesianosRedes BayesianasRepresentan mediante un grafo dirigido acíclicodependencias entre variables, especificando susdistribuciones de probabilidad conjuntas.Nodos: VariablesEnlaces: DependenciasXZYP113


ApéndiceOtros modelos de clasificaciónClasificadores bayesianosRedes BayesianasFamilyHistory (FH)Smoker (S)CPT [Conditional Probability Table]para la variable LungCancer:P(LC|...) (FH,S) (FH, ~S) (~FH,S) (~FH, ~S)LC 0.8 0.5 0.7 0.1~ LC 0.2 0.5 0.3 0.9Muestra la probabilidad condicional deque alguien desarrolle cáncer de pulmónLungCancer(LC)PositiveXRayEmphysemaDyspneapara combinación de las variables que lo “causan”. 114ApéndiceOtros modelos de clasificaciónClasificadores bayesianosRedes BayesianasEntrenamiento de las redes bayesianas: Dada la estructura de la red, calcular CPTs(sencillo, como en Naïve Bayes).Dada la estructura de la red, con algunas variables“ocultas” (desconocidas), buscar una configuraciónadecuada de la red que encaje con nuestro conjunto deentrenamiento (usando técnicas de optimización como elgradiente descendente).Dadas las variables observables, determinar latopología óptima de la red (muy ineficiente).115


ApéndiceOtros modelos de clasificaciónRedes neuronalesp.ej. Backpropagation Como “aproximadoresuniversales”,pueden aplicarse para predecir el valor de un atributo(tanto nominal como numérico).Ejemplo de modelo predictivo pero no descriptivo(podemos verlo como una caja negra). 116ApéndiceOtros modelos de clasificaciónSVMs [SupportVector Machines]xxxxxxxxxooo oo o ooxooooo117


ApéndiceOtros modelos de clasificaciónSVMs [SupportVector Machines]118ApéndiceOtros modelos de clasificaciónSVMs [SupportVector Machines]VentajasPrecisión generalmente alta.Robustez frente a ruido.DesventajasCostosos de entrenar(eficiencia y escalabilidad).Difíciles de interpretar(basados en transformaciones matemáticas paraconseguir que las clases sean linealmente separables). 119


ApéndiceOtros modelos de clasificaciónClasificadores basados en casos[lazylearners]Almacenan el conjunto de entrenamiento (o parte de él)y lo utilizan directamente para clasificar nuevos datos.Ejemplos k-NN (k Nearest Neighbors)Razonamiento basado en casos (CBR)120ApéndiceOtros modelos de clasificaciónClasificadores basados en casosk-NNX X X(a) 1-nearest neighbor (b) 2-nearest neighbor (c) 3-nearest neighborSe escoge la clase más común entre los k vecinos más cercanos:k demasiado pequeño→ Sensible a ruido.k demasiado grande→ El vecindario puede incluir puntos de otras clases.121


ApéndiceOtros modelos de clasificación“Ensembles”Combinan varios modeloscon el objetivo de mejorarla precisión final del clasificador.Bagging: : Votación por mayoría.Varios clasificadores diferentes votan para decidir laclase de un caso de prueba (usa bootstrapping).Boosting: : Votación ponderada.Los clasificadores tienen distintos pesos en lavotación (en función de su precisión), vg: AdaBoost. 122

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!