Sei sulla pagina 1di 62

Clasificacin y prediccin

Fernando Berzal, berzal@acm.org

Clasificacin y prediccin
 Introduccin
 Uso y construccin de modelos de clasificacin
 Evaluacin de la precisin de un modelo de clasificacin
 El problema del sobreaprendizaje
 Modelos de clasificacin
 rboles de decisin
 Induccin de reglas
 Evaluacin
 Mtricas
 Mtodos de evaluacin
 Tcnicas de regresin
 Apndice: Otros modelos de clasificacin
1
Introduccin
Clasificacin vs. Prediccin

 Clasificacin:
Para predecir el valor de un atributo categrico
(discreto o nominal).

 Prediccin:
Para modelar funciones que toman valores continuos
(esto es, predecir valores numricos desconocidos).

Introduccin
Aplicaciones

 Concesin de crditos

 Campaas de marketing dirigido

 Diagnstico mdico

 Deteccin de fraudes


3
Introduccin
Construccin del modelo
 El conjunto de datos utilizado para
construir el modelo de clasificacin
se denomina conjunto de entrenamiento.
entrenamiento.
 Cada caso/tupla
caso/tupla/muestra
/muestra corresponde a una clase
predeterminada: los casos de entrenamiento vienen
etiquetados por su atributo de clase.

Uso del modelo


 El modelo construido a partir del conjunto de
entrenamiento se utiliza para clasificar nuevos datos.

Introduccin
Aprendizaje
Supervisado vs. No Supervisado

 Aprendizaje supervisado (clasificacin


clasificacin):
):
Los casos del conjunto de entrenamiento aparecen
etiquetados con la clase a la que corresponden.

 Aprendizaje no supervisado (clustering


clustering)) :
No se conocen las clases de los casos del conjunto de
entrenamiento (ni siquiera su existencia).

5
Introduccin
Tid Attrib1 Attrib2 Attrib3 Class
1 Yes Large 125K No
2 No Medium 100K No
3 No Small 70K No
4 Yes Medium 120K No
5 No Large 95K Yes
6 No Medium 60K No
7 Yes Large 220K No
8 No Small 85K Yes
9 No Medium 75K No
10 No Small 90K Yes
10

Tid Attrib1 Attrib2 Attrib3 Class


11 No Small 55K ?
12 Yes Medium 80K ?
13 Yes Large 110K ?
14 No Small 95K ?
15 No Large 67K ?
10

Introduccin
Estimacin de la precisin del modelo

Antes de construir el modelo de clasificacin,


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
Introduccin
Estimacin de la precisin del modelo

 Una vez construido el modelo a partir del conjunto de


entrenamiento, se usa dicho modelo para clasificar los
datos del conjunto de prueba:
 Comparando los casos etiquetados del conjunto de
prueba con el resultado de aplicar el modelo,
se obtiene un porcentaje de clasificacin.
clasificacin.
 Si la precisin del clasificador es aceptable,
podremos utilizar el modelo para clasificar nuevos
casos (de los que desconocemos realmente su clase).

Introduccin
El problema del sobreaprendizaje

 Cuanto mayor sea su complejidad, los modelos de


clasificacin tienden a ajustarse ms al conjunto de
entrenamiento utilizado en su construccin
(sobreaprendizaje
sobreaprendizaje), ), lo que los hace menos tiles
para clasificar nuevos datos.

 En consecuencia, el conjunto de prueba debe ser


siempre independiente del conjunto de entrenamiento.

 El error de clasificacin en el conjunto de


entrenamiento NO es un buen estimador de la
precisin del clasificador. 9
Introduccin
Sobreaprendizaje
debido a la complejidad del clasificador

10

Introduccin
Sobreaprendizaje
debido a la presencia de ruido en los datos:

11
Introduccin
Sobreaprendizaje
debido a la escasez de muestras:

12

Modelos de clasificacin
Se pueden construir distintos tipos de clasificadores:

 rboles de decisin
 Reglas (p.ej. listas de decisin)
 Clasificadores basados en casos
 Clasificadores paramtricos
 Redes neuronales
 Redes bayesianas
 SVMs (Support Vector Machines)


13
rboles de decisin

Refund Marital Taxable


Status Income Cheat

Refund No Married 80K ?


10

Yes No

NO MarSt
Single, Married
Divorced

TaxInc NO
< 80K > 80K

NO YES

14

rboles de decisin

Refund Marital Taxable


Status Income Cheat

Refund No Married 80K ?


10

Yes No

NO MarSt
Single, Married
Divorced

TaxInc NO
< 80K > 80K

NO YES

15
rboles de decisin

Refund Marital Taxable


Status Income Cheat

Refund No Married 80K NO


10

Yes No

NO MarSt
Single, Married
Divorced
Clase NO
NO
TaxInc NO
< 80K > 80K

NO YES

16

rboles de decisin

Tid Refund Marital Taxable


Status Income Cheat
Refund
1 Yes Single 125K No
Yes No
2 No Married 100K No
3 No Single 70K No MarSt
NO
4 Yes Married 120K No Single, Married
5 No Divorced 95K Yes Divorced
6 No Married 60K No
TaxInc NO
7 Yes Divorced 220K No
< 80K > 80K
8 No Single 85K Yes
9 No Married 75K No
Yes
NO YES
10 No Single 90K
10

Conjunto de Modelo de clasificacin:


17
entrenamiento rbol de decisin 17
rboles de decisin
Podemos construir distintos rboles:
cul es mejor?
Tid Refund Marital Taxable
Status Income Cheat
MarSt Single,
1 Yes Single 125K No Divorced
Married
2 No Married 100K No
3 No Single 70K No NO Refund
4 Yes Married 120K No
Yes No
5 No Divorced 95K Yes
6 No Married 60K No
NO TaxInc
7 Yes Divorced 220K No
< 80K > 80K
8 No Single 85K Yes
9 No Married 75K No
Yes
NO YES
10 No Single 90K
10

