Unidad 3: Minería de Datos
1
Temario 1.- Proceso de Descubrimiento del Conocimiento (KDD) 2.- Técnicas de Minería de Datos
2
Proceso KDD • Es el proceso de usar la base de datos en conjunto con cualquier selección, proprocesamiento, sub-muestreo, y transformaciones de ella; para aplicar métodos de minería de dato (algoritmos) y enumerar patrones desde ella; y para evaluar los productos de la minería de datos que identifican el subconjunto de patrones enumerados que llegarán a ser el “conocimiento”. • El descubrimiento de conocimiento puede ser: • de Predicción: patrones para predecir comportamientos futuros. • de Descripción: patrones para explicar lo que sucede en un formato entendible por el ser humano. 3
Proceso KDD ¿Por qué la Minería de Datos?
4
Proceso KDD
5
Proceso KDD ¿Por qué la Minería de Datos?
6
Proceso KDD
7
Preparación de Datos Importancia – Necesidad
• Los datos de trabajo pueden ser impuros, y conducir a la extracción de patrones/reglas poco útiles. • Motivos: • Datos incompletos. • Datos con ruido. • Datos inconsistentes.
8
Preparación de Datos Importancia – Necesidad
• La preparación de datos puede generar un conjunto de datos más pequeño que el original, lo cual puede mejorar la eficiencia del proceso de minería de datos. • Posibilidades: • Selección relevante de datos: mediante eliminación de registros duplicados, de anomalías, etc. • Reducción de datos: mediante selección de características, muestreo o selección de instancias, discretización. 9
Preparación de Datos Importancia – Necesidad
• La preparación de datos genera “datos de calidad”, los cuales pueden conducir a patrones/reglas de calidad… …a través de: • Recuperación de información perdida. • Eliminación de outliers. • Resolución de conflictos. •… 10
Preparación de Datos Actividades
• Limpieza de datos: puede ser usada para llenar valores perdidos, suavizar datos con ruido, identificar outliers y corregir datos inconsistentes.
11
Preparación de Datos Actividades: Limpieza de Datos
• Herramientas: Tabla de Resumen de atributos.
12
Preparación de Datos Actividades: Limpieza de Datos
• Herramientas: Histograma. 12 10 8 6 4 2 0 1
2
3
4
5
6
7
8
9
10 11 12
13
Preparación de Datos Actividades: Limpieza de Datos
• Herramientas: Gráficos de Dispersión (scatterplot).
Bivariante
Etiquetado
14
Reconocimiento
Matriz de Gráficos de Dispersión
15
Preparación de Datos Actividades
• Integración de datos: combina datos desde múltiples fuentes para conformar un conjunto de datos coherente. Metadatos, análisis de correlación, detección de conflictos de datos y resolución de heterogeneidad semántica, son técnicas que contribuyen a una integración adecuada.
16
Preparación de Datos Actividades
• Transformación de datos: técnicas que llevan a los datos en formatos apropiados para el minado, como por ejemplo la normalización de los datos.
17
Preparación de Datos Actividades
• Reducción de datos: con el objetivo de obtener una representación reducida de los datos, minimizando la pérdida en el contenido de la información. Técnicas posibles son la agregación de cubos y de dimensiones, la compresión de datos, la reducción de la “numerosidad” y la discretización.
18
Exploración y Selección de Datos Vista Minable
19
Exploración y Selección de Datos Vista Minable
• en otras palabras responder… • ¿Qué parte de los datos es pertinente analizar? vista minable. • ¿Qué tipo de conocimiento se desea extraer y cómo se debe presentar? tarea, método y presentación. • ¿Qué conocimiento puede ser válido, novedoso e interesante? criterios de calidad. • ¿Qué conocimiento previo hace falta para realizar esta tarea? conocimiento previo. 20
Exploración y Selección de Datos Reconocimiento de Datos
• Actividades de Reconocimiento: • del dominio y de los usuarios: reconocer el conocimiento que podría ser útil, además de intentar obtener las reglas ya existentes. Importante también determinar quien usará el conocimiento obtenido y qué tipo de representación puede ser más aconsejable. • exploración de los datos: para obtener una “vista minable”, lista para ser tratada por las herramientas de minería de datos.
21
Exploración de Datos • Técnicas posibles: • Visualización (previa) • Agrupamiento exploratorio • de selección horizontal y vertical • Interfaces gráficas •de Consulta y Agregación
22
Exploración de Datos Técnica de Ejemplo : Visualización
• Visualización: objetivos… • Aprovechar la gran capacidad humana de ver patrones, anomalías y tendencias a partir de imágenes y facilitar la comprensión de los datos. • Ayudar al usuario a comprender más rápida-mente patrones descubiertos automáticamente por un sistema KDD.
23
Exploración de Datos Técnica de Ejemplo : Visualización
• Visualización: dos tipos… • Previa (Minería de Datos Visual): se utiliza para entender mejor los datos, y sugerir posibles patrones o qué tipo de herramienta de KDD utilizar. • Posterior: al proceso de minería de datos, se utiliza para mostrar los patrones y entenderlos mejor.
24
Exploración de Datos Técnica de Ejemplo : Visualización
• Visualización Previa: ejemplos…
Funciones de densidad tridimensionales 25
Exploración de Datos Técnica de Ejemplo : Visualización
• Visualización Previa: ejemplos… 1 100 80 60 40
5
2
20
Serie1 Serie2
0
Serie3 Serie4
4
3
Gráfica radial
26
Exploración de Datos Técnica de Ejemplo : Visualización
• Visualización Previa: ejemplos… 100,00%
Other
75,00%
F
Amer-Indian-Eskimo
<=50K
50,00%
>50K
Asian-Pac-Islander
Mean <=50K Mean >50K
25,00%
Black
0,00% Age
M
White Number of years of study
Race
Sex
Hours-per-week
Coordenadas Paralelas 27
S13 S11 S9 S7 Casos
Rsg
S1 Strss
Alcl.
Prcd.
Factores
Obsd.
S3 Tnsn.
Clstrl.
Tbco.
S5
Coordenadas Paralelas
Representación Icónica 28
Selección de Datos
29
Temario 1.- Proceso de Descubrimiento del Conocimiento (KDD) 2.- Técnicas de Minería de Datos
30
Proceso KDD
31
Técnicas de la Minería de Datos Minería de Datos Descriptiva
Visualización
Predictiva
Correlaciones y Dependencias
Detección de Anomalías
Clasificación
Regresión Estadística
Pronósticos
Árboles de Decisión Asociación
Segmentación (Agrupamiento)
Inducción de Reglas
Patrones Secuenciales Redes Neuronales Artificiales
Criterios Transversales: • Métodos Difusos • Métodos Evolutivos
Máquinas de Soporte Vectorial
Métodos Bayesianos Métodos basados en Casos y Vecindad
32
Minería de Datos Tareas y Métodos Técnicas Método
Descriptivas Correlaciones
Apriori Algoritmos Genéticos y Evolutivos
Reglas de Asociación
Predictivas Segmentación
Clasificación
Regresión
x
x
x
x x
x
Análisis Discriminante Multivariante Análisis Factorial y de Componentes principales
x x
Árboles de decisión: CART
x
Árboles de decisión: ID3, C4.5
x
Árboles de decisión: otros
x
x
Bayes Ingenuo (Naive) x
Kmeans
x
Máquinas de Soporte Vectorial
x
Redes de Kohonen
x
Redes Neuronales Artificiales
x
Reglas CN2
Regresión Logística Vecinos más cefcanos
x
x
x
CobWeb, Two Step
Regresión Lineal y Logarítmica
x
x
x
x
x
x
x
x
x x
x x
x
x
33
Reglas de Asociación
34
Asociación Definiciones básicas • Tarea descriptiva, no supervisada. • Posibilidades: Reglas de Asociación: Se buscan asociaciones de la siguiente forma: (X1 = a) ↔ (X4 = b)
Dependencias: asociaciones de la forma (if Ante then Cons): if (X1= a, X3=c, X5=d)
(X4=b, X2=a)
35
Asociación Definiciones básicas RUT
Ingreso Familiar
Ciudad
Actividad
Edad Hijos
10.251.545-3
5.000.000
Concepción
Ejecutivo
45
3
M
Sí
15.512.526-4
1.000.000
Valparaíso
Abogado
25
0
M
No
12.512.526-4
3.000.000
Talca
Ejecutivo
35
2
M
Sí
14.374.183-3
2.000.000
Valdivia
Camarero
30
0
M
Sí
14.572.904-1
1.500.000
Santiago
Animador Parque Temático
30
0
F
No
Asociaciones frecuentes: Casado e (Hijos > 0) sexo Masculino y Casado
{40%, 2 casos} {60%, 3 casos}
Dependencias: (Hijos > 0) Casado Casado (Hijos > 0) Casado sexo Masculino
{100%, 2 casos} {66.6%, 2 casos} {100%, 3 casos}
Sexo Casado
36
Asociación Tipos de Reglas de Asociación • Basado en los Tipos de Valores manejados por la Regla: • Regla booleana: las asociaciones indican la ausencia o presencia del elementos, tal como:
computador
impresora
• Regla cuantitativa: las asociaciones describe relaciones entre atributos cuantitativos, como por ejemplo: (30 < edad < 39) and (ingreso > 500.000)
TV con pantalla plana
37
Asociación Tipos de Reglas de Asociación • Basado en las Dimensiones de los Datos Involucrados: • Regla unidimensional: los atributos hacen referencia a una única dimensión, como por ejemplo:
computador
impresora
• Regla multidimensional: se hace referencia a dos o más dimensiones, tal como: (30 < edad < 39) and (ingreso > 500.000)
TV con pantalla plana
38
Asociación Tipos de Reglas de Asociación • Instantáneas o Secuenciales. • Instantánea: contemporáneas.
indica
relaciones
computador
inmediatas,
impresora
• Secuencial: establece un orden temporal.
computador
impresora en próxima compra
computador
impresora antes de tres meses
39
Asociación Tipos de Reglas de Asociación • Basado en los Niveles de Abstracción.
Bebidas
Postres
40
Asociación Tipos de Reglas de Asociación • Positivas o Negativas. • Positiva: indica la ocurrencia o presencia de los ítemes relaciones.
computador
impresora
• Negativa: señala la ausencia de al menos uno de los ítemes de la regla
computador
not impresora
41
Asociación Medidas para la Bondad de las Reglas de Asociación • Medidas de Interés: • Soporte: representa la utilidad de la regla. soporte = número de casos o porcentaje en los que el antecedente se hace verdadero (rc o rc /n respectivamente), siendo n el número de datos en estudio.
• Confianza: refleja la certeza la regla. confianza = corresponde al número de casos que habiendo cumplido el antecedente de la regla, cumplen también el consecuente (rc/ra). confianza (X
Y) = soporte(X U Y) / soporte(X) 42
Asociación Medidas para la Bondad de las Reglas de Asociación • Medidas de Interés (2): • Elevación (lift): corresponde al cuociente entre el soporte observado y el soporte esperado si X e Y fueran independientes. soporte(X U Y) elevación(X
Y) = ----------------------------soporte(X) * soporte(Y)
43
Asociación Medidas para la Bondad de las Reglas de Asociación • Medidas de Interés (3): • Convicción: corresponde al cuociente entre la frecuencia con que la regla hace una predicción incorrecta (siendo ambas partes de la regla independientes entre sí) y la frecuencia observada de las predicciones incorrectas. 1 – soporte(Y) conviccion(X
Y) = -----------------------1- confianza(X
Y)
44
Asociación Algoritmos • Los algoritmos de búsqueda de asociaciones y dependencias, en la mayoría se basa en descomponer el problema en dos fases: • FASE 1 - BÚSQUEDA DE ITEMSETS FRECUENTES. Se buscan conjuntos de ítemes (o atributos) con ‘soporte’ mayor/igual al soporte deseado; de momento no se busca separarlos en parte izquierda y parte derecha. • FASE 2 - ESCLARECIMIENTO DE DEPENDENCIAS (REGLAS). Se hacen particiones binarias y disjuntas de los itemsets y se calcula la confianza de cada uno. Se retienen aquellas reglas que tienen confianza mayor/igual a la confianza deseada. 45
Asociación Algoritmos • Algoritmo Apriori: método básico para encontrar reglas booleanas, unidimensionales y mononivel. • Algunas ideas asociadas... • El algoritmo obtiene los llamados itemsets frecuentes para generar las reglas de asociación booleanas. • Su nombre es debido a que se basa en conocimientos previos sobre la frecuencia de los itemsets, al usar los k-itemsets para explorar los del siguiente nivel o paso (k+1). • Condición apriori: todos los subconjuntos de un itemset frecuente deben ser frecuentes. • Propiedad anti-monótona: si un conjunto no supera una prueba, los supra-conjuntos derivados tampoco la superarán. 46
Asociación Algoritmos • Algoritmo Apriori: dado un soporte mínimo smin... 1. i=1 (tamaño de los conjuntos) 2. Generar un conjunto unitario para cada atributo en Si. 3. Comprobar el soporte de todos los conjuntos en Si. Eliminar aquellos cuyo soporte < smin. 4. Combinar los conjuntos en Si para crear conjuntos de tamaño i+1 en Si+1. 5. Si Si no es vacío entonces i:= i+1. Ir a 3. 6. Si no, retornar S2 ∪ S3 ∪ ... ∪ Si
47
Asociación Algoritmos FASE A: BÚSQUEDA DE ITEMSETS FRECUENTES (A PRIORI) soporte mínimo = 2 Fila 1 2 3 4
1 x x
2 x x x
3 x x x
4 x
5 x x x
S1= { {1}, {2}, {3}, {4}, {5} } S1’: soporte = { {1}:2, {2}:3, {3}:3, {5}:3 } S2= { {1,2}, {1,3}, {1,5}, {2,3}, {2,5}, {3,5} } S2’: soporte = { {1,3}:2, {2,3}:2, {2,5}:3, {3,5}:2 } S3= { {1,2,3}, {1,2,5}, {1,3,5}, {2,3,5} } S3’: soporte = { {2,3,5}:2 } Sfinal = S2’ ∪ S3’ = { {1,3}, {2,3}, {2,5}, {3,5}, {2,3,5} } 48
Asociación Algoritmos FASE B: ESCLARECIMIENTO DE DEPENDENCIAS (REGLAS) Fila 1 2 3 4
{1}→{3} {2}→{3} {2}→{5} {3}→{5}
1 x x
: : : :
2 x x x
1 0.67 1 0.67
{2,3}→{5} : 1 {3,5}→{2} : 1
3 x x x
4 x
5 x x x
soporte = 2 confianza = 0.75
{3}→{1} {3}→{2} {5}→{2} {5}→{3}
: : : :
0.67 0.67 1 0.67
{2,5}→{3} : 0.67
49
Asociación Algoritmos • Mejoras (extensiones) • Muestreo de la base de datos. • Filtro (selección) de atributos. • Paralelismo. • Aplicación a atributos numéricos discretización; segmentación y asignar un valor discreto a cada grupo.
50
Asociación Algoritmos • algoritmo AprioriAll: trata de establecer asociaciones del estilo: “si compra X en T … ¿comprará Y en T+P?”; es decir es para obtener patrones secuenciales. Ejemplo:
51
Asociación Algoritmos
52
Segmentación
53
Segmentación • En este tipo de análisis se busca agrupar o segmentar los datos en grupos de acuerdo a la “relación” que se encuentre ellos. • Encontrar agrupamientos de tal forma que los objetos de un grupo sean similares entre sí y diferentes de los objetos de otros grupos.
54
Segmentación • Normalmente se refiere al llamado aprendizaje no supervisado, pues no descansa sobre clases predefinidas ni ejemplos de prueba en dichas clases. • Por lo anterior, usa un esquema de aprendizaje por observación más que por ejemplos.
55
Segmentación • El elemento clave es la elección de la distancia o medida de similitud entre objetos.
56
Segmentación • Ejemplo:
57
Segmentación • Distancia de edición: de Levenstein (número de operaciones necesario para transformar una cadena en otra). d(“data mining”, “data minino”) = 1 d(“efecto”, “defecto”) = 1 d(“poda”, “boda”) = 1 d(“night”,”natch”) = d(“natch”,”noche”) = 3 • Para datos binarios: Distancia de Hamming.
58
Segmentación Tipos de Algoritmos 1) Métodos de Particionamiento: dada una base de datos con n objetos, un método de este tipo construye k particiones, donde cada una de éstas representa un grupo, siendo k <= n. Ejs.: K-Means, K-Medoids (PAM).
59
Segmentación Tipos de Algoritmos 2) Métodos Jerárquico: crea una descomposición jerárquica del conjunto de datos dado. Ejs.: BIRCH, CURE. p1 p3
p4
p2
p1 p2
p3 p4
Tradicional DENDOGRAMA
p1 p3
p4
p2
No tradicional
p1 p2
p3 p4
60
Segmentación Tipos de Algoritmos 3) Métodos basados en la Densidad: la idea general es continuar creciendo el grupo dado tanto como la densidad (número de objetos o puntos de datos) en la vecindad exceda algún umbral. Ejs.: DBSCAN, OPTICS.
61
Segmentación Tipos de Algoritmos 4) Métodos basados en la Grilla: cuantiza el espacio de objetos en un número finito de celdas que conforman una estructura de grilla. Entonces realizar todas las operaciones de agrupamiento en esta última. Ejs.: STING, CLIQUE, Wave-Cluster.
62
Segmentación Tipos de Algoritmos 5) Métodos basados en Modelo: hipotetiza un modelo por cada uno de los grupos, y encuentra el mejor ajuste de los datos a ese modelo; puede localizar los grupos al construir una función de densidad que refleje la distribución espacial de los puntos de datos. Enfoque Estadístico: algoritmos COBWEB, CLASSIT. Enfoque de Red Neuronal: SOM o Mapas AutoOrganizados (Redes de Kohonen).
63
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: basado en centroides. • Procedimiento: • Dividir aleatoriamente los ejemplos en k conjuntos y calcular la media (el punto medio) cada conjunto. • Reasignar cada ejemplo al conjunto con el punto medio más cercano. • Calcular los puntos medios de los k conjuntos. • Repetir los pasos 2 y 3 hasta que los conjuntos no varíen.
64
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: ejemplo.
Distancias Euclideanas
65
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: ejemplo (2).
Primera Iteración
Segunda Iteración 66
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: ejemplo (2).
Tercera Iteración
Configuración Final 67
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: problemas... • Si se sabe que hay n clases, hacer k=n puede resultar en que, algunas veces, algún grupo use dos centros y dos grupos separados tengan que compartir centro.
• Si k se elige muy grande, la generalización es pobre y las agrupaciones futuras serán malas.
• Determinar el k ideal es difícil. 68
Segmentación Algoritmos de Particionamiento • Algoritmo K-means: variaciones. • K-modes: para datos categóricos, al reemplazar los promedios de los grupos por las modas. • EM (Expectation Maximization): en vez de asignar cada punto a un grupo dedicado, asigna cada punto a un grupo de acuerdo a algún peso que represente la probabilidad de la membresía. En otras palabras no hay fronteras estrictas entre los grupos.
69
Segmentación Algoritmos de Particionamiento • Algoritmo K-medoids: basado en puntos representativos. • En este caso no hay restricciones sobre el tipo de variable, y además se consideran sólo las distancias o similitudes de entre observaciones. • Se reemplazan entonces las medias, por observaciones que estén en el centro de los grupos...con esto se soluciona el problema de los outliers, que tienden a distorsionar la distribución de los datos de un grupo.
70
Segmentación Algoritmos Jerárquicos Crean una descomposición jerárquica del conjunto de datos dado. Enfoques. Aglomerativo (bottom-up): empieza con cada objeto formando un grupo separado; sucesivamente mezcla los (grupos de) objetos cercanos entre sí, hasta que se cumpla cierta condición dada. Divisivo (top-down): empieza con todos los objetos en el mismo grupo; en cada iteración sucesiva, un grupo es dividido en otros más pequeños, hasta que eventualmente se cumpla cierta condición dada.
71
Segmentación Algoritmos Jerárquicos
Enfoque Aglomerativo (bottom-up)
Enfoque Divisivo (top-down)
72
Segmentación Algoritmos Jerárquicos 0
a
1
2
3
4
(AGlomerative NESting)
ab
b
abcde
c
cde
d
de
e 4
Algoritmo Aglomerativo: AGNES
3
2
1
0
Algoritmo Divisivo: DIANA (DIvisive ANAlysis)
Cuál es el criterio de detención? 73
Segmentación Algoritmos Jerárquicos
Dendograma
La similitud entre dos objetos viene dada por la “altura” del nodo común más cercano. 74
Segmentación Algoritmos Jerárquicos
El dendograma puede ayudar a determinar el número de grupos…
75
Segmentación Algoritmos Jerárquicos …y detectar outliers.
Outlier
76
Segmentación Algoritmos Jerárquicos Para construir un dendograma: 1. Calcular las distancias entre todos los pares de objetos – esto equivale a asumir que cada objeto constituye un grupo por si solo {C1, ...,CN}. 2. Buscar los dos grupos más cercanos (Ci, Cj), y juntarlos para dejarlos como un único grupo. 3. Repetir el paso 2 hasta que no queden pares de comparación. En general, la representación es mediante un árbol. 77
Segmentación Algoritmos Jerárquicos Para medir la distancia entre grupos… MIN Enlace simple
MAX enlace completo (diámetro)
78
Segmentación Algoritmos Jerárquicos Para medir la distancia entre grupos… PROMEDIO Enlace promediado
basado en CENTROIDES Ej.: BIRCH.
×
×
79
Segmentación Algoritmos Jerárquicos Ejercicio 1: D1 D2 D3 D4 D5 D6 D7
0.3606 0.5000 0.9220 1.3416 1.8385 1.7263 D1
0.4243 0.7071 1.0440 1.5524 1.5000 D2
0.4472 0.9220 1.3892 1.2369 D3
0.5000 0.9434 0.8062 D4
D1/D2=D8 D3 D4 D5 D6 D7
D8 D3 D4 D5 D6/D7=D9
0.4243 0.7071 1.3416 1.5000 D8
0.4472 0.9220 1.2369 D3
0.5000 0.8062 D4
0.5099 0.5831 D5
0.4243 0.7071 1.3416 1.5524 1.5000 D1/D2=D8
0.5831 D5
0.4000 D6 D7
0.4472 0.9220 1.3892 1.2369 D3
D6/D7=D9
0.5000 0.9434 0.8062 D4
0.5099 0.5831 D5
0.4000 D6
D7
80
D8 D3 D4 D5 D6/D7=D9
0.4243 0.7071 1.3416 1.5000 D8
0.4472 0.9220 1.2369 D3
0.5000 0.8062 D4
0.5831 D5
D6/D7=D9
D3/D8=D10 D4 D5 D9
D4/D10=D11 D5 D9
0.5000 0.8062 0.5831 D4/D10=D11 D5
0.4472 0.9220 1.2369 D3/D8=D10
0.5000 0.8062 D4
0.5831 D5
D9
D9
D5/D11 D9
0.5831 D5/D11
D9
81
Segmentación Algoritmos Jerárquicos Ejemplo gráfico de dendograma: para cuatro grupos.
Enlace único
Enlace completo 82
Segmentación Algoritmos Jerárquicos Ejemplo gráfico de dendograma: para datos aleatorios.
Enlace único
Enlace completo 83
Segmentación Algoritmos Jerárquicos CHAMALEON. Partición del grafo
Grupos finales
Combinar particiones
84
Clasificación
85
Clasificación • Es el proceso de encontrar un modelo que describa y distinga clases de datos o conceptos, con el propósito de conocer la clase de otros objetos que aún no la tienen definida. • En general: • Clasificación: predice el valor de un atributo categórico (discreto o nominal). • Predicción: construye funciones que toman valores continuos.
• Aunque sirve para conocer la clase de un objeto, en algunas aplicaciones puede predecir, en su lugar, algún valor “perdido” o no disponible. 86
Clasificación • El modelo obtenido está basado en el análisis de un conjunto de datos de entrenamiento, que son objetos ya clasificados aprendizaje supervisado. • Para construir un modelo de clasificación: • Se divide el conjunto de datos disponible en un conjunto de entrenamiento (para construir el modelo) y un conjunto de prueba (para evaluar el modelo). • Se construye el modelo usando el conjunto de entrenamiento, y se valida con el conjunto de prueba, obteniéndose un porcentaje d clasificación asociado al número de aciertos obtenidos. • Si dicho porcentaje es aceptable, el modelo es considerado como útil para clasificar nuevos casos. 87
Clasificación 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
Algoritmo de aprendizaje Inducción
Aprender modelo
10
Modelo
Conjunto de entrenamiento Attrib2
Attrib3
Aplicar modelo
Tid
Attrib1
Class
11
No
Small
55K
?
12
Yes
Medium
80K
?
13
Yes
Large
110K
?
14
No
Small
95K
?
15
No
Large
67K
?
Deducción
10
Conjunto de prueba 88
Clasificación
89
Clasificación • Ejemplo: el ejemplo mas simple de aprendizaje supervisado es la generación de una regla de clasificación a partir de ejemplos positivos y negativos de una clase. • Suponer que la clase en estudio es “Auto Familiar”; después de una encuesta entre usuarios de lo que define a un auto familiar, se distinguen dos criterios como los más mencionados: Precio y Potencia de la máquina (centímetros cúbicos de los cilindros). 90
Clasificación A partir de una discusión con los expertos y a partir de los datos, se podría inferir que los valores del Precio y Potencia debieran estar en un determinado rango para que el vehículo sea clasificado como “familiar”.
p1 ≤ p ≤ p2 y e1 ≤ e ≤ e2
91
h es la hipótesis inducida y C es la verdadera clase.
¿Y si hay ruido?
Hipótesis más general vs hipótesis más específica.
¿Y si hay múltiples clases?
92
Clasificación • El modelo puede ser representado por varias formas: • • • • • •
Árboles de decisión. Reglas de clasificación (if-then). Métodos bayesianos. Redes neuronales artificiales. … …
93
Clasificación Árboles de Clasificación • Árboles de Clasificación (o de decisión). • Estructura similar a un diagrama de flujo, donde cada nodo interno denota una condición sobre un atributo, cada enlace representa una salida de la misma, y cada nodo hoja representa las clases.
• Pueden ser fácilmente convertidos en reglas de clasificación. • Algoritmos más comunes: ID3, C4.5 (J48 de Weka).
94
Clasificación Árboles de Clasificación • Construcción: por lo general, una estrategia del tipo dividir y conquistar. • Se comienza con todos los ejemplos de entrenamiento en la raíz del árbol. • Los ejemplos se van dividiendo en función del atributo que se seleccione para ramificar el árbol en cada nodo. • Los atributos que se usan para ramificar se eligen en función de una heurística.
95
Clasificación Árboles de Clasificación • Construcción: posibles criterios de detención… • Todos los ejemplos que quedan pertenecen a la misma clase (se añade una hoja al árbol con la etiqueta de la clase). • No quedan más atributos por ramificar (se añade una hoja etiquetada con la clase más frecuente en el nodo). • No hay más datos que clasificar.
96
Clasificación Árboles de Clasificación • Construcción: Heurísticas • La heurística a escoger para seleccionar el atributo por el cual ramificar debe ser aquélla que entregue nodos más homogéneos.
• Ejemplos de Heurísticas: • Ganancia de Información (ejs.: algoritmos ID3, C4.5) • Índice de Gini (ejs.: algoritmos CART, SLIQ, SPRINT) • Otras como χ2, MDL (Minimum Description Length.
97
Clasificación Árboles de Clasificación • Construcción: Heurísticas (2) • Ganancia de Información: referida a una medida de la “bondad” de la división...a mayor ganancia de información, mayor reducción de la entropía. • Información esperada para clasificar una muestra:
• Entropía:
• Reducción esperada en la entropía causada al conocer el valor del atributo A:
98
Clasificación Árboles de Clasificación • Construcción: Heurísticas (3) • Índice de Gini: es una medida de la impureza. n gini ( D ) = 1 − ∑ p 2j j =1
• Se escoge aquel atributo que entrega la mayor reducción de la impureza. C1 C2
0 6
Gini=0.000
C1 C2
1 5
Gini=0.278
C1 C2
2 4
Gini=0.444
C1 C2
3 3
Gini=0.500
99
Clasificación Árboles de Clasificación • ID3: algoritmo básico para la inducción de árboles de decisión.
algunas consideraciones... 100
• Ejemplo: sean C1 = yes, C2 = no.
101
Clasificación Árboles de Clasificación • Ejemplo: continuación...
102
Clasificación Árboles de Clasificación • Poda del Árbol: • Al construir un árbol de decisión, varias ramas reflejarán anomalías en los datos de entrenamiento, debido a ruido o outliers. • Los métodos de poda direccionan este problema de sobreajustar los datos. • Típicamente se usan medidas estadísticas para remover las ramas menos confiables, generalmente resultando en una clasificación más rápida y una mejora en la habilidad de clasificar correctamente datos de prueba independientes. • Enfoques comunes: • Poda Previa, Poda Posterior. • Poda por costo-complejidad (CART), poda pesimista (C4.5).
103
Clasificación Reglas de Clasificación • Reglas de Clasificación: existen diversas formas de obtener reglas. • A partir de un árbol de decisión • A través de algoritmos específicos de inducción de reglas (ejs.: STAR, Ripper) • A partir de reglas de asociación
104
Clasificación Reglas de Clasificación a) Extracción de Reglas de Clasificación a partir de un árbol de Decisión: por cada camino que exista entre la raíz y una hoja del árbol.
Las reglas son mutuamente excluyentes y exhaustivas.
105
Clasificación Reglas de Clasificación • Reglas de Clasificación: las reglas extraídas mutuamente y exhaustivas. Si se simplifican…
son
• podrían dejar de ser mutuamente excluyentes (varias reglas serían válidas para un mismo ejemplo) establecer un orden entre las reglas [lista de decisión] o realizar una votación. • podrían dejar de ser exhaustivas (ninguna regla sea aplicable a un ejemplo concreto) incluir una clase por defecto.
106
Clasificación Reglas de Clasificación b) Obtención de Reglas de Clasificación Algoritmos de Inducción de Reglas.
mediante
• Las reglas se aprenden de una en una. • Cada vez que se selecciona una regla, se eliminan del conjunto de entrenamiento todos los casos cubiertos por ella. •
El proceso se repite hasta que se cumpla alguna condición de detención. • el aprendizaje comienza con la regla más general. • ésta se le va agregando elementos a su antecedente para maximizar la “calidad” (cobertura, precisión). 107
Clasificación Reglas de Clasificación • Ejemplo: R1
(i) Original Data
(ii) Step 1
(iii) Step 2
• Algoritmos representativos: FOIL, CN2, RIPPER, PNRule.
108
Clasificación Reglas de Clasificación c) Reglas de Clasificación a partir de reglas de Asociación: se buscan entre las mejores reglas de asociación, se superan algunas limitaciones de los árboles de decisión (que sólo consideran los atributos de uno en uno [y parcialmente]). • Algunos algoritmos representativos: CBA, RCBT, CMAR, CPAR, ART.
109
Clasificación Reglas de Clasificación • Ejemplo: algoritmo ART. K=1
Extracción de reglas con K items en su antecedente Sí ¿existen reglas adecuadas?
No
Sí Ramificación del árbol con las reglas seleccionadas y procesamiento recursivo de la rama “else” del árbol
K=K+1
¿ K <= MaxSize ? No Creación de un nodo hoja etiquetado con la clase más frecuente 110
Clasificación Reglas de Clasificación • Ejemplo: algoritmo ART (2). K=1 Extracción Selección
Ramificación
K++
Seguir?
Hoja
a) Extracción de reglas: hipótesis candidatas • Soporte mínimo • Confianza mínima 111
Clasificación Reglas de Clasificación • Ejemplo: algoritmo ART (3). K=1 Extracción Selección
Ramificación
K++
Seguir?
Hoja
b) Selección de reglas: • Reglas agrupadas por conjuntos de atributos • Criterio de preferencia 112
Ejemplo:
NIVEL 1 - Extracción de reglas de asociación • Umbral de soporte mínimo = 20% • Selección automática del umbral de confianza NIVEL 1, k = S1: if (Y=0) if (Y=1) S2: if (Z=0) if (Z=1)
1 then then then then
NIVEL 1, k = 2 S1: if (X=0 and if (X=0 and S2: if (X=1 and if (X=1 and S3: if (Y=0 and if (Y=1 and
C=0 C=1 C=0 C=1
Y=0) Y=1) Z=0) Z=1) Z=0) Z=1)
with with with with
then then then then then then
confidence confidence confidence confidence
C=0 C=1 C=0 C=1 C=0 C=1
(100%) (100%) (100%) (100%) (100%) (100%)
75% 75% 75% 75%
113
NIVEL 1 - Selección del mejor conjunto de reglas p.ej. S1
NIVEL 1, k = S1: if (Y=0) if (Y=1) S2: if (Z=0) if (Z=1)
1 then then then then
NIVEL 1, k = 2 S1: if (X=0 and if (X=0 and S2: if (X=1 and if (X=1 and S3: if (Y=0 and if (Y=1 and
C=0 C=1 C=0 C=1
Y=0) Y=1) Z=0) Z=1) Z=0) Z=1)
with with with with
then then then then then then
confidence confidence confidence confidence
C=0 C=1 C=0 C=1 C=0 C=1
(100%) (100%) (100%) (100%) (100%) (100%)
75% 75% 75% 75%
114
NIVEL 2 - Extracción de reglas de asociación • Umbral de soporte mínimo = 20% • Selección automática del umbral de confianza
NIVEL 2, k = 1 S1: if (Z=0) then C=0 with confidence 100% if (Z=1) then C=1 with confidence 100%
Resultado Final: X=0 and Y=0: C=0 (2) X=0 and Y=1: C=1 (2) else Z=0: C=0 (2) Z=1: C=1 (2) 115
Clasificación Reglas de Clasificación • Reglas de Clasificación: los resultados de la aplicación de los no siempre pueden coincidir. ART
TDIDT Y
XY 00 0
0
else
01
X
X
Z
1
1
0
1
0
1
0
1
0
1
0
Z
1
Z
0
1
0
1
0
1
0
1
116