Sie sind auf Seite 1von 240

Introduccin al Aprendizaje Automtico y a la Minera de Datos con Weka HERRAMIENTAS DE LA INTELIGENCIA ARTIFICIAL INGENIERA INFORMTICA

ndice
MINERA DE DATOS
INTRODUCCIN A LA MINERA DE DATOS TAREAS EN MINERA DE DATOS FASES EN MINERA DE DATOS TIPOS DE ALGORITMOS PARA PREDICCIN (CLASIFICACIN Y REGRESIN) EVALUACIN DEL CONOCIMIENTO MINADO SELECCIN DE ATRIBUTOS MINERA DE TEXTOS

INTRODUCCIN A LA MINERA DE DATOS

SKYCAT: Clasificacin automtica de objetos del firmamento

Minera de Datos. Justificacin


Nuevas posibilidades: disponibilidad de grandes cantidades de datos (bancos, la web, tarjetas fidelizacin, ...), potencia de cmputo Nuevas necesidades: Es complicado analizar los datos de manera manual. Necesidad de tcnicas automticas: resmenes (BBDD), inferencias (estadstica, aprendizaje automtico)

Minera de Datos. Objetivos


Convertir datos en conocimiento para tomar decisiones Es importante la inteligibilidad del conocimiento obtenido (los modelos estadsticos no son siempre sencillos de entender) MD = BBDD + estadstica + aprendizaje automtico

TAREAS EN MINERA DE DATOS

Minera de Datos. Tareas


Prediccin:

Clasificacin Regresin

Asociacin Agrupacin (clustering)

Ejemplo1. Crditos bancarios (clasificacin)


Un banco por Internet desea obtener reglas para predecir qu personas de las que solicitan un crdito no van a devolverlo. La entidad bancaria cuenta con una gran base de datos correspondientes a los crditos concedidos (o no) a otros clientes con anterioridad.

Ejemplo1. Datos (instancias, patrones, )


IDC 101 102 103 104 105 ... ... Aos 15 2 9 15 10 ... Euros 60000 30000 9000 18000 24000 ... Salario Casa propia Cuentas morosas 2 0 1 0 0 ... ... ... ... ... ... ... Devuelve el crdito No Si No Si No ...

2200 Si 3500 Si 1700 Si 1900 No 2100 No ...

10

Ejemplo 1. Conocimiento obtenido


SI (cuentas-morosas > 0) ENTONCES Devuelvecrdito = no SI (cuentas-morosas = 0) Y ((salario > 2500) O (aos > 10)) ENTONCES devuelve-crdito = si

11

Ejemplo 2. Determinar las ventas de un producto (Regresin)


Una gran cadena de tiendas de electrodomsticos desea optimizar el funcionamiento de su almacn manteniendo un stock de cada producto suficiente para poder servir rpidamente el material adquirido por sus clientes.

12

Ejemplo 2. Datos
Producto Televisor plano Video Nevera Microondas Discman ... Mes-12 20 11 50 3 14 ... ... ... ... ... ... ... ... Mes-4 52 43 61 21 27 ... Mes-3 14 32 14 27 2 ... Mes-2 139 26 5 1 25 ... Mes-1 74 59 28 49 12 ...

13

Ejemplo 2. Conocimiento obtenido


Modelo que prediga lo que se va a vender cada mes a partir de lo que se vendi en los meses anteriores (serie temporal)
Y

DVDs a vender
12 10 8 6 4 2 0 0 2 4 6 8 10 Y

Mes 12

14

Ejemplo 3. Anlisis de la cesta de la compra (Asociacin)


Un supermercado quiere obtener informacin sobre el comportamiento de compra de sus clientes. Se piensa que de esta manera se puede mejorar el servicio, colocando ciertos productos juntos, etc.

15

Ejemplo 3. Datos de las cestas


Id 1 2 3 4 5 6 7 8 Huevos Si No No No Si Si No Si Aceite No Si No Si Si No No Si Paales No No Si Si No No No Si Vino Si No No No No Si No Si Leche No Si Si Si No Si No Si Manteq uilla Si No No No Si Si No Si Salmn Si No No No No Si No Si Lechugas Si Si No No Si No No No ... ... ... ... ... ... ... ... ...

.. ... .

...

...

...

...

...

...

...

. . .
16

Ejemplo 3. Conocimiento obtenido


Reglas Si At1=a y At2=b y ... Entonces Atn=c

Si paales=si, entonces leche=si (100%, 37%) Si At1=a y At2=b Entonces Atn=c, At4=D Precisin (confidence): veces que la regla es correcta Cobertura (support): frecuencia de ocurrencia de la regla en los datos

Las reglas tambin pueden ser:

(a,b) = (precisin, cobertura)


17

Ejemplo 3. Precisin (confidence)


Sea la regla:

Si At1=a y At2=b Entonces Atn=c

Precisin: Nmero de veces que Atn=c supuesto que At1=a y At2=b Ejemplo:

Si huevos=si, entonces aceite=si Nmero de veces que huevos=si y aceite=si: 2 Nmero de veces que huevos=si: 4 Precisin (aciertos) de la regla: 2/4 = 50%

18

Ejemplo 3. Cobertura (support)


Una regla puede ser muy precisa (100%), pero ocurrir muy poco y ser poco relevante Ejemplo:

Si huevos=si y aceite=si y paales=si entonces salmn=si Precisin: 1/1 = 100% Pero slo ocurre para un cliente (el octavo): 1/8 = 12% Si At1=a y At2=b Entonces Atn=c

Sea la regla:

Cobertura: nmero de datos que cumplen las dos condiciones At1=a, At2=b, dividido por nmero total de datos Representa el porcentaje de veces que ocurre la regla, lo til que es
19

Ejemplo 4. Agrupacin de empleados (clustering)


El departamento de RRHH de una empresa desea categorizar a sus empleados en distintos grupos con el objetivo de entender mejor su comportamiento y tratarlos de manera adecuada

20

Ejemplo 4. Datos
Id 1 2 3 4 5 .. . Sueldo 1000 2000 1500 3000 1000 ... Casado Si No Si Si Si ... Coche No Si Si Si Si ... Hijos 0 1 2 1 0 ... Alq/Pro p Alq Alq Prop Alq Prop Sindicado No Si Si No Si ... Bajas 7 3 5 15 1 ... Antiged Sexo ad 15 3 10 7 6 ... H M H M H ...

21

Ejemplo 4. Conocimiento obtenido


GRUPO 1 Sueldo Casado (No/Si) Coche Hijos Alq/Prop Sindicado Bajas Antigedad Sexo (H/M) 1535 77%/22% 82%/18% 0.05 99%/1% 80%/20% 8.3 8.7 61%/39% GRUPO 2 1428 98%/2% 1%/99% 0.3 75%/25% 0%/100% 2.3 8 25%/75% GRUPO 3 1233 0%/100% 5%/95% 2.3 17%/83% 67%/33% 5.1 8.1 83%/17%

22

Ejemplo 4. Conocimiento obtenido


Grupo 1: sin hijos y con vivienda de alquiler. Poco sindicados. Muchas bajas Grupo 2: sin hijos y con coche. Muy sindicados. Pocas bajas. Normalmente son mujeres y viven en alquiler Grupo 3: con hijos, casados y con coche. Mayoritariamente hombres propietarios. Poco sindicados.

23

Idea general de agrupacin


Detectar agrupaciones naturales en los datos Agrupacin (o clustering) = aprendizaje no supervisado: se parte de una tabla, como en clasificacin, pero sin la clase
Y: Long. media frases Ejemplo: clustering de libros. 2 grupos: * Palabras y frases largas (filosofa?) * Palabras y frases cortas (novela?) X: Longitud media de palabras
24

Representacin de clusters
Por sus centroides (ej: algoritmo k-medias) La pertenencia a un cluster puede ser probabilstica (ej: algoritmo EM)

25

Representacin de clusters
Jerrquica (ej: algoritmo cobweb)
Nota: las etiquetas filosofa, clsico, etc. aparecen slo a ttulo indicativo. El sistema simplemente detectara distintos grupos a distintos niveles

Libros Filosofa Teatro Novela

Analtica

Existencialista

Historica

Historica

Clasico

Moderno
26

Aplicaciones de Minera de Datos (tcnica de carcter horizontal)


Financieras y banca

Obtencin de patrones de uso fraudulento de tarjetas de crdito Prediccin de morosidad (prstamos) Anlisis de cesta de la compra Segmentacin de mercado

Anlisis de mercado:

Seguros y salud privada: determinacin de clientes potencialmente caros Educacin: deteccin de abandonos
27

Aplicaciones II
Medicina: diagnstico de enfermedades (ej: diagnstico de dolor abdominal) Ciencia:

Predecir si un compuesto qumico causa cncer Predecir si una persona puede tener potencialmente una enfermedad a partir de su DNA Clasificacin de cuerpos celestes (SKYCAT)

28

Aplicaciones III
Deteccin de spam (SpamAssassin, bayesiano) Web: asociar libros que compran usuarios en etiendas (amazon.com) Web: clasificacin automtica de pginas web para directorios Reconocimiento de caracteres, de voz. etc. Prediccin de la demanda elctrica, de gas, etc.

29

El Brain Computer Interface (BCI)


Objetivo: comunicar personas con ordenadores mediante el pensamiento Ayudar a personas inmovilizadas Existen otros mtodos (movimiento de los ojos, nervios, etc.)

30

Neuronas (interruptor 0/1)

31

El cerebro (red de billones de neuronas)

32

reas funcionales del cerebro

33

Sensory Homunculus

34

Electrodos del BCI

35

Sistema 10-20