Conjunto de Modelo de clasificacin:


18
entrenamiento rbol de decisin 18

rboles de decisin
Construccin de rboles de decisin

 Estrategia greedy (problema NP)

 Algoritmo divide y vencers:


 Comenzamos con todos los ejemplos de
entrenamiento en la raz del rbol de decisin.
 Los ejemplos se van dividiendo en funcin del
atributo que se seleccione para ramificar el rbol en
cada nodo.
 Los atributos que se usan para ramificar se eligen
en funcin de una heurstica (regla
(regla de divisin).
divisin). 19
rboles de decisin
Construccin de rboles de decisin

 Cundo se detiene la construccin del rbol de


decisin? Criterios de parada:
parada:

 Cuando todos los ejemplos que quedan pertenecen


a la misma clase (se aade una hoja al rbol con la
etiqueta de la clase).
 Cuando no quedan atributos por los que ramificar
(se aade una hoja etiquetada con la clase ms
frecuente en el nodo).
 Cuando no nos quedan datos que clasificar.
20

rboles de decisin
Construccin de rboles de decisin

 Qu heursticas se pueden utilizar para decidir cmo


ramificar el rbol?

Cul es mejor?

21
rboles de decisin
Construccin de rboles de decisin

 Qu heursticas se pueden utilizar para decidir cmo


ramificar el rbol?

La que nos proporciona nodos ms homogneos.


Necesitamos medir la impureza de un nodo.
22

rboles de decisin
Construccin de rboles de decisin

 Reglas de divisin
(heursticas para la seleccin de atributos):

 Ganancia de informacin (ID3, C4.5)

 ndice de Gini (CART, SLIQ, SPRINT)

Existen otras muchas reglas de divisin:


2, MDL (Minimum
(Minimum Description Length
Length))
23
rboles de decisin
Entropa m
Teora de la Informacin: Info( D) = pi log 2 ( pi )
i =1
C1 0 Entropa = 0
C2 6 = 0 log2 0 1 log2 1 = 0

C1 1 Entropa = 0.65
C2 5 = (1/6) log2 (1/6) (5/6) log2 (5/6)

C1 2 Entropa = 0.92
C2 4 = (2/6) log2 (2/6) (4/6) log2 (4/6)

C1 3 Entropa = 1
C2 3 = (1/2) log2 (1/2) (1/2) log2 (1/2)
24

rboles de decisin
Ganancia de informacin (ID3)
pi Estimacin de la probabilidad de que
un ejemplo de D pertenezca a la clase Ci

Entropa
(informacin necesaria para clasificar un ejemplo en D)

m
Info( D) = pi log 2 ( pi )
i =1

25
rboles de decisin
Ganancia de informacin (ID3)

Informacin necesaria para clasificar D despus de


usar el atributo A para dividir D en v particiones:
v | Dj |
Info A ( D) = I (D j )
j =1 |D|
Ganancia obtenida
al ramificar utilizando el atributo A:

Gain(A) = Info(D) Info A(D) 26

rboles de decisin
Criterio de proporcin de ganancia
(Gain Ratio, C4.5)

ID3 tiende a ramificar el rbol utilizando los atributos


que tengan ms valores diferentes,
por lo que se normaliza la ganancia de informacin
usando la entropa de la particin
(que ser mayor cuantas ms particiones pequeas haya):
v | Dj | | Dj |
SplitInfo A ( D) = log 2 ( )
j =1 |D| |D|
GainRatio(A) = Gain(A) / SplitInfo(A) 27
rboles de decisin
ndice de Gini n 2
(CART, SLIQ, SPRINT) gini ( D ) = 1 p j
Medida estadstica de impureza: j =1

C1 0 C1 1 C1 2 C1 3
C2 6 C2 5 C2 4 C2 3
Gini=0.000 Gini=0.278 Gini=0.444 Gini=0.500

 Para construir el rbol, elegimos el atributo que


proporciona la mayor reduccin de impureza

28

rboles de decisin
Comparacin de reglas de divisin
Para problemas con dos clases:

29
rboles de decisin
Comparacin de reglas de divisin

 Ganancia de informacin
Sesgado hacia atributos con muchos valores diferentes.
 Criterio de proporcin de ganancia
Tiende a preferir particiones poco balanceadas
(con una particin mucho ms grande que las otras)
 ndice de Gini
Funciona peor cuando hay muchas clases y tiende a
favorecer particiones de tamao y pureza similares.

Ninguna regla de divisin es


30
significativamente mejor que los dems.

rboles de decisin
Otros aspectos de inters

 rboles binarios o n-arios?


(CART binario; C4.5 n-ario para atributos categricos,
binario para atributos continuos).

 Manejo de atributos continuos


(seleccin del conjunto de tests candidatos para
ramificar el rbol, p.ej. discretizacin previa).

 Manejo de valores nulos


(cmo se tratan los valores nulos/desconocidos).
31
rboles de decisin
Ejemplo

32