El electro-encefalograma (EEG)
Cambios de potencial -> ondas electromagnticas (muy dbiles) Medicin: invasiva o no invasiva El aprendizaje se utiliza para decodificar las ondas (cada individuo tiene sus peculiaridades) Para hacer aprendizaje automtico es necesario convertir cada forma de onda en un conjunto de atributos que la caracterize (transformada de Fourier, PSD) Es til la banda de frecuencias entre 8Hz y 30Hz

37

Aplicaciones del EEG


Diagnstico de enfermedades (epilepsia) Biofeedback El Interfaz cerebro-mquina

38

Esquema del BCI

39

El spellboard

40

Modelizacin de Jugadores Humanos para la Robocup


Se trata de obtener un modelo de una persona jugando a Robosoccer, para despus programar a un agente que juegue de forma similar Datos para aprender: (Sensores, Accin) [lo que ve el agente en el momento t, lo que hace la persona en t] PFC Alberto Lpez Cilleros

41

Esquema de aprendizaje

OPERADOR

GUI SOCCERCLIENT

SOCCERSERVER

ENTRENADOR

FICHERO TRAZA

PASO 2: OBTENCIN REGLAS

WEKA v. 3.2

AGENTE FINAL

REGLAS.C

42

GUI Soccerclient

43

Atributos a utilizar

CONO DE VISIN

Distancia_Contrario1 Vale_Contrario1 Distancia_Bola Distancia_SuPorteria Vale_SuPorteria Angulo_Bola Angulo_Contrario1 Angulo_SuPorteria Angulo Angulo_contrario2 Distancia_Contrario2 Vale_Contrario2

44

Acciones

Acciones Avanzar rpido: dash99 Avanzar lento: dash 60 Girar 10 Derecha: turn-right-10 Girar 10 Izquierda: turn-left-10 Tirar a puerta: kick99 Tiro corto: kick60

45

Atributos con los que aprender


@attribute Distancia_Bola real, @attribute Angulo_Bola real, @attribute X_Bola real, @attribute Y_Bola real @attribute Angulo real, @attribute Distancia_Contrario1 real, @attribute Angulo_Contrario1 real @attribute Vale_Contrario1 real, @attribute Distancia_Contrario2 real, @attribute Angulo_Contrario2 real @attribute Vale_Contrario2 { 0, 1 }, @attribute Distancia_SuPorteria real, @attribute Angulo_SuPorteria real @attribute Vale_SuPorteria { 0, 1 }, @attribute Accion { dash99, dash60, turnmenos45, turn45, kick99, kick60 }
46

Datos de los que aprender


36.6,-4,3.26785,36.9995,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99 36.6,-4,3.26785,36.9995,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99 36.6,-4,3.12456,36.1997,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99 13.5,-13,6.88539,12.4929,-91,1000,1000,0,1000,1000,0,1000,1000,0,turn10 33.1,-5,2.92243,33.3897,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99 33.1,-5,2.92243,33.3897,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99 33.1,-5,3.63682,33.3897,-91,1000,1000,0,1000,1000,0,1000,1000,0,dash99

47

Ejemplo de conocimiento obtenido

if ((Angulo_Bola > -37 )&&(Distancia_Bola > 1.2 ) &&(Angulo_Bola <= 24)) {dash99(memoria,puerto); break;} if ((Angulo_Bola > 19 )&&(Angulo_Bola <= 42 )&&(X <= 33.9477)) {dash99(memoria,puerto);break;} if ((Angulo_Bola > 11)) {turn10(memoria,puerto);break;} if ((Distancia_Bola <= 0.4 )&&(Angulo_Bola <= -20)) {turn10(memoria,puerto);break;}
48

FASES EN MINERA DE DATOS

49

Fases del proceso de extraccin de conocimiento


Integracin y recopilacin de datos Seleccin, limpieza y transformacin -> Datos Aprendizaje Automtico -> Patrones Evaluacin e interpretacin -> Conocimiento Difusin y uso -> Decisiones

50

Integracin y recopilacin
Almacenes de datos (data warehousing): repositorio de informacin obtenido de diversas fuentes (heterogneas), almacenada bajo un esquema unificado

51

Seleccin, limpieza, transformacin


Datos:

Valores que no se ajustan al comportamiento general (outliers): eliminar o dejar Muestreo de datos Eliminar atributos redundantes o irrelevantes Reduccin/aumento dimensionalidad Calcular nuevos atributos que sean ms relevantes (area, poblacin -> densidad de poblacin, para predecir cantidad de daos en terremotos) Valores faltantes (missing values): rellenarlos Discretizacin, numerizacin, normalizacin,

Atributos:

52

Datos (instancias, patrones, )


Atributos
IDC 101 102 Aos 15 2 9 15 10 ... ... Euros 60000 30000 9000 18000 24000 ... Salario Casa propia Cuentas morosas 2 0 1 0 0 ... ... ... ... ... ... ...

Clase

Devuelve el crdito No Si No Si No ...

2200 Si 3500 Si 1700 Si 1900 No 2100 No ...

Datos
103 104 105 ...

Seleccin, limpieza, transformacin


Objetivos:

Mejorar la eficiencia de la herramienta de minera de datos Mejorar la calidad (precisin) del conocimiento obtenido Hacerlo a mano Utilizar herramientas de preproceso (ej: seleccin de atributos) Dejar que lo haga el algoritmo de minera de datos (peor solucin)
54

Posibilidades:

TIPOS DE ALGORITMOS PARA PREDICCIN (CLASIFICACIN Y REGRESIN)

55

Datos de entrada (ej: clasificacin)


Cielo Sol Sol Nublado Lluvia Lluvia Nublado Sol Sol Lluvia Sol Nublado Nublado Lluvia Temperatura 85 80 83 70 68 64 72 69 75 75 72 81 71 Humedad 85 90 86 96 80 65 95 70 80 70 90 75 91 Viento No Si No No No Si No No No Si Si No Si Tenis No No Si No Si Si No Si Si Si Si Si No

56

Esquema general en prediccin


Datos
Cielo Sol Sol Nube s Lluvi a Lluvi a Nubl ado Sol Sol Lluvi a Sol Nubl ado Nubl ado Lluvi a Temperatura 85 80 83 70 68 64 72 69 75 75 72 81 71 Humedad 85 90 86 96 80 65 95 70 80 70 90 75 91 Viento No Si No No No Si No No No Si Si No Si Tenis No No Si So Si Si No Si Si Si Si Si No

Dato a clasificar
Cielo Sol Tempe ratura 60 Humedad 65 Viento No Tenis ?????

Clasificador

Algoritmo MD

IF Cielo = Sol Y Humedad <= 75 THEN Tenis = Si ...


Prediccin

Clase = Si
57

Idea general en prediccin


Utilizar un conjunto de datos disponibles, en forma de tabla de atributos, para aprender un predictor (clasificador o regresor), que sea capaz de predecir la clase de datos NO VISTOS TODAVA. Hay GENERALIZACIN a partir de los datos El predictor puede tomar diversas formas, segn el algoritmo (rbol de decisin, reglas, funcin, red de neuronas, probabilidades, centroides, ..) Pero en ltimo trmino, un predictor es una estructura que toma una entrada (los distintos valores de los atributos que representan al dato) y devuelve una salida (la clase o cantidad predicha para ese dato)

58

CLASSIFY: clasificacin y regresin CLUSTER: agrupacin ASSOCIATE: asociacin

59

Tipos de atributos
Nominales (discretos, categricos): cielo, viento Numricos: temperatura, humedad Hay atributos numricos que son realmente nominales (ej: DNI) Hay atributos nominales que son realmente numricos (ej: edad con valores nio, joven, adulto, mayor).

60

Formato arff. Definicin de atributos


% Comentarios precedidos de % @relation tiempo @attribute cielo {sol, nubes, lluvia} @attribute temperatura numeric @attribute humedad numeric @attribute viento {si, no} @attribute tenis {si, no}

61

Formato arff. Definicin de datos

@data Sol, 85, 85, no, no Sol, 80, 90, si, no Nublado, 81, 86, no, si Lluvia, 70, 96, no, si ...
62

Formato Arff
@relation tiempo @attribute cielo {sol, nubes, lluvia} @attribute temperatura numeric @attribute humedad numeric @attribute viento {si, no} @attribute tenis {si, no} @data Sol, 85, 85, no, no Sol, 80, 90, si, no Nublado, 81, 86, no, si Lluvia, 70, 96, no, si
63

Algoritmos de clasificacin / regresin (prediccin)


rboles de decisin y reglas. Para clasificacin

rboles de decisin: ID3, C4.5 (J48), ... Reglas: PART, CN2, AQ, ... Para regresin: linear regresson, neural networks Para clasificacin: simple logistics, support vector machines (SMO)

Funciones:

rboles de regresin: LMT (M5), ... Tcnicas perezosas. Para clasificacin y regresin

IB1, IBK, ... Naive Bayes Boosting, Bagging, Stacking, Random Forests
64

Tcnicas Bayesianas. Para clasificacin:

Metatcnicas. Para clasificacin y regresin:

Tipos de clasificadores (y regresores)


En el fondo, la clasificacin consiste en encontrar fronteras de separacin entre las clases) Tipos:

Lineales: la frontera es una lnea (en dos dimensiones) o un hiperplano (en N-dimensiones) No lineales: cualquier otro tipo de frontera

Caso de que hablemos de regresores, el objetivo en este caso es aprender una funcin y tambin encontramos los tipos lineal y no lineal

rboles de decisin y reglas. Para clasificacin


rboles de decisin: ID3, C4.5 (J48), ... Reglas: PART, CN2, AQ, ...

rboles de decisin (para clasificacin)

Sol Humedad <=75 SI > 75 NO

Cielo Nubes SI Si NO

Lluvia Viento No SI

67

Algoritmos de prediccin (classifiers) en Weka

68

Arbol de decisin J48

69

Algoritmos de construccin de rboles de decisin


El ms bsico es el ID3: construye rboles de decisin de manera recursiva, de la raz hacia las hojas, seleccionando en cada momento el mejor nodo para poner en el rbol El C4.5 (o J48), trata con valores continuos y utiliza criterios estadsticos para impedir que el rbol se sobreadapte (que crezca demasiado, que se aprenda los datos en lugar de generalizar)

Algoritmo ID3 simplificado


1. Detener la construccin del rbol si:
1. 2.

Todos los ejemplos pertenecen a la misma clase Si no quedan ejemplos o atributos

2. Si no, elegir el mejor atributo para poner en ese nodo (el que minimice la entropa media) 3. Crear de manera recursiva tantos subrboles como posibles valores tenga el atributo seleccionado

Algoritmo ID3 detallado

Algoritmo C4.5 simplificado


1. Detener la construccin del rbol si:
1. 2. 3.

Todos los ejemplos pertenecen a la misma clase Si no quedan ejemplos o atributos Si no se espera que se produzcan mejoras continuando la subdivisin

2. Si no, elegir el mejor atributo para poner en ese nodo (el que minimice la entropa media) 3. Crear de manera recursiva tantos subrboles como posibles valores tenga el atributo seleccionado

Qu nodo es el mejor para poner en la raz del rbol?


Sol Cielo? Nubes Humedad? Lluvia <=X >X

Temperatura? <=X >X Si

Viento? No

Supongamos que usamos Cielo


Cielo nos genera tres particiones de los datos, tantas como valores posibles tiene Sol
C Sol Sol Sol Sol Sol T 85 80 72 69 75 H 85 90 95 70 70 V No Si No No Si Ten C No No No Si Si Nubes Nubes Nubes Nubes T 83 64 72 81 H 86 65 90 75

Cielo Nubes
V No Si Si No Ten Si Si Si Si

Lluvia
C Lluvia Lluvia Lluvia Lluvia Lluvia T 70 68 75 65 71 H 96 80 80 70 91 V No No No Si Si Ten No Si Si No No

3 No, 2 Si Tendencia al no

0 No, 4 Si Particin perfecta

3 No, 2 Si Tendencia al no

Cmo medimos lo bueno que es Cielo como atributo para clasificar?


Usaremos una medida que obtenga el mejor valor cuando el atributo me obtenga particiones lo mas homogneas posible, en media Homognea: 0 No, todo Si; o bien todo No, 0 Si Indecisin: 50% No, 50% Si Una medida que me dice lo lejana que est una particin de la perfeccin es la entropa A mayor entropa, peor es la particin
H ( P ) =
Ci