rboles de decisin
Ejemplo n log2(n)
Para el clculo de las entropas 1 0,000
2 1,000
3 1,585
4 2,000
5 2,322
6 2,585
7 2,807
8 3,000
9 3,170
10 3,322
11 3,459
12 3,585
13 3,700
14 3,807
15 3,907
16 4,000 33
rboles de decisin
Ejemplo
Clculo de las entropas E(+,-
E(+,-)
E(+,--) = P(+) log2 P(+) P(-
E(+, P(-) log2 P(-
P(-)

E(+,-) 0- 1- 2- 3- 4- 5-
0+ 0,000 0,000 0,000 0,000 0,000
1+ 0,000 1,000 0,918 0,811 0,722 0,650
2+ 0,000 0,918 1,000 0,971 0,918 0,863
3+ 0,000 0,811 0,971 1,000 0,985 0,954
4+ 0,000 0,722 0,918 0,985 1,000 0,991
5+ 0,000 0,650 0,863 0,954 0,991 1,000
6+ 0,000 0,592 0,811 0,918 0,971 0,994
7+ 0,000 0,544 0,764 0,881 0,946 0,980
8+ 0,000 0,503 0,722 0,845 0,918 0,961
9+ 0,000 0,469 0,684 0,811 0,890 0,940
34

rboles de decisin
Ejemplo
Raz del rbol (9+,5-
(9+,5-)

Info(D)
Info (D) = E(9+,5-
E(9+,5-) = 0.940 bits

Ramificando por el atributo Outlook

InfoOutlook(D)
= (5/14) Info(
Info(Dsunny) + (4/14) Info(
Info(Dovercast) + (5/14) Info(
Info(Drainy)
= (5/14) E(2+,3-
E(2+,3-) + (4/14) E(4+,0-
E(4+,0-) + (5/14) E(3+,2-
E(3+,2-)
= (5/14) 0.971 + (4/14) 0 + (5/14) 0.971 = 0.693 bits

Gain(Outlook)
Gain Info(D) - InfoOutlook(D) = 0.247 bits
(Outlook) = Info(D)
35
rboles de decisin
Ejemplo
Raz del rbol (9+,5-
(9+,5-)

Info(D)
Info (D) = E(9+,5-
E(9+,5-) = 0.940 bits

Ramificando por el atributo Temperature


Temperature

InfoTemperature(D)
Info(Dcool) + (6/14) Info(
= (4/14) Info( Info(Dmild) + (4/14) Info(
Info(Dhot)
= (4/14) E(3+,1-
E(3+,1-) + (6/14) E(4+,2-
E(4+,2-) + (4/14) E(2+,2-
E(2+,2-)
= (4/14) 0.811 + (6/14) 0.918 + (4/14) 1 = 0.911 bits

Gain((Temperature)
Gain Temperature) = Info(D)
Info(D) - InfoTemperature(D) = 0.029 bits
36

rboles de decisin
Ejemplo
Raz del rbol (9+,5-
(9+,5-)

Info(D)
Info (D) = E(9+,5-
E(9+,5-) = 0.940 bits

Ramificando por el atributo Humidity


Humidity

InfoHumidity(D)
= (7/14) Info(
Info(Dhigh) + (7/14) Info(
Info(Dnormal)
= (7/14) E(3+,4-
E(3+,4-) + (7/14) E(6+,1-
E(6+,1-)
= (7/14) 0.985 + (7/14) 0.592 = 0.789 bits

Gain((Humidity)
Gain Info(D) - InfoHumidity(D) = 0.151 bits
Humidity) = Info(D)
37
rboles de decisin
Ejemplo
Raz del rbol (9+,5-
(9+,5-)

Info(D)
Info (D) = E(9+,5-
E(9+,5-) = 0.940 bits

Ramificando por el atributo Windy


Windy

InfoWindy(D)
Info(Dfalse) + (6/14) Info(
= (8/14) Info( Info(Dtrue)
= (8/14) E(6+,2-
E(6+,2-) + (6/14) E(3+,3-
E(3+,3-)
= (8/14) 0.811 + (6/14) 1 = 0.892 bits

Gain((Windy)
Gain Windy) = Info(D)
Info(D) - InfoWindy(D) = 0.048 bits
38

rboles de decisin
Ejemplo
Raz del rbol (9+,5-
(9+,5-)

Gain(Outlook)
Gain(Outlook) = Info(D)
Info(D) - InfoOutlook(D) = 0.247 bits

Gain((Temperature)
Gain Temperature) = Info(D)
Info(D) - InfoTemperature(D) = 0.029 bits

Gain((Humidity)
Gain Humidity) = Info(D)
Info(D) - InfoHumidity(D) = 0.151 bits

Gain((Windy)
Gain Info(D) - InfoWindy(D) = 0.048 bits
Windy) = Info(D)

Por tanto, ramificamos usando el atributo Outlook


39
rboles de decisin
Ejemplo
Nuestro rbol de decisin est as ahora mismo

pero an tenemos que seguir construyndolo.

40

rboles de decisin
Ejemplo
Nodo Outlook = sunny
sunny (2+,3-
(2+,3-)

Info((Ds) = E(2+,3-
Info E(2+,3-) = 0.971

Temperature: { (0+,2-
Temperature: (0+,2-), (1+,1-
(1+,1-), (1+,0-
(1+,0-) }
Gain((Temperature)
Gain Temperature) = Info(
Info(Ds) - InfoTemperature(Ds) = 0.571 bits

Humidity: { (0+,3-
Humidity: (0+,3-), (2+,0-
(2+,0-) }
Gain((Humidity)
Gain Info(Ds) - InfoHumidity(Ds) = 0.971 bits
Humidity) = Info(

Windy: { (1+,2-
Windy: (1+,2-), (1+,1-
(1+,1-) }
Gain((Windy)
Gain Windy) = Info(
Info(Ds) - InfoWindy(Ds) = 0.019 bits
41
rboles de decisin
Ejemplo
Nodo Outlook = overcast
overcast (4+,0
(4+,0--)

Info(D
Info (Do) = E(4+,0-
E(4+,0-) = 0.000

Creamos un nodo hoja directamente,


ya que todos los ejemplos son de la misma clase.

42

rboles de decisin
Ejemplo
Nodo Outlook = rainy
rainy (3+,2-
(3+,2-)

Info((Dr) = E(3+,2-
Info E(3+,2-) = 0.971

Temperature: { (0+,0-
Temperature: (0+,0-), (2+,1-
(2+,1-), (1+,1-
(1+,1-) }
Gain((Temperature)
Gain Temperature) = Info(
Info(Dr) - InfoTemperature(Dr) < 0

Humidity: {(2+,1
Humidity: {(2+,1--), (1+,1-
(1+,1-) }
Gain((Humidity)
Gain Info(Dr) - InfoHumidity(Dr) < 0
Humidity) = Info(

Windy: { (0+,2-
Windy: (0+,2-), (3+,0-
(3+,0-) }
Gain((Windy)
Gain Info(Dr) - InfoWindy(Dr) = 0.971 bits
Windy) = Info(
43
rboles de decisin
Ejemplo
Resultado final

44

rboles de decisin
El problema del sobreaprendizaje

Los rboles de decisin tienden a ajustarse demasiado


al conjunto de entrenamiento utilizado para construir
el rbol:
 Demasiadas ramas del rbol reflejan anomalas
del conjunto de entrenamiento (ruido y outliers).
 El rbol resultante es ms complejo de lo que
debera ser.
 Como consecuencia, disminuye la precisin
del clasificador de cara a situaciones nuevas.

45
rboles de decisin
El problema del sobreaprendizaje

Una solucin al problema del sobreaprendizaje:


Tcnicas de poda

Una vez construido el rbol, se van eliminando ramas:


utilizando un conjunto de datos distinto al conjunto de
entrenamiento [CART: Poda por coste-complejidad] o
no [C4.5: Poda pesimista].

46

rboles de decisin
El problema del sobreaprendizaje
Tcnicas de poda

Para podar un rbol de decisin, se sustituye


 un subrbol por un nodo hoja (correspondiente a la
clase ms frecuente en el subrbol), o bien,
 un subrbol por otro subrbol contenido en el primero.

Por tanto, se introducirn errores de clasificacin


adicionales en el conjunto de entrenamiento (aunque,
si la poda se realiza correctamente, la precisin del
clasificador aumentar). 47
rboles de decisin
Ventajas de los rboles de decisin

 Fcil interpretacin (cuando son pequeos).

 Rapidez para clasificar nuevos datos.

 Precisin comparable a otras tcnicas.

48

rboles de decisin
Algoritmos eficientes y escalables

 PUBLIC (Rastogi & Shim,


Shim, VLDB1998)
integra la poda en el proceso de construccin del rbol

 RainForest (Gehrke et al., VLDB1998)


separa lo que determina la escalabilidad del algoritmo

 BOAT (Gehrke et al., PODS1999)


slo necesita recorrer 2 veces el conjunto de datos

49
rboles de decisin
DEMO

TDIDT
Top-Down Induction of Decision Trees

50

Reglas

Existen muchas formas de construir


modelos de clasificacin basados en reglas:

 A partir de un rbol de decisin.

 Diseando algoritmos especficos


de induccin de reglas:
 Metodologa STAR de Michalski
 Listas de decisin (p.ej. RIPPER).

 A partir de reglas de asociacin.

51
Reglas
A partir de un rbol de decisin

Por qu?
Las reglas son ms fciles de interpretar
que un rbol de decisin complejo.

Cmo?
Se crea una regla para cada hoja del rbol.

Las reglas resultantes son


 mutuamente excluyentes y
 exhaustivas.
52

Reglas
A partir de un rbol de decisin
age?
<=30 >40
31..40

student? YES credit rating?

no yes fair excellent


IF (age<=30) AND (student=no)
THEN buys_computer = NO NO YES NO YES
IF (age<=30) AND (student=yes)
THEN buys_computer = YES
IF (30<age<=40)
THEN buys_computer = YES
IF (age>40) AND (credit_rating=excellent)
THEN buys_computer = YES
IF (age>40) AND (credit_rating=fair)
THEN buys_computer = NO 53
Reglas
A partir de un rbol de decisin

Las reglas que se derivan de un rbol se pueden


simplificar (generalizar), aunque entonces:

 Dejan de ser mutuamente excluyentes: varias reglas


pueden ser vlidas para un mismo ejemplo (hay que
establecer un orden entre las reglas [lista
[lista de decisin]
decisin]
o realizar una votacin).

 Dejan de ser exhaustivas: puede que ninguna regla


sea aplicable a un ejemplo concreto (hace falta incluir
una clase por defecto).
54

Reglas
Induccin de reglas
(directamente a partir del conjunto de entrenamiento)
p.ej.. LISTAS DE DECISIN
p.ej

Cmo?
 Las reglas se aprenden de una en una.
 Cada vez que se escoge una regla, se eliminan del
conjunto de entrenamiento todos los casos cubiertos
por la regla seleccionada.
 El proceso se repite iterativamente hasta que se
cumpla alguna condicin de parada.
55
Reglas

(i) Original Data (ii) Step 1

R1 R1

R2
56
(iii) Step 2 (iv) Step 3

Reglas
Induccin de reglas
(directamente a partir del conjunto de entrenamiento)
p.ej.. LISTAS DE DECISIN
p.ej

Cmo se aprende una regla?

 Se empieza con la regla ms general posible.

 Se le van aadiendo antecedentes a la regla


para maximizar la calidad de la regla
(cobertura y precisin).

57
Reglas
Induccin de reglas

A3=1&&A1=2
A3=1&&A1=2
&&A8=5A3=1

Ejemplos Ejemplos
positivos negativos

58

Reglas
Induccin de reglas
(directamente a partir del conjunto de entrenamiento)
p.ej.. LISTAS DE DECISIN
p.ej

Algoritmos de induccin de reglas

 FOIL (Quinlan
(Quinlan,, Machine Learning,
Learning, 1990)
 CN2 (Clark & Boswell,
Boswell, EWSL1991)
 RIPPER (Cohen, ICML1995)
 PNrule (Joshi
Joshi,, Agarwal & Kumar,
Kumar, SIGMOD2001)

59
Reglas
DEMO

CN2
 Metodologa STAR: Unordered CN2

 Listas de decisin: Ordered CN2

RIPPER
Repeated Incremental Pruning to Produce Error Reduction
(basado en IREP, Iterative Reduced Error Pruning)
60

Evaluacin
La evaluacin de un algoritmo de construccin de modelos de
clasificacin se puede realizar atendiendo a distintos aspectos:
 Precisin
(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 slo una caja negra?)
 Complejidad
(del modelo de clasificacin) Navaja de Occam.
Occam. 61
Evaluacin

Mtricas
Cmo evaluar la calidad
de un modelo de clasificacin.

Mtodos
Cmo estimar, de forma fiable,
la calidad de un modelo.

Comparacin
Cmo comparar el rendimiento relativo
de dos modelos de clasificacin alternativos 62

Evaluacin: Mtricas
Matriz de confusin
(confusion matrix)
matrix)

Prediccin
CP CN
CP TP: True FN: False
Clase real

positive negative
CN FP: False TN: True
positive negative

Precisin del clasificador


accuracy = (TP+TN)/(TP+TN+FP+FN)
63
Evaluacin: Mtricas
Limitaciones de la precisin (accuracy
(accuracy)
) :

Supongamos un problema con 2 clases no equilibradas:


 9990 ejemplos de la clase 1
 10 ejemplos de la clase 2

Si el modelo de clasificacin siempre dice que los


ejemplos son de la clase 1, su precisin es
9990/10000 = 99.9%

Totalmente engaosa, ya que nunca


detectaremos ningn ejemplo de la clase 2. 64

Evaluacin: Mtricas
Alternativa: Matriz de costes

Prediccin
C(i|j) CP CN
CP C(P|P) C(N|P)
Clase real

CP C(P|N) C(N|N)

El coste de clasificacin ser proporcional


a la precisin del clasificador slo si

i,j: i j C(i|j) = C(j|i)


C(i|i) = C(j|j) 65
Evaluacin: Mtricas
Medidas cost
cost--sensitive
sensitive Prediccin
CP CN
CP TP: True FN: False

Clase real
positive negative
CN FP: False TN: True
precision = TP/(TP+FP) positive negative

True positive recognition rate


recall = sensitivity = TP/P = TP/(TP+FN)

True negative recognition rate


specificity = TN/N = TN/(TN+FP)
66

Evaluacin: Mtricas
Medidas cost
cost--sensitive
sensitive Prediccin
CP CN
CP TP: True FN: False
Clase real

positive negative
CN FP: False TN: True
positive negative
F-measure
Media armnica de precision y recall:

F = 2*precision*recall / (precision+recall
(precision+recall))

F = 2TP / (2TP+FP+FN)
67
Evaluacin: Mtricas
Medidas cost
cost--sensitive
sensitive
Prediccin Prediccin
CP CN CP CN
CP TP FN CP TP FN
Real

Real
CN FP TN CN FP TN

Accuracy Recall

Prediccin Prediccin
CP CN CP CN
CP TP FN CP TP FN
Real

Real
CN FP TN CN FP TN
68
Precision F-measure

Evaluacin: Mtodos

Para evaluar la precisin de un modelo de clasificacin


nunca debemos utilizar el conjunto de entrenamiento
(lo que nos dara el error
error de resustitucin
resustitucin del
clasificador), sino un conjunto de prueba
independiente:

Por ejemplo, podramos reservar 2/3 de los ejemplos


disponibles para construir el clasificador y el 1/3
restante lo utilizaramos de conjunto de prueba para
estimar la precisin del clasificador.

69
Evaluacin: Mtodos
Validacin cruzada
[k
[k--CV: k-
k-fold Cross
Cross--Validation]
Validation]

 Se divide aleatoriamente el conjunto de datos en k


subconjuntos de interseccin vaca (ms o menos del
mismo tamao). Tpicamente, k=10.

 En la iteracin i, se usa el subconjunto i como


conjunto de prueba y los k- k-1 restantes como conjunto
de entrenamiento.

 Como medida de evaluacin del mtodo de


clasificacin se toma la media aritmtica de las k
70
iteraciones realizadas.

Evaluacin: Mtodos
Validacin cruzada
Variantes de la validacin cruzada

 Leave one out


out:
:
Se realiza una validacin cruzada con k particiones del
conjunto de datos, donde k coincide con el nmero de
ejemplos disponibles.

 Validacin cruzada estratificada:


Las particiones se realizan intentando mantener en
todas ellas la misma proporcin de clases que aparece
en el conjunto de datos completo.
71
Evaluacin: Mtodos
Bootstraping

Muestreo uniforme con reemplazo de los ejemplos


disponibles (esto es, una vez que se escoge un
ejemplo, se vuelve a dejar en el conjunto de
entrenamiento y puede que se vuelva a escoger).

NOTA: Mtodo utilizado en ensembles


ensembles.
.

72

Evaluacin: Mtodos
Bootstraping
0.632 bootstrap

 Dado un conjunto de d datos, se toman d muestras.


Los datos que no se escojan formarn parte del
conjunto de prueba.
 En torno al 63.2% de las muestras estarn en el
bootstrap
bootstrap (el conjunto de entrenamiento) y el 36.8%
caer en el conjunto de prueba, ya que (1-1/d)d e-1
= 0.368
 Si repetimos el proceso k veces, tendremos:
k
acc( M ) = (0.632 acc( M i ) test _ set +0.368 acc( M i ) train _ set ) 73
i =1
Evaluacin: Comparacin
Precisin [accuracy
[accuracy]]

100

90
audiology
80 car
Precisin del clasificador

chess
70
hayesroth
lenses
60
lungcancer
50 mushroom
nursery
40 soybean
splice
30 tictactoe
titanic
20 vote

10

0
ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes Por defecto

74

Evaluacin: Comparacin
Complejidad del clasificador

1000

audiology
car
Complejidad del clasificador

chess
100 hayesroth
lenses
lungcancer
mushroom
nursery
soybean
splice
10
tictactoe
titanic
vote

1
ART C4.5 AQR CN2-STAR CN2-DL RIPPER

75
Evaluacin: Comparacin
Tiempo de entrenamiento

1000000

100000 audiology
Tiempo de entrenamiento (ms)

car
chess
10000 hayesroth
lenses
lungcancer
1000 mushroom
nursery
soybean
splice
100
tictactoe
titanic
vote
10

1
ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes
76

Evaluacin: Comparacin
Operaciones de E/S: Recorridos

1000000

100000 audiology
Operaciones de E/S (recorridos)

car
chess
10000 hayesroth
lenses
lungcancer
1000 mushroom
nursery
soybean
splice
100
tictactoe
titanic
vote
10

1
ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes
77
Evaluacin: Comparacin
Operaciones de E/S: Registros

1000000000

100000000
audiology
Operaciones de E/S (registros)

10000000 car
chess
1000000 hayesroth
lenses
100000 lungcancer
mushroom
nursery
10000
soybean
splice
1000
tictactoe
titanic
100
vote

10

1
ART C4.5 CN2-STAR CN2-DL RIPPER Naive Bayes
78

Evaluacin: Comparacin
Operaciones de E/S: Pginas de disco

1000000000

100000000

ART
10000000
Operaciones de E/S (pginas)

C4.5
1000000

CN2 - STAR
100000

10000 CN2 - DL

1000 RIPPER

100 Naive Bayes

10

1
1 2 4 8 16 32 64 128 256 512 1024
Tamao de pgina 79
Evaluacin: Comparacin
Curvas ROC
Receiver
Operating
Characteristics

TPR = TP/(TP+FN) Eje vertical: true positive rate


rate
FPR = FP/(FP+TN) Eje horizontal: false positive rate
rate 80

Evaluacin: Comparacin
Curvas ROC

 Desarrolladas en los aos 50 para analizar seales con


ruido: caracterizar el compromiso entre aciertos y
falsas alarmas.

 Permiten comparar visualmente distintos modelos de


clasificacin.

 El rea que queda bajo la curva es una medida de la


precisin [accuracy
[accuracy]] del clasificador:
 Cuanto ms cerca estemos de la diagonal (rea
cercana a 0.5), menos preciso ser el modelo.
 Un modelo perfecto tendr rea 1. 81
Evaluacin: Comparacin
Curvas ROC

Ningn modelo es consistentemente mejor que el otro:


82
M1 es mejor para FPR bajos, M2 para FPR altos.

Evaluacin: Comparacin
Curvas ROC

Cmo se construye la curva ROC?


 Se usa un clasificador que prediga la probabilidad de
que un ejemplo E pertenezca a la clase positiva P(+|E)
 Se ordenan los ejemplos en orden decreciente del
valor estimado P(+|E)
 Se aplica un umbral para cada valor distinto de
P(+|E), para el que se cuenta el nmero de TP, FP,
TN y FN.

TPR = TP/(TP+FN)
83
FPR = FP/(FP+TN)
Evaluacin: Comparacin
Curvas ROC Ejemplo P(+|E) Clase
1 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.00
TP 5 4 4 3 3 3 3 2 2 1 0
FP 5 5 4 4 3 2 1 1 0 0 0
TN 0 0 1 1 2 3 4 4 5 5 5
FN 0 1 1 2 2 2 2 3 3 4 5
TPR 1 0.8 0.8 0.6 0.6 0.6 0.6 0.4 0.4 0.2 0 84
FPR 1 1 0.8 0.8 0.6 0.4 0.2 0.2 0 0 0

Tcnicas de regresin
La prediccin (numrica) es

 Similar a la clasificacin:
 Se construye un modelo a partir de un conjunto de
entrenamiento.
 Se utiliza el modelo para predecir el valor de una
variable (continua u ordenada).

 Diferente a la clasificacin:
 El modelo define una funcin continua.

Mtodo ms empleado: Regresin


85
Tcnicas de regresin

Las tcnicas de regresin modelan la relacin entre


una o ms variables independiente (predictores
(predictores))
y una variable dependiente (variable de respuesta).

Mtodos de regresin
 Regresin lineal
 Regresin no lineal
 rboles de regresin (p.ej. CART)


86

Tcnicas de regresin
Regresin lineal simple
Una nica variable independiente:

y = w0 + w1 x

donde w0 (desplazamiento
desplazamiento)) y w1 (pendiente
pendiente))
son los coeficientes de regresin.
regresin.

 Mtodo de los mnimos cuadrados


(estima la lnea recta que mejor se ajusta a los datos):
datos):
|D|

(x i x )( y i y )
w = y w x w = i =1

0 1 1 |D|

(x x )2
i =1
i
87
Tcnicas de regresin
Regresin lineal simple

88

Tcnicas de regresin
Regresin lineal simple

El mtodo de los mnimos cuadrados minimiza la suma


de los cuadrados de los residuos i (las diferencias
entre las predicciones y los valores observados).
89
Tcnicas de regresin
Regresin lineal simple

OJO! Al utilizar regresin lineal, la recta y=f(x) que se


obtiene es distinta a la que obtenemos si x=f(y). 90

Tcnicas de regresin
Regresin lineal mltiple
Varias variables independientes:

y = w0 + w1 x1+ w2 x2 +

 Resoluble por mtodos numricos de optimizacin


optimizacin..

 Muchas funciones no lineales pueden transformarse en


una expresin lineal.
p.ej..
p.ej Un modelo de regresin polinomial
y = w0 + w1 x + w2 x2 + w3 x3
puede transformarse en un modelo lineal
definiendo las variables x2 = x2, x3= x3:
91
y = w0 + w1 x + w2 x2 + w3 x3
Tcnicas de regresin
Regresin lineal

Condiciones necesarias para aplicar regresin 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 segn una
distribucin normal.
 Los errores han de tener la misma varianza
(nube de puntos homognea).

92

Tcnicas de regresin
Regresin lineal simple

1. Mediante un diagrama de dispersin, comprobamos


visualmente si existe una relacin lineal entre las
variables X (predictor
(predictor)) e Y (respuesta):

93
Tcnicas de regresin
Regresin lineal simple

2. Cuantificamos la relacin construyendo la recta que


resume la dependencia y damos una medida de cmo
se ajusta la recta a los datos (correlacin):

94

Tcnicas de regresin
Coeficiente de correlacin

r=+1 Dependencia lineal total en sentido positivo


(cuanto mayor es X, mayor es Y).
r=
r=--1 Dependencia lineal total en sentido negativo
(cuanto mayor es X, menor es Y ).

95
Tcnicas de regresin
Coeficiente de correlacin

r>0 Existe una dependencia positiva.


Cuanto ms se acerque a 1, mayor es sta.
r<0 Existe una dependencia negativa.
Cuanto ms se acerque a -1, mayor ser.
r=0 No podemos afirmar nada.
96

Tcnicas de regresin
Coeficiente de correlacin

97
Tcnicas de regresin
Coeficiente de correlacin

98

Tcnicas de regresin
Coeficiente de correlacin

El cuarteto de Anscombe
(4 conjuntos de datos con el mismo coeficiente de correlacin) 99
Tcnicas de regresin
Coeficiente de correlacin

Ventaja de r
 No depende de las unidades usadas en la medicin.

Limitaciones de r
 Slo mide dependencia lineal entre las variables.

OJO! La correlacin no implica causalidad

100

Tcnicas de regresin
Coeficiente de correlacin

"Correlation is not causation but it sure is a hint."


101
-- Edward Tufte
Tcnicas de regresin
Ms tcnicas de prediccin

Forecasting
http://en.wikipedia.org/wiki/Forecasting
102

Bibliografa

 Pang-Ning Tan,
Pang-
Michael Steinbach
& Vipin Kumar:
Kumar:
Introduction to Data Mining
Addison--Wesley
Addison Wesley,, 2006.
ISBN 0321321367 [captulos 4&5]

 Jiawei Han
& Micheline Kamber:
Kamber:
Data Mining:
Mining:
Concepts and Techniques
Morgan Kaufmann,
Kaufmann, 2006.
ISBN 1558609016 [captulo 6] 103
Bibliografa
 F. Berzal, J.C. Cubero,
Cubero, D. Snchez,
Snchez, and J.M. Serrano: ART: A hybrid classification
method. Machine Learning, 2004
method.
 L. Breiman,
Breiman, J. Friedman, R. Olshen,
Olshen, and C. Stone. Classification and Regression Trees.
Trees.
Wadsworth International Group, 1984.
 W. Cohen. Fast effective rule induction.
induction. ICML'95
 R. O. Duda,
Duda, P. E. Hart, and D. G. Stork. Pattern Classification,
Classification, 2ed. John Wiley and Sons,
2001
 U. M. Fayyad. Branching on attribute values in decision tree generation.
generation. AAAI94
 Y. Freund and R. E. Schapire.
Schapire. A decision-
decision-theoretic generalization of on-
on-line learning
and an application to boosting.
boosting. J. Computer and System Sciences, 1997.
 J. Gehrke,
Gehrke, V. Gant, R. Ramakrishnan,
Ramakrishnan, and W.-
W.-Y. Loh,
Loh, BOAT -- Optimistic Decision Tree
Construction.. SIGMOD'99.
Construction
 J. Gehrke,
Gehrke, R. Ramakrishnan,
Ramakrishnan, and V. Ganti.
Ganti. Rainforest: A framework for fast decision
tree construction of large datasets.
datasets. VLDB98.

104

Bibliografa
 T.
T.--S. Lim, W.
W.--Y. Loh, and Y.-
Y.-S. Shih. A comparison of prediction accuracy, complexity,
and training time of thirty-
thirty-three old and new classification algorithms. Machine
Learning, 2000.
 S. K. Murthy, Automatic Construction of Decision Trees from Data: A Multi-
Multi-
Disciplinary Survey,
Survey, Data Mining and Knowledge Discovery 2(4): 345-
345-389, 1998
 trees. Machine Learning, 1:81-
J. R. Quinlan. Induction of decision trees. 1:81-106, 1986.
 J. R. Quinlan and R. M. Cameron-
Cameron-Jones. FOIL: A midterm report.
report. ECML93.
 J. R. Quinlan. C4.5: Programs for Machine Learning.
Learning. Morgan Kaufmann, 1993.
 J. R. Quinlan. Bagging, boosting, and c4.5.
c4.5. AAAI'96.
 R. Rastogi and K. Shim. Public: A decision tree classifier that integrates building and
pruning. VLDB98
pruning.
 H. Yu, J. Yang, and J. Han. Classifying large data sets using SVM with hierarchical
clusters.. KDD'03.
clusters

105
Apndice
Otros modelos de clasificacin
Modelos basados en reglas de asociacin

Por qu?

Buscando entre las mejores reglas de asociacin, se


superan algunas limitaciones de los rboles de decisin
(p.ej. slo consideran los atributos de uno en uno).

106

Apndice
Otros modelos de clasificacin
Modelos basados en reglas de asociacin
 Modelos de clasificacin parcial
Bayardo,, KDD1997
Bayardo
 Modelos asociativos de clasificacin
CBA (Liu
(Liu,, Hsu & Ma
Ma,, KDD1998)
RCBT (Cong
(Cong et al., SIGMOD2005)
 Patrones emergentes
CAEP (Dong
(Dong et al., ICDS1999)
 rboles de reglas
Wang et al., KDD2000
 Reglas con excepciones
Liu et al., AAAI2000
107
Apndice
Otros modelos de clasificacin
Modelos basados en reglas de asociacin

 CMAR
Classification based on Multiple Association Rules
 Li, Han & Pei, ICDM2001

 CPAR
Classification based on Predictive Association Rules
 Yin & Han, SDM2003

 ART
Association Rule Trees
 Berzal et al., Machine Learning, 2004 108

Apndice
Otros modelos de clasificacin
Modelos basados en reglas de asociacin
ART [Association
[Association Rule Trees]
Trees]

109
Apndice
Otros modelos de clasificacin
Modelos basados en reglas de asociacin

ART TDIDT
XY Y
00 else 0 1
01

0 1 Z X X
0 1 0 1 0 1

0 1 0 Z 1 Z
0 1 0 1

0 1 0 1

110

Apndice
Otros modelos de clasificacin
DEMO

ART
Association Rule Trees 111
Apndice
Otros modelos de clasificacin
Clasificadores bayesianos
Nave Bayes
Aplicando el Teorema de Bayes,
Bayes, se maximiza:

P(C | X) = P(X | C )P(C )


i i i
n
P ( X | C i ) = P ( x | C i ) = P ( x | C i ) P ( x | C i ) ... P ( x | C i )
k 1 2 n
k =1
Ventaja
 Basta con recorrer los datos una sola vez.
Desventajas
 Interpretabilidad del modelo.
112
 Supone que las variables son independientes.

Apndice
Otros modelos de clasificacin
Clasificadores bayesianos
Redes Bayesianas

Representan mediante un grafo dirigido acclico


dependencias entre variables, especificando sus
distribuciones de probabilidad conjuntas.

X Y
Nodos: Variables
Nodos:
Enlaces: Dependencias Z
P
113
Apndice
Otros modelos de clasificacin
Clasificadores bayesianos
Family
Smoker (S)
Redes Bayesianas History (FH)

CPT [Conditional Probability Table]


para la variable LungCancer: LungCancer
Emphysema
(LC)
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.9
PositiveXRay Dyspnea
Muestra la probabilidad condicional de
que alguien desarrolle cncer de pulmn
para combinacin de las variables que lo causan. 114

Apndice
Otros modelos de clasificacin
Clasificadores bayesianos
Redes Bayesianas

Entrenamiento de las redes bayesianas:


 Dada la estructura de la red, calcular CPTs
(sencillo, como en Nave Bayes
Bayes).
).
 Dada la estructura de la red, con algunas variables
ocultas (desconocidas), buscar una configuracin
adecuada de la red que encaje con nuestro conjunto de
entrenamiento (usando tcnicas de optimizacin como el
gradiente descendente).
 Dadas las variables observables, determinar la
115
topologa ptima de la red (muy ineficiente).
Apndice
Otros modelos de clasificacin
Redes neuronales
p.ej. Backpropagation

 Como aproximadores
aproximadores universales,
pueden aplicarse para predecir el valor de un atributo
(tanto nominal como numrico).
 Ejemplo de modelo predictivo pero no descriptivo
(podemos verlo como una caja negra). 116

Apndice
Otros modelos de clasificacin
SVMs [Support Vector Machines]

x
x x
x x
x
x x x o
o
x o o
oo o
o o
o o o o

117
Apndice
Otros modelos de clasificacin
SVMs [Support Vector Machines]

118

Apndice
Otros modelos de clasificacin
SVMs [Support Vector Machines]

Ventajas
 Precisin generalmente alta.
 Robustez frente a ruido.

Desventajas
 Costosos de entrenar
(eficiencia y escalabilidad).
 Difciles de interpretar
(basados en transformaciones matemticas para
conseguir que las clases sean linealmente separables).119
Apndice
Otros modelos de clasificacin
Clasificadores basados en casos
[lazy learners]
learners]

Almacenan el conjunto de entrenamiento (o parte de l)


y lo utilizan directamente para clasificar nuevos datos.

Ejemplos
 k-NN (k Nearest Neighbors
Neighbors))
 Razonamiento basado en casos (CBR)

120

Apndice
Otros modelos de clasificacin
Clasificadores basados en casos
k-NN

X X X

(a) 1-nearest neighbor (b) 2-nearest neighbor (c) 3-nearest neighbor

Se escoge la clase ms comn entre los k vecinos ms cercanos:


 k demasiado pequeo
Sensible a ruido.
 k demasiado grande
121
El vecindario puede incluir puntos de otras clases.
Apndice
Otros modelos de clasificacin
Ensembles
Ensembles

Combinan varios modelos


con el objetivo de mejorar
la precisin final del clasificador.

 Bagging: Votacin por mayora.


Bagging:
Varios clasificadores diferentes votan para decidir la
clase de un caso de prueba (usa bootstrapping).
bootstrapping).

 Boosting: Votacin ponderada.


Boosting:
Los clasificadores tienen distintos pesos en la
votacin (en funcin de su precisin), vg
vg:: AdaBoost.
AdaBoost. 122

Potrebbero piacerti anche