p log ( p
Ci 2
2 si no 2

Ci

H(P) = ( p log( p ) + p
si

log( p ))
no

no

= (1 p )
si

Entropa media de Cielo


Cielo genera tres particiones cuya entropa es:
1. 2. 3.

3 No, 2 Si: H=-((3/5)*log2(3/5)+(2/5)*log2 (2/5) = 0.97 0 No, 4 Si: H=-((0/4)*log2 (0/4)+1*log2 (1))=0 3 No, 2 Si: H=-((3/5)*log2 (3/5)+(2/5)*log2 (2/5))= 0.97

La entropa media ponderada de Cielo ser:


HP=(5/14)*0.97+(4/14)*0+(5/14)*0.97 = 0.69 Nota: hay 14 datos en total

Y si el atributo es contnuo?
Hay que partir por el valor X, donde sea mas conveniente, minimizando la entropa Temperatura
Nota: solo hemos probado algunas de las posibles particiones, entre las que se encuentra la mejor

X<=70

<=X

>X

64 Si, 65 No, 68 Si, 69 Si, 70 Si, 71 No, 72 No Si, 75 Si Si, 80 No, 81 Si, 83 Si, 85 - No

1 No, 4 Si 3 No, 5 Si

4 No, 5 Si

HP = 0.89

64 Si, 65 No, 68 Si, 69 Si, 70 Si, 71 No, 72 No Si, 75 Si Si, 80 No, 81 Si, 83 Si, 85 - No

2 No, 4 Si

HP = 0.93

64 Si, 65 No, 68 Si, 69 Si, 70 Si, 71 No, 72 No Si, 75 Si Si, 80 No, 81 Si, 83 Si, 85 - No

3 No, 7 Si

2 No, 2 Si HP = 0.91

Caso de humedad
Humedad <=75
0 No, 4 Si

> 75
5 No, 4 Si

65-Si, 70-No Si Si, 75Si, 80-Si Si, 85-No, 86-Si, 90-No Si, 91-No, 95-No, 96-Si,

1 No, 6 Si

4 No, 3 Si

HP = 0.79

Nota: hay otras posibilidades de particiones, pero esta es la mejor

Qu nodo es el mejor para poner en la raz?


HP=0.69 Sol
3 No, 2 Si

HP = 0.79 Humedad Lluvia <=75


3 No, 2 Si 0 No, 4 Si 5 No, 4 Si

Cielo Nubes
0 No, 4 Si

> 75

HP = 0.89 Temperatura <=X


1 No, 4 Si

HP = 0.89 Viento Si
3 No, 3 Si

>X
4 No, 5 Si

No
2 No, 6 Si

Construccin recursiva del rbol


Ahora que ya tenemos el nodo raz, el proceso continua recursivamente: hay que construir tres subrboles con los datos que se muestran en cada rama Cielo Nubes
C Sol Sol Sol Sol Sol 85 80 72 69 75 85 90 95 70 70 No Si No No Si No No No Si Si Nubes Nubes Nubes Nubes T 83 64 72 81 H 86 65 90 75 V No Si Si No Ten Si Si Si Si C Lluvia Lluvia Lluvia Lluvia Lluvia T 70 68 75 65 71 H 96 80 80 70 91 V No No No Si Si Ten No Si Si No No

Sol
C T H V Ten

Lluvia

3 No, 2 Si

0 No, 4 Si

3 No, 2 Si

Construccin recursiva del rbol


Aqu un criterio estadstico determina que no merece la pena seguir subdividiendo y se asigna la clase mayoritaria

Sol Humedad <=75


T 72 69 75 H 95 70 70 V No No Si Ten No 85 Si 80 Si 90 Si 85 No T

Cielo Nubes

Lluvia

> 75
H V Ten No No

Aqu no es necesario seguir subdividiendo porque todos los datos son de la misma clase

Porqu no seguir subdividiendo?


Sol Humedad <=75 Humedad <=70
T 69 75 H 70 70 V No Si Ten Si Si T 72

Cielo Nubes

Lluvia

> 75 NO > 70
H 95 V No Ten No

Puede que esta decisin est fundamentada en muy pocos datos

Porqu no seguir subdividiendo?


Hay que detener la construccin cuando tenemos 1 no, 2 si? Tal vez. Cuando hay tan pocos datos (y suponiendo que haya ruido) es posible que el 1 no haya aparecido por azar, e igualmente podriamos tener 2 no, 2 si Pasamos de una situacin en la que hay mayora de si a otra en la que estn equiparados con los no Se puede utilizar algn criterio estadstico para saber si es probable que 1 no, 2 si se deba al azar Cuando se manejan pocos datos (3 en este caso), es bastante probable que las regularidades (humedad<=70 en ete caso) sean slo aparentes y se deban al azar

Construccin recursiva del rbol

Sol Humedad <=75 SI > 75 NO

Cielo Nubes

Lluvia

Construccin recursiva del rbol

Sol Humedad <=75 SI > 75 NO

Cielo Nubes SI Si NO

Lluvia Viento No SI

C4.5 (J48) Tipo de clasificador


Es no lineal Las fronteras de separacin entre las clases son rectas paralelas a los ejes
Viento
SI NO

NO

SI

SOL

NUBES

LLUVIA

Cielo

Reglas (para clasificacin)


IF Cielo = Sol Humedad <= 75 THEN Tenis = Si ELSE IF Cielo = Sol Humedad > 75 THEN Tenis = No ELSE IF Cielo = Nubes THEN Tenis = Si ELSE IF Cielo = Lluvia Viento = Si ELSE Tenis = No THEN Tenis = Si

88

Algoritmo de reglas PART

89

Funciones:

Para regresin: linear regresson, neural networks Para clasificacin: simple logistics, support vector machines (SMO)

Funciones (para regresin)

X 0 1 2 3 4 5 6 7 8 9 10

Y 0 1,3 1,8 2,5 4,3 5,5 6,1 6,5 8,2 8,8 10,5

Y=1*X Caso general (regresin lineal) Y = A1*X1 + A2*X2 + A3*X3 + A4


Y 12 10 8 6 4 2 0 0 2 4 6 8 10 12 Y

91

Visualizacin datos linea.arff y=10*x

92

Resultados regresin lineal

93

Funciones:

Para regresin: linear regresson, neural networks Para clasificacin: simple logistics, support vector machines (SMO)

Funciones (para clasificacin)

La salida de las funciones es numrica. Basta con poner un lmite. Si lo supera se predice como positivo y si no, como negativo.

IF F(X1, X2, X3, ...) > 0.5 THEN Clase = Si ELSE Clase = No
95

Visualizacin datos separables linealmente

96

Algoritmo simple logistics (separacin lineal)

97

Redes de Neuronas (Multilayer perceptron)


El grado de no linealidad depende del nmero de neuronas ocultas

Mquinas de vectores de soporte (SVM)

Tipo de clasificador SVM


Depende del kernel:

Lineal (con kernel polinonial con exponente 1) No lineal:


Con kernel polinomial con exponente 2 Con kernel RBF

rboles de regresin:

LMT (M5), ...

Algoritmos de clasificacin / regresin (prediccin)


rboles de decisin y reglas. Para clasificacin

rboles de decisin: ID3, C4.5 (J48), ... Reglas: PART, CN2, AQ, ... Para regresin: linear regresson, neural networks Para clasificacin: simple logistics, support vector machines (SMO)

Funciones:

rboles de regresin: LMT (M5), ... Tcnicas perezosas. Para clasificacin y regresin

IB1, IBK, ... Naive Bayes Boosting, Bagging, Stacking, Random Forests
103

Tcnicas Bayesianas. Para clasificacin:

Metatcnicas. Para clasificacin y regresin:

rboles de regresin
Y si tenemos atributos nominales y numricos y queremos predecir cantidades numricas (regresin)? Usar rboles de regresin: tienen funciones (regresin lineal) en las hojas

104

rboles de regresin. Ejemplo

Inform tic o Si Si Si Si Si Si Si No No No No No No No

E dad 20 25 30 35 40 45 50 20 25 30 35 40 45 50

S alario 2000 2500 3000 3500 4000 4500 5000 2000 2050 2100 2150 2200 2250 2300
6 00 00 5 00 00 4 00 00 3 00 00 2 00 00 1 00 00 0 0 20 40 60 S a la rio S a la rio No

105

rboles de regresin. Ejemplo

Informtico Si No

Salario = 2000+(edad-20)*100

Salario = 2000+(edad-20)*10

106

Algoritmo LMT

107

Tcnicas perezosas. Para clasificacin y regresin

IB1, IBK, ...

Tcnicas perezosas (almacenar instancias)


Tambin llamadas tcnicas basadas en instancias (o en ejemplos) En lugar de construir una estructura predictora (rbol de decisin, reglas, ...), simplemente se guardan las instancias (los datos) o representantes de los mismos Para clasificar un nuevo dato, simplemente se busca(n) la(s) instancia(s) ms parecida(s) o cercana(s) Parecido a lo que hacen las personas: para resolver un nuevo problema, intentan recordar el caso ms parecido que ya sepan resolver Ejemplo: sistema legal anglosajn
109

Tcnicas perezosas (clasificacin)

Altura

Nio Adulto Mayor

Se guardan todos los ejemplos Peso


110

Tcnicas perezosas (clasificacin)

Altura

Nio Adulto Mayor

Se guardan todos los ejemplos Peso


111

Tcnicas perezosas (clasificacin)

Altura

Nio Adulto Mayor

Se guardan las fronteras Peso


112

Tcnicas perezosas (clasificacin)

Altura

Nio Adulto Mayor

Se guardan un representante por clase (centroide o prototipo) Peso


113

Algoritmo perezoso IB1 (1 vecino) e IBK (k vecinos)

114

Tcnicas perezosas en regresin


Ejemplo: prediccin de la carga de electricidad segn la hora y la temperatura Ahora se trata de un problema de regresin Simplemente se cogen las n instancias ms cercanas y se calcula la media entre ellas El IBK permite hacer regresin (el IB1 no)

115

Tcnicas Bayesianas. Para clasificacin:

Naive Bayes

Tcnicas Bayesianas (almacenar probabilidades)


(sol, fro, alta, si, clase=????) Pr(Tenis = si / cielo = sol, temperatura = fro, humedad = alta, viento = si)? Pr(Tenis = no / cielo = sol, temperatura = fro, humedad = alta, viento = si)? Naive Bayes:
Pr(si / ...) ~ pr(cielo = sol/si) * pr(humedad = alta /si) * pr(viento = si /si) * pr(si)

117

Teorema de Bayes y Naive Bayes


Pr(A|B) = k*Pr(B|A)*P(A) Pr(Tenis = si / cielo = sol, temperatura = fro, humedad = alta, viento = si) = k * Pr(cielo = sol, temperatura = fro, humedad = alta, viento = si / Tenis = si) * Pr(Tenis = si)

Y si suponemos a todos los atributos independientes


= Pr(si/cielo = sol, temperatura = fro, humedad = alta, viento = si)
= k* pr(cielo = sol/si) * pr(humedad = alta /si) * pr(viento = si /si) * Pr(si)

Esto implica que el que haga sol es independiente de la humedad (lo que no es cierto, pero suele funcionar) En suma, que podemos calcular Pr(si/...) a partir de:

pr(cielo = sol/si) = numero de das soleados y buenos para el tenis dividido por el nmero de das buenos para el tenis pr(humedad = alta /si) pr(viento = si /si) pr(si) = nmero de das buenos para el tenis dividido por el nmero de das totales
118

Datos de entrada
Da 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Cielo Soleado Soleado Nublado Lluvioso Lluvioso Lluvioso Nublado Soleado Soleado Lluvioso Soleado Nublado Nublado Lluvioso Temperatura Caliente Caliente Caliente Templado Frio Frio Frio Templado Frio Templado Templado Templado Caliente Templado Humedad Alta Alta Alta Alta Normal Normal Normal Alta Normal Normal Normal Alta Normal Alta Viento No Si No No No Si Si No No No Si Si No Si Tenis No No Si Si Si No Si No Si Si Si Si Si No

119

Datos de entrada ordenados


Cielo Temperatura Humedad Viento Tenis Soleado Frio Soleado Templado Nublado Frio Nublado Caliente Nublado Templado Nublado Caliente Lluvioso Templado Lluvioso Frio Lluvioso Templado Soleado Soleado Soleado Lluvioso Lluvioso Caliente Templado Caliente Frio Templado Normal Normal Normal Alta Alta Normal Alta Normal Normal Alta Alta Alta Normal Alta No Si Si No Si No No No No No No Si Si Si Si Si Si Si Si Si Si Si Si No No No No No
120

Tcnicas Bayesianas. Ejemplo


P(Cielo/Tenis)
Cielo Sol Nubes Lluvia Si 2/9 4/9 3/9 No 3/5 0/5 Templado 2/5 Frio 3/9 1/5 Viento Si No Si 3/9 6/9 No 3/5 2/5 4/9 2/5

P(Temp/Tenis)
Tempera tura Caliente Si 2/9 No 2/5

P(Hum/Tenis)
Humedad Alta Normal Si 3/9 6/9 No 4/5 1/5

P(Tenis)
Tenis Si 9/14 No 5/14

Pr(si / sol, fro, alta, si) ~ 2/9 * 3/9 * 3/9 * 3/9 * 9/14 = 0.0053 Pr(no / sol, fro, alta, si) ~ 3/5 * 1/5 * 4/5 * 3/5 * 5/14 = 0.0206

Pr (si / ...) = 0.0053 / (0.0053+ 0.0206) = 20.5% Pr (no / ...) = 0.0206 / (0.0053+ 0.0206) = 79.5%
121

Algoritmo Naive Bayes

P(A|Tenis=si) Soleado, nublado, lluvioso


Ojo: el estimador Laplaciano suma 1: Pr(Sol / Si) = (2+1)/(9+1+1+1)

122

Naive Bayes con atributos numricos


Cielo Sol Sol Nublado Lluvia Lluvia Nublado Sol Sol Lluvia Sol Nublado Nublado Lluvia Temperatura 85 80 83 70 68 64 72 69 75 75 72 81 71 Humedad 85 90 86 96 80 65 95 70 80 70 90 75 91 Viento No Si No No No Si No No No Si Si No Si Tenis No No Si So Si Si No Si Si Si Si Si No

123

Naive Bayes con atributos numricos

Supone normalidad y calcula la media y la varianza

124

Metatcnicas. Para clasificacin y regresin:

Boosting, Bagging, Stacking, Random Forests

Meta-algoritmos o conjuntos de clasificadores (ensembles of classifiers)


Construyen varios predictores (clasificacin o regresin) y despus los usan de manera conjunta Suelen ser mas precisos que los algoritmos individuales, siempre que los algoritmos base predigan mejor que el azar La idea es que si los distintos clasificadores no estn correlacionados en los errores, el uso conjunto de todos ellos ser mejor que usar cualquiera de ellos por separado Tipos principales:

Bagging: construye varios modelos con el mismo algoritmo (varios rboles de decisin, por ejemplo) y cuando llega un dato de test, la clase se decide por votacin. Menos sensible al ruido. Boosting: construye varios modelos de manera secuencial, cada uno se centra en los datos que el anterior clasificaba mal. Funciona muy bien, pero es sensible al ruido en los datos. Stacking: usa la salida de clasificadores heterogneos y un metaclasificador Random Forests: Crea un ensemble de varios rboles de decisin

126

Bagging (Bootstrap aggregating)


Justificacin: un algoritmo de aprendizaje automtico genera clasificadores distintos si le pasamos datos de entrenamiento distintos Si el algoritmo es inestable, pequeas diferencias en los datos de entrenamiento darn lugar a clasificadores muy distintos

Inestables: redes de neuronas, rboles de decisin, rboles de regresin, decision stumps (rboles con un solo nodo), Estables: vecino ms cercano (IB1, IBK, )

Solucin: generar muchos conjuntos de entrenamiento y entrenar con cada uno de ellos un clasificador. La clase del clasificador agregado se decidir por votacin Los diferentes conjuntos de entrenamiento se generan a partir del conjunto de entrenamiento original por medio de muestreo aleatorio.

Bagging (Bootstrap aggregating)

Randomization
Nota: tambin se pueden crear conjuntos de clasificadores generando distintos clasificadores a partir del mismo conjunto de entrenamiento, mediante randomizacin Ej: en J49 (C4.5) siempre se elige el mejor atributo para cada nodo. En lugar de eso, elegir para cada nodo un atributo elegido aleatoriamente de entre los 5 mejores. Cada vez que ejecutemos J48, se crear un clasificador distinto, incluso partiendo de los mismos datos

Bagging y descenso del error

Nmero de clasificadores

Porqu funciona?
Supongamos que hay 25 clasificadores Cada clasificador tiene un error =0.35 Si los errores de los clasificadores son independientes o no correlacionados (es decir, si no se equivocan a la vez) El error del clasificador conjunto ser:

Pero es difcil conseguir clasificadores no correlacionados

Adaboost (boosting)
Al igual que Bagging, Boosting se basa en entrenar varios clasificadores con distintas muestras de entrenamiento Pero en Boosting, las muestras se construyen de manera secuencial Los datos de entrenamiento son una lista de tuplas {(x1,y1), , (xa,ya), , (xd,yd)} Cada dato tiene un peso wa, inicialmente todos wa=1/d Los pesos se irn adaptando, de manera que los datos difciles tendrn mas peso y los ms fciles, menos Los pesos se pueden utilizar mediante remuestreo, o bien hay algoritmos (como J48 o NN) que pueden utilizar directamente datos con pesos

Adaboost (boosting)
1. 2. 3. Inicialmente, todos los datos de entrenamiento tienen el mismo peso (wa=1/d) Construye un clasificador h0 (con, por ejemplo, C4.5). Su error es e0 Repite mientras 0<ei<0.5 1. Observa en que datos falla hi-1 2. Construye un nuevo conjunto de entrenamiento, dndole mas importancia a los datos fallidos: 1. Si hi-1 clasifica mal el dato (xa,ya), aumenta el peso wa =wa* ei-1/(1-ei-1) 2. Si hi-1 clasifica bien el dato (xa,ya), decrementa el peso wa=wa* (1-ei-1)/ei-1 3. Construye un nuevo clasificador hi con los nuevos datos. Su error es ei ((calculado sobre la muestra con pesos)

El clasificador final f es una combinacin de todos los hi.. Los coeficientes alfa dependen de lo preciso que sea el clasificador hi (de su porcentaje de aciertos)

Nota: hi tiene que devolver un valor +1 o -1 (clase positiva o negativa en problemas biclase), o un valor intermedio.

Importancia de cada clasificador

Iteraciones de Adaboost

Problemas de Boosting
Si los datos tienen ruido, Boosting se puede sobreadaptar al ruido

Random Forests
Es Bagging con rboles de decisin (por ejemplo, creados con J48) Pero en cada nodo se pone, no el mejor atributo, sino:
El mejor de un subconjunto aleatorio de m atributos Un atributo elegido aleatoriamente de entre los m mejores Humedad? Cielo? Sol Lluvia Cielo Nubes <=X> X Sol Lluvia Nubes Humedad SI Viento Temperatura? Viento? <=75 > 75 Si No SI NO NO SI <=X> X Si No

Random Forests
Slo dos parmetros: nmero k de rboles en el ensemble y nmero m de atributos para ser tenidos en cuenta en cada creacin de nodo Alta precisin y menos sensible al ruido que Boosting

Nombres de algoritmos
rboles de decisin y reglas. Para clasificacin

rboles de decisin: ID3, C4.5 (J48), ... Reglas: PART, ... Para regresin: linear regresson, neural networks Para clasificacin: simple logistics, support vector machines (SMO)

Funciones:

rboles de regresin: LMT (M5), ... Tcnicas perezosas. Para clasificacin y regresin

IB1, IBK, Locally weighted regression, Naive Bayes AdaboostM1, Bagging, Stacking, StackingC, Random Forests

Tcnicas Bayesianas. Para clasificacin:

Metatcnicas. Para clasificacin y regresin:

141

EVALUACIN DEL CONOCIMIENTO MINADO

142

Evaluacin: entrenamiento y test


Una vez obtenido el conocimiento es necesario validarlo para observar su comportamiento con datos no vistos Ejemplo: si a un alumno se le evala (examen) con los mismos problemas con los que aprendi, no se demuestra su capacidad de generalizacin Solucin: dividir el conjunto de datos en un subconjunto para entrenamiento (66%) y otro para test (33%) Problema: es posible que por azar, los datos de entrenamiento y test estn sesgados

Ejemplo de sesgo: Sea un problema para determinar qu tipo de personas compran aparatos de DVD. Puede ocurrir por casualidad que en los datos de entrenamiento aparezcan muchas mas mujeres que hombres. El sistema creer que hay una correlacin entre el sexo y la clase.

143

Evaluacin: entrenamiento y test mltiples veces (repetido)


Consiste en partir el conjunto de datos totales mltiples veces y calcular el porcentaje de aciertos medio La idea es que los sesgos de unas y otras particiones se cancelen Mtodo:

Repetir mltiples veces:


1. Desordenar el conjunto de datos total aleatoriamente 2. Escoger los primeros 70% para entrenamiento y construir el modelo con ellos 3. Escoger los ltimos 30% para el test y estimar el porcentaje de aciertos

Calcular el porcentaje de aciertos medio

144

Particiones estratificadas
Es conveniente que las particiones sean estratificadas La proporcin entre las clases que existe en el conjunto de datos original, se intenta mantener en los conjuntos de entrenamiento y test Ejemplo: si en el conjunto original un 65% de los datos pertenecen a la clase positiva, la estratificacin intentar que esa proporcin se mantenga en entrenamiento y test
145

entrenamiento y test mltiples veces (repetido)


Problema: las distintas particiones de test no son independientes (pueden solaparse unas con otras por casualidad) Explicacin: en el caso extremo, si por casualidad todas las particiones de test contuvieran exactamente los mismos datos, el repetir muchas veces el clculo en test no nos aportara ninguna informacin adicional El caso extremo no ocurre, pero siempre hay algn solape entre las particiones de test Lo ideal es que las particiones de test no solapen

Validacin cruzada (crossvalidation)


Solucin: dividir varias veces el mismo conjunto de datos en entrenamiento y test y calcular la media. As, las particiones de test no solaparn. Se divide el conjunto de datos original en k partes. Con k=3 tenemos los subconjuntos A, B, y C. Tres iteraciones:

Aprender con A, B y test con C (T1 = % aciertos con C) Aprender con A, C y test con B (T2 = % aciertos con B) Aprender con B, C y test con A (T3 = % aciertos con A) % aciertos esperado T = (T1+T2+T3)/3

El clasificador final CF se construye con todos los datos (los tres conjuntos A, B y C). Se supone que T es una estimacin del porcentaje de aciertos de CF Se suele utilizar k=10
147

Validacin cruzada (crossvalidation)


El mtodo de validacin cruzada utiliza muy bien los datos al calcular el porcentaje de aciertos esperado, porque todos ellos se utilizan para test (en alguna particin). De hecho, todos los datos figuran como entrenamiento o test en alguno de los ciclos de validacin cruzada. Las particiones de test de los distintos ciclos son independientes (no solapan) Nota: a cada una de las k divisiones de los datos de entrenamiento se la denomina fold

Leave-one-out
Es una validacin cruzada con k = nmero de datos de entrenamiento Si hay n datos de entrenamiento, repetir k=n veces:

Reservar el dato nmero n para test Entrenar con los n-1 datos restantes Hacer el test con el dato n (el resultado slo puede ser acierto o fallo) (aciertos/n)*100

El porcentaje de aciertos esperado ser:

Es preciso porque se usan casi todos los datos para entrenar, y a la vez todos los datos figuran como test en alguno de los ciclos Pero es costoso en tiempo (hay que lanzar el algoritmo de aprendizaje n veces)

Mtodos de evaluacin: conjunto de entrenamiento, conjunto de test, validacin cruzada, particin del conjunto de entrenamiento

150

Criterios bsicos para evaluar


En problemas de clasificacin, si tenemos 2 clases (o M), el porcentaje de aciertos a superar es el 50% (o 100*1/M). De otra manera, sera mejor tirar una moneda (azar) que utilizar
el clasificador para predecir

En problemas de clasificacin, si tenemos una clase con muchos ms datos que otra, el porcentaje de aciertos a superar es el porcentaje de datos de la clase mayoritaria Ej: Sean dos clases (+ y -). Hay 90 datos + y 10 -. Un clasificador
que prediga siempre + (independientemente de los atributos), ya acertar en un 90%. Hay que hacerlo mejor que eso.
151

Criterios bsicos para evaluar. Coste


En ocasiones el coste de fallar en una clase no es el mismo que fallar en otra Por ejemplo, para un clasificador de cncer si/no, es preferible predecir que una persona tiene cncer (sin tenerlo) que predecir que no lo tiene (tenindolo) Ambos casos disminuyen el porcentaje de aciertos, pero lo primero tiene menos coste que lo segundo Para analizar esos casos es conveniente utilizar la matriz de confusin
152

Evaluacin. La matriz de confusin y el coste


Sea un problema con dos clases + y (positivo y negativo) Los datos correctamente clasificados estn en la diagonal, los incorrectos fuera de ella

El porcentaje de aciertos es
(TP+TN)/(TP+TN+FN+FP)

Clasificado Clasificado como + como Dato realmente + Dato realmente TP (true positive) FP (false positive) FN (false negative) TN (true negative)

El porcentaje de aciertos de + es:


TP rate = TP / positivos = TP/(TP+FN)

El porcentaje de aciertos es:


TN rate = TN / negativos = TN/(FP+TN)

De entre todos los datos positivos, cuantos clasificamos correctamente. Mide lo bien que acertamos en la clase +

153

Evaluacin. La matriz de confusin y el coste


Supongamos que en el problema de predecir cncer si/no tenemos dos matrices de confusin. Cul es la mejor situacin? Ntese que el % de aciertos es (90+60)/200 = 75% en los dos casos
Clasificado como + Dato realmente + Dato realmente TP 90 FP 40 Clasificado como FN 10 TN 60 Dato realmente + Dato realmente Clasificado como + TP 60 FP 10 Clasificado como FN 40 TN 90

Notese tambin que en los datos hay 100 personas con cncer y 100 personas sin cncer (sumar las lneas horizontales)

154

Evaluacin. La matriz de confusin y el coste


En este caso es mejor disminuir el nmero de falsos negativos (pacientes que tienen cncer, pero que el clasificador no lo detecta). O lo que es lo mismo, maximizar los TP. Es mejor el clasificador que nos de la matriz de la izquierda
Clasificado como + Dato TP 90 realmente + Dato realmente FP 40 Clasificado como FN 10 TN 60 Dato realmente + Dato realmente Clasificado como + TP 60 FP 10 Clasificado como FN 40 TN 90

155

Evaluacin. La matriz de confusin y el coste


Si vemos que el porcentaje de aciertos de la clase positiva es bajo, podemos intentar incrementarlo duplicando las instancias positivas en el conjunto de entrenamiento O utilizando directamente matrices de coste (metacost en Weka)

156

Visualizacin de resultados: % de aciertos, % de aciertos por clase (true positive), matriz de confusin

EN PROBLEMAS DE CLASIFICACIN

Clase como
Si no FN 2 TN 2
157

Clase real

Si no

TP 7 FP 3

Visualizacin de resultados en Regresin

EN PROBLEMAS DE REGRESIN

158

La Sobreadaptacin o sobreaprendizaje (overfitting)


Se produce sobreadaptacin cuando el clasificador obtiene un alto porcentaje de aciertos en entrenamiento pero pequeo en test (es decir, no generaliza bien) Se puede decir que el clasificador est memorizando los datos en lugar de generalizando Ej: Un alumno aprende a realizar perfectamente los problemas de exmenes anteriores, pero no sabe resolver los del examen final Podemos detectarlo tambin porque en validacin cruzada saldrn porcentajes cercanos al azar

160

Idea de sobreadaptacin
Supongamos que se trata de un problema de regresin y los datos estn distribuidos segn una parbola, pero hay algo de ruido Es decir, el modelo subyacente es una parbola, pero los datos muestran ligeras variaciones (ruido)

161

Sobreadaptacin/subadaptacin
Derecha: el modelo se ha sobreadaptado al ruido porque es demasiado complejo Izquierda: el modelo lineal g(x) es demasiado simple para aproximar una parbola y subadapta los datos Conclusin: tiene que haber un equilibrio en la complejidad del clasificador (o del modelo en general)

162

Sobreadaptacin/subadaptacin
En general un algoritmo de aprendizaje va a generar clasificadores o regresores de determinada complejidad. Tenemos cierto control sobre la complejidad de los predictores mediante parmetros del algoritmo:

Redes de neuronas: nmero de neuronas ocultas Polinomios: grado del polinomio rboles de decisin: nmero de nodos

Tenemos que acertar con la complejidad apropiada: probar distintos valores del parmetro Afortunadamente, en muchas ocasiones el valor por omisin del parmetro nos va a proporcionar buenos resultados

Sobreadaptacin/subadaptacin de un clasificador lineal


Sea un problema de clasificacin biclase con 1000 atributos Disponemos de un algoritmo que genera clasificadores lineales (como el logistic regresion) Supongamos que tenemos 1000 datos de entrenamiento (y por ejemplo 10000 para test) ?Cul ser el porcentaje de aciertos en entrenamiento? ?Cul ser el porcentaje de aciertos en test?

Y = A1*X1 + A2*X2 + A3*X3 + + A1000*X1000+ A0

Sobreadaptacin por excesiva complejidad del clasificador


Los rboles de decisin se van construyendo nodo a nodo. Cuantos ms nodos, ms complejo y ms probable que sobreadapte

Sol Humedad <=75 SI > 75 NO

Cielo Nubes SI Si NO

Lluvia Viento No SI
165

Sobreadaptacin por excesiva complejidad del clasificador


Al principio, incrementar el tamao del rbol de decisin disminuye el error en entrenamiento y test Pasada cierta complejidad del rbol, el error sigue decreciendo en entrenamiento pero crece en test Muchos algoritmos tienen parmetros que permiten controlar la complejidad del clasificador (en rboles de decisin, el parmetro de poda detiene el crecimiento)

166

Parmetro de j48 contra la sobreadaptacin

167

Sobreadaptacin. Resumen
Factores que influyen: ruido, nmero de datos y complejidad del clasificador Ej: si hay pocos datos y permitimos gran complejidad al clasificador (que crezca mucho) habr sobreadaptacin (memorizacin) Ej: si hay ruido en los datos y permitimos gran complejidad al clasificador, se sobreadaptar al ruido Ej: pero si la complejidad del clasificador es insuficiente, habr subadaptacin
168

Teorema No Free Lunch


A1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 A3 0 1 0 1 0 1 0 1 OR 0 1 1 1 1 1 1 1 169

Existen 2^8=256 funciones binarias distintas Supongamos que le damos a aprender cada una de ellas al J48 Sea %i los aciertos de J48 con la funcin binaria i (%1+ %2 + ... + %256)/256= ??

Teorema No Free Lunch I


A1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 A3 0 1 0 1 0 1 0 1 OR 0 1 1 1 1 1 1 1 170

Supongamos que le planteamos a un algoritmo de minera de datos la funcin binaria OR Los datos en negrita son los de entrenamiento Supongamos que las predicciones dadas por el algoritmo de minera de datos acierta un P% con el resto de los datos (aparecen subrayados)

Teorema No Free Lunch II


A1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 A3 0 1 0 1 0 1 0 1 OR 0 1 1 1 1 1 1 1 A1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 A3 0 1 0 1 0 1 0 1 FBIN 0 1 1 1 0 0 0 0 171

Si ahora le planteamos al algoritmo otra funcin binaria (FBIN), el porcentaje de aciertos sera 100-P% Es decir, donde se acertaba en OR, se falla en FBIN En media: (100-P%+P%)/2 = 50%

Teorema No Free Lunch III


Cuando todas las combinaciones de los datos son posibles, las predicciones de un algoritmo de minera de datos concreto no son mejores que el azar (en media) No hay ningn algoritmo de minera de datos que sea mejor que todos los dems en todos los posibles problemas

172

Teorema No Free Lunch IV


El aprendizaje de regularidades es posible porque en el mundo real, no todas las posibles combinaciones de los datos son posibles La minera de datos funciona porque en el mundo real es posible suponer determinadas cosas acerca de los datos. Por ejemplo, que su comportamiento es simple, o suave en las funciones continuas Cada algoritmo hace suposiciones distintas (bias) acerca de los datos. El algoritmo funcionar mejor o peor segn acierte o falle en esas suposiciones

173

Espiral
40 30 20 10 0 -40 -30 -20 -10 -10 -20 -30 -40
174

Imposible aprender a separar dos espirales con reglas o rboles de decisin, aunque ib1 lo hace relativamente bien

Serie1 0 10 20 30 40 Serie2

Paridad par
A1 0 0 0 0 1 1 1 1 A2 0 0 1 1 0 0 1 1 A3 0 1 0 1 0 1 0 1 PAR? SI NO NO SI NO SI SI NO 175

Id3: 1% j48: 40% PART: 15% IB1: 0% IBK: 0% NBAYES: 36%

Ningn sistema es capaz de aprender la regularidad nmero par de 1s porque su lenguaje de representacin no lo permite

SIMPLE LOG.: 50%

Otras medidas de evaluacin: comprensibilidad


En ocasiones es importante evaluar el conocimiento obtenido con otras medidas Comprensibilidad: si el conocimiento es fcilmente comprensible para un ser humano. til para evaluar si el conocimiento es correcto o para tomar decisiones en base al conocimiento obtenido Muy relacionado con el tamao (nmero de reglas o nodos en el rbol de decisin) A veces merece la pena perder en porcentaje de aciertos (= subadaptacin) para ganar en comprensibilidad (construyendo rboles de decisin ms pequeos, discretizando atributos, etc.)
176

Comparacin de varios algoritmos de generacin de clasificadores


Tenemos un conjunto de datos Sabemos que algunos algoritmos de generacin de clasificadores funcionar mejor sobre esos datos que otros ?Cul usar, ej: J48 o SVM? Podemos hacer validacin cruzada y quedarnos con el mas alto En la prctica esto es suficiente Pero en ocasiones la diferencia puede ser debida al azar y no ser significativa estadsticamente Ejemplo: buscamos un algoritmo preciso pero tambin rpido (lo vamos a utilizar en una situacin dinmica que exige un entrenamiento rpido). Tenemos un algoritmo A (J48) que obtiene un 90% de aciertos, y otro B (NN) que obtiene un 92%, pero B es 100 veces mas lento que A. ?Merece la pena usar B?

Comparacin de varios algoritmos de generacin de clasificadores


Ejemplo, sobre un conjunto de datos E, J48 puede obtener un 90% de aciertos (en 10-fold crossvalidation) y NN 92%. ?Podemos asegurar que NN es mejor que J48 en este dominio? No necesariamente, si usaramos otro conjunto de datos E, puede que J48 sacara 92% Y NN 89% Existe variabilidad, debido a que no disponemos del conjunto total de datos (que puede ser infinito), sino muestras finitas y pequeas E,E, Necesitamos saber como de grande es esa variabilidad (varianza)

Comparacin de varios algoritmos (A y B) de generacin de clasificadores


Necesitamos saber como de grande es esa variabilidad (varianza) Hacemos la validacin cruzada muchas veces Para cada algoritmo, repetir 10 veces

Desordenar los datos de entrenamiento Calcular Pi de validacin cruzada (de por ejemplo, 10 folds)

Realizar test estadstico (t-test) para ver si las diferencias son significativas. Si la varianza es pequea es ms fcil que la diferencia sea significativa

Comparacin de varios algoritmos (A y B) de generacin de clasificadores


Idea importante: el que la diferencia sea significativa depende mas de que la varianza sea pequea que de que las medias estn muy separadas. ?Cul de estos dos casos es mas probable que corresponda a una diferencia significativa?. Hacemos para A y B 10 crossvalidations de 10 folds cada una. (media, desviacin)

A = (90%, 8%), B=(94%, 7%) A = (90%, 0.001%), B=(91%, 0.002%)

Comparacin de varios algoritmos (A y B) de generacin de clasificadores


Cmo lo hace Weka? Data Mining, practical machine learning tools and techniques. Second Edition. Witten and Frank. Pgina 153.

Comparacin de varios algoritmos de generacin de clasificadores

SELECCIN DE ATRIBUTOS

183

Seleccin de atributos
Algunos atributos pueden ser redundantes (como salario y categora social) y hacen ms lento el proceso de aprendizaje Otros son irrelevantes (como el DNI para predecir si una persona va a devolver un crdito) En ocasiones el exceso de atributos puede llevar a sobreaprendizaje, pues incrementa la complejidad del modelo (sobre todo si hay pocos datos) En ocasiones es til tener el conocimiento de qu atributos son relevantes para una tarea Existen algoritmos de seleccin de atributos

184

Idea importante a tener en cuenta


En ocasiones, dos atributos por separado no dan informacin, pero juntos s Ejemplo:

Sea un problema de clasificacin de textos en dos clases informtica y filosofa Sean los atributos booleanos inteligencia y artificial, que son ciertos si esas palabras aparecen en el texto y falsos en caso contrario Por separado no permiten distinguir entre informtica y filosofa:
IF inteligencia=si THEN ?; IF artificial=si THEN ?

Pero juntos s:
IF inteligencia=si Y artificial=si THEN informtica

Por tanto, el objetivo ltimo de la seleccin de atributos es encontrar el subconjunto mnimo de atributos que hace ptima la prediccin
185

Mtodos de seleccin de atributos


El mtodo mas preciso es la bsqueda exhaustiva Supongamos que tenemos 4 atributos A, B, C, D Sera necesario comprobar la validez de todos los posibles subconjuntos (24=16): {A, B, C, D}, {A, B, C}, {A, B, D}, {B, C, D}, {A, C, D}, {A, B}, {A, C}, ..., {A}, {B}, {C}, {D} En general, el mtodo es poco prctico: 2n posibles subconjuntos

186

Mtodos de seleccin de atributos


Evaluacin individual de atributos (Ranker u ordenacin) Evaluacin de subconjuntos de atributos:

CfsSubsetEval: se evalan los atributos de manera separada, pero hay cierta evaluacin conjunta SubsetEval: se evalan realmente de manera conjunta

La anterior es la nomenclatura usada en Weka, pero tradicionalmente a los mtodos se los divide en dos tipos:

Filter: los atributos se evalan de manera independientemente. Esto incluira a los mtodos Ranker y (hasta cierto punto) CfsSubsetEval de Weka Wrapper: los atributos se evalan de manera conjunta. Esto incluira a todos los mtodos subsetEval de Weka y principalmente a ClassifierSubsetEval y Wrapper
187

Seleccin de atributos. Ranker


Dado unos atributos A1, A2, ..., An Se evala cada uno de manera independiente, calculando medidas de correlacin del atributo con la clase Un atributo A1 est correlacionado con la clase, si conocer su valor implica que podemos predecir la clase con cierta probabilidad Por ejemplo, el sexo de una persona est correlacionado (de momento) con que le guste el ftbol. Su DNI no lo est Por ejemplo, el salario de una persona est correlacionado con el hecho de que vaya a devolver un crdito
188

Seleccin de atributos. Ranker


Se evala cada atributo con algn estadstico que detecte la correlacin (ej: chi-cuadrado, infogain, etc.) Se ordenan los atributos segn ese valor Se seleccionan los k mejores Mtodo muy rpido Problemas:

No detecta atributos redundantes En ocasiones no tiene sentido evaluar a los atributos por separado, sino en conjunto. Ej: las aparicin de las palabras inteligencia y artificial no est excesivamente correlacionado por separado con textos de informtica, pero juntas su correlacin se incrementa notablemente

189

Problema con atributos redundantes (ej: Naive Bayes)


P(Tenis) P(Cielo/Tenis)
Cielo Sol Nubes Lluvia Si 2/9 4/9 3/9 No 3/5 0/5 Templado 2/5 Frio 3/9 1/5 Viento Si No Si 3/9 6/9 No 3/5 2/5 4/9 2/5

P(Temp/Tenis)
Tempera tura Caliente Si 2/9 No 2/5

P(Hum/Tenis)
Humedad Alta Normal Si 3/9 6/9 No 4/5 1/5

Tenis

Si 9/14

No 5/14

Pr(si / sol, caliente, alta, si) ~ 2/9 * 2/9 * 3/9 * 3/9 * 9/14 Pr(no / sol, caliente, alta, si) ~ 3/5 * 2/5 * 4/5 * 3/5 * 5/14
Supongamos que Cielo y Temperatura estn correlacionados. El mismo atributo contara dos veces

190

Seleccin de atributos. Evaluacin de subconjuntos


Estos mtodos recorren un espacio de bsqueda de subconjuntos de atributos, evaluando subconjuntos completos de atributos No se recorre el espacio entero (eso sera bsqueda exhaustiva), sino slo aquellos subconjuntos ms prometedores Se evala el subconjunto de manera conjunta
63 51,0 52,2 82 50,5

Tipos:
CfsSubsetEval SubsetEval
53,0 94,5 53,2

51,0

51,0
191

Seleccin de atributos. Filter


Los mtodos CfsSubsetEval evalan un subconjunto de atributos calculando:

La media de las correlaciones (o similar) de cada atributo con la clase Descontando puntos por redundancias entre atributos

Mtodo rpido Problemas: elimina atributos redundantes, pero como Ranker, puede eliminar atributos que por si solos no estn correlacionados con la clase, pero con otro atributo si que lo estn (ej: inteligencia artificial)

192

Seleccin de atributos. Wrapper


Los mtodos SubsetEval evalan un subconjunto de atributos ejecutando un algoritmo de minera de datos (MD) concreto, sobre un conjunto de entrenamiento El valor del subconjunto es el porcentaje de aciertos obtenido con esos atributos Son lentos Obtienen subconjuntos de atributos adecuados para un algoritmo de MD concreto Evalan a los atributos de los subconjuntos de manera realmente conjunta
193

Mtodos de seleccin de atributos


Recordatorio de mtodos de seleccin de atributos:

Evaluacin individual de atributos (Ranker/AttributeEval) Evaluacin de subconjuntos de atributos (SubsetEval):


CfsSubsetEval: se evalan los atributos de manera individual, pero tiene en cuenta la redundancia entre atributos SubsetEval: se evalan de manera conjunta

Hay que definir:

Una manera de moverse por el espacio de bsqueda

194

Seleccin de atributos
Mtodo evaluacin de subconjuntos de atributos

Click para seleccin de atributos Mtodo de bsqueda Conjunto a usar en la evaluacin


195

Seleccin atributos. Tipos


Evaluacin de atributos individuales, Ranker/AttributeEval:

Bsqueda: Ranker Evaluador: ChiSquareAttributeEval, GainRatioAttributeEval,


InfoGainAttributeEval

Evaluacin de subconjuntos de atributos (SubsetEval):


Bsqueda: greedy, stepwise, genetic, ... Evaluador:


CfsSubsetEval SubsetEval:
ClassifierSubsetEval WrapperSubsetEval
196

Evaluadores de atributos (Ranker)


ChiSquaredAttributeEval: usa el estadstico Chi-squared para evaluar el valor predictivo del atributo GainRatioAttributeEval: usa gainratio InfoGainAttributeEval: usa infogain

197

Evaluadores de subconjuntos
CfsSubsetEval : rpidos CfsSubsetEval: considera el valor predictivo (correlacin) de cada atributo y de su redundancia SubsetEval: ms lentos ClassifierSubsetEval: usa un clasificador para evaluar el conjunto WrapperSubsetEval: classificador + validacin cruzada

198

Mtodos de bsqueda
BestFirst: Mejor primero (lento) ExhaustiveSearch: Bsqueda exhaustiva (muy lento) GeneticSearch: Bsqueda gentica (rpido) GreedyStepWise: Escalada (muy rpido) RankSearch: Primero ordena los atributos y despus construye el subconjunto de manera incremental, en direccin del mejor al peor, hasta que no merece la pena aadir nuevos atributos (rpido)
199

Seleccin Ranker

Atributos ordenados por importancia (1 y 2: char_freq_! y char_freq_$)

200

Seleccin Ranker con validacin cruzada (mrito y rango medios)

201

Seleccin Filter

Subconjunto seleccionado

202

Seleccin Filter con validacin cruzada Nmero de folds en que el atributo fue
seleccionado

203

Bsqueda partiendo del conjunto total de atributos (backward en lugar de forward)


Click para parmetros de la bsqueda

204

Bsqueda partiendo del conjunto total de atributos (backward en lugar de forward)

205

Bsqueda partiendo del conjunto total de atributos (backward en lugar de forward)

Subconjunto seleccionado

206

Mtodo Wrapper

Click para parmetros de Wrapper

207

Seleccin parmetros Wrapper

Usaremos PART como clasificador Usaremos el conjunto de entrenamiento para calcular los aciertos
208

Resultados Wrapper (lento!)

Subconjunto seleccionado

209

Seleccin con Principal Component Analysis (PCA)


Este mtodo construye nuevos atributos como combinacin lineal de los anteriores Esos nuevos atributos estn ordenados por importancia (varianza explicada) Se puede reducir la dimensionalidad escogiendo slo algunos de los atributos

210

Resultados PCA

211

Notas seleccin de atributos


Permite ver por pantalla los atributos seleccionados Pero no permite utilizar esa seleccin de atributos automticamente para clasificar Para ello es necesario ir a la pestaa preprocess y seleccionar el filtro Attribute Selection

212

Filtros (pestaa de preproceso)


*Supervisados (tienen en cuenta la clase) *No supervisados

De atributos y de instancias (datos)

213

Filtro de seleccin de atributos

214

Filtro de seleccin de atributos


Click para parmetros

215

Parmetros de seleccin de atributos

Seleccionaremos los 10 mejores atributos, tras la ordenacin


216

Resultados de la seleccin

Podemos deshacer los cambios

Hay que pulsar Apply!

Atributos seleccionados

217

Resultados de la clasificacin con los nuevos atributos

218

CURVAS DE APRENDIZAJE EN WEKA


http://weka.wiki.sourceforge.net/Lea rning+curves

MINERA DE TEXTOS

Minera de Textos
Se trata de realizar tareas de minera de datos, donde los datos son textos (pginas web, peridicos, ) Un texto es un dato Pero no est representado como una lista de valores para ciertos atributos Por tanto, habr que convertir cada texto a una represenacin de atributos/valores

Minera de textos. Tareas tpicas


Clasificacin: asignacin de una clases a cada documento Categorizacin: asignacin de varias clases a cada documento Agrupamiento (clustering) de documentos: para organizar los documentos jerrquicamente, segn alguna medida de similitud

Minera de textos. Ejemplos de aplicacin


Ordenacin automtica de correo electrnico en carpetas, segn va llegando (categorizacin o clasificacin) Filtro automtico de spam/no-spam (clasificacin binaria) Filtro de noticias de un peridico relevante/no-relevante para el usuario (clasificacin) Un agente (programa) personal busca por internet pginas interesantes para el usuario (clasificacin) Un agente de un directorio de pginas (como el directorio google) va buscando pginas y las categoriza automticamente Para crear inicialmente la estructura de categoras, sera necesario partir de un conjunto grande de pginas y, o bien categorizarlas a mano, o bien utilizar un algoritmo de clustering para descubrir categoras

Minera de textos. Fases


1. Generacin de corpus: obtencin de gran cantidad de pginas Web y etiquetado, para el aprendizaje 2. Preprocesado: eliminacin de cdigos html, signos de puntuacin, palabras con poca semntica, etc. 3. Generacin de atributos: representacin de los textos mediante atributos-valores (tabla datos x atributos) 4. Reduccin de dimensionalidad 5. Aplicacin de algoritmos de clasificacin o agrupamiento

Minera de textos. Generacin de corpus


Se pueden obtener de diversas fuentes, como directorios: Directorio google: pginas preclasificadas por temas Corpus standard de noticias reuters-21578 Etc.

Minera de textos. Corpus standard


Reuters: 10700 documentos etiquetados con 30000 trminos y 135 categoras (21MB). Un documento pertenece a mltiples categoras OHSUMED: 348566 abstracts de revistas mdicas. 230000 trminos (400MB). Cada uno etiquetado con mltiples palabras clave. 20NG: 18800 mensajes de Usenet clasificados en 20 temas. 94000 trminos (95MBs). Jerarqua de clases/etiquetas con 5 clases en el nivel ms alto y 20 en el ms bajo Industry: 10000 homepages de compaas de 105 sectores industriales (publicidad, carbn, ferrocarril, ...). Jerarqua con 80 clases arriba y 105 abajo.

Minera de textos. Preproceso


Eliminacin de:

Cdigos html innecesarios (<body>, <p>, <href ...>, etc.) Nmeros Signos de puntuacin Palabras con poca semntica (artculos, preposiciones, conjunciones, ...): stopwords (buscar en google spanish stopwords)

Minera de textos. Generacin de atributos


Es necesario convertir el texto plano en algo caracterizado por atributos (tabla datos*atributos), para poder aplicar algoritmos de minera de datos Tcnicas:

Bolsas de palabras (bags of words) Frases N-gramas Categoras de conceptos

Bolsas de palabras
Un texto se representa como un vector con tantos componentes como palabras haya en el texto. Cada componente contiene la frecuencia de la palabra en el texto Ignora el orden de aparicin de las palabras Ejemplo: En un agujero en el suelo viva un Hobbit. No un agujero hmedo, sucio, repugnante, con restos de gusanos y olor a fango, era un agujero Hobbit ...
EN A1 2 UN A2 4 AGUJERO A3 3 EL A4 1 SUELO A5 1 HOBBIT A6 2 ... ... ...

N-gramas
En ocasiones, los atributos relevantes son secuencias de palabras.

Ej: computer science, source code, inteligencia artificial, minera de datos, ...

N-gramas: como bag of words, pero los atributos son todas las tuplas de palabras de longitud n Ejemplo (bigramas)
EN-UN A1 1 UN-AGUJERO A2 2 AGUJEROEN A3 1 EN-EL A4 1 EL-SUELO A5 1 NO-UN A6 1 ... ... ...

N-gramas
Problema: hay demasiados (todas las combinaciones posibles de dos palabras) Los bigramas funcionan bien en algunos problemas pero mal en otros (ej: en zoologa es suficiente con unigramas)

Frases
Considera el documento como un conjunto de frases sintcticas Permite mantener el contexto de las palabras Ej: a cada palabra, se le aade la informacin de qu papel juega en la frase, gramaticalmente (nombre, adjetivo, verbo, ) o sintcticamente (sujeto, predicado, objeto directo, ).

Ej: En un agujero en el suelo Agujero-sujeto, suelo-complemento_circunstancial

Categoras de conceptos
Considera slo la raz morfolgica (stem) de las palabras Ejemplo: informacin, informando, informador, ... Se representan como inform Reduce la dimensionalidad del bag of words Problemas: informal e informar se pueden confundir

Problemas de las representaciones


Sinonimia: diferentes palabras con el mismo significado se representan con diferentes atributos (ej: coche y automvil) Quasi-sinonimia: palabras relacionadas con la misma materia (ej: declaracin y comunicado) Polisemia: palabras iguales con distinto significado (ej: la masa (cemento, concepto fsico, panadero, Increible Hulk, ) Lemas: palabras distintas con la misma raz (ej: informal e informante)

Reduccin de dimensionalidad
Eliminacin de palabras muy muy poco frecuentes Eliminacin de palabras muy frecuentes (suelen ser las stopwords: el, la, que, y, ...) Se pueden utilizar tcnicas de seleccin de atributos tpicas de minera de datos Se suele utilizar Indexacin Semntica Latente (LSI), que es una tcnica de proyeccin a espacios de dimensionalidad menor, similar a anlisis de componentes principales (tcnica existente en Weka: PCA) LSI tambin reduce los problemas de sinonimia y polisemia

Reduccin de dimensionalidad. PCA


Partimos de los atributos originales A1, A2, A3, , An PCA crea combinaciones de atributos ortogonales (independientes) que cubran el mximo de varianza:

A1 = 3*A1+2*A2- - An A2 = A1-2*A2+ +5* An A = peso altura; P = peso+altura

Elimina redundancia. ejemplo: altura x peso

Y los ordena. Nos podemos quedar con los M primeros mas relevantes (que expliquen, por ejemplo, el 90% de la varianza) Hay un mtodo Weka de seleccin de atributos mediante PCA

Clculo de frecuencias (term frequency)


Las frecuencias de aparicin (term frequency) (xtfij) de la palabra i en el documento j se suele calcular como:

tf ij

ij kj

n
k j

nij es el nmero de veces que la palabra i aparece en el documento j. El sumatorio suma las cuentas de todas las palabras en el documento j

Normalizacin inverse document frequency


Posteriormente, las xtfij se suelen normalizar con inverse document frequency:

tfidf ij

= xij log( ) DF i
tf

O bien

tfidf ij

1+ D = xij log( ) DF i
tf

|D| es el nmero de documentos y DFi es el nmero de documentos en los que aparece la palabra i La idea es premiar aquellas palabras que aparecen en pocos documentos (|D| >> DFi), porque se supone que son las mas discriminativas

Normalizacin inverse document frequency


TFIDF es til para problemas de clustering (aprendizaje supervisado) Para problemas de clasificacin puede funcionar peor La razn es que en clasificacin, para decidir si un atributo es relevante, habra que utilizar la clase Pero en TFIDF se le da ms/menos importancia a un trmino independientemente de la clase

Minera de textos. Utilizacin prctica


Se puede utilizar cualquier algoritmo de clasificacin Naive Bayes ha sido usado con bastante xito Ejemplos:

Uso de Naive Bayes para clasificar artculos en grupos de News (20 newsgroups). Conjunto de entrenamiento: 1000 artculos. Precisin obtenida: 89% Newsweeder: clasificacin de artculos de news en interesantes y no interesantes (etiquetados por el usuario). Filtros de spam: clasificadores bayesianos de emails en spam y no-spam (ej: spamassassin)

Das könnte Ihnen auch gefallen