Este documento se desarrolló a partir de otras fuentes que...

284

Transcript of Este documento se desarrolló a partir de otras fuentes que...

Page 1: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción
Page 2: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

Este documento se desarrolló a partir de otras fuentes que se encuentran citadas tanto dentro del contenido como en los espacios reservados para la bibliografía. Si usted es autor de los documentos que se tomaron como bibliografía y considera que las referencias a su trabajo no están adecuadamente descritas, por favor comuníquese con el profesor Jonatan Gómez Perdomo a través del correo electrónico: [email protected].

Page 3: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

CONTENIDO MÓDULO 3: MINERÍA DE DATOS

Pág.

1. Introducción a la Minería de Datos 1 1.1 Proceso de descubrimiento de conocimiento 1.2 Aplicaciones de la minería de datos 1.3 Análisis exploratorio de datos 2 CRISP 42 2.1 Elección de un sistema de Minería de Datos 2.2 Ejemplos de Sistemas de Minería de Datos 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción 3.2 Limpieza de Datos 3.3 Integración de Datos 3.4 Transformación de Datos 3.5 Reducción de datos 3.6 Principal Component Analysis PCA 4. Reglas de Asociación 102 4.1 Introducción 4.2 Conceptos Básicos 4.3 El algoritmo “A priori” 4.4 Generación de canidatos 4.5 Ejemplo de generación de candidatos 4.6 Generando Reglas de Asociación desde conjuntos de ítems frecuentes 4.7 Reglas de asociación Múltiple-Nivel 4.8 Minando Multi-nivel con soporte reducido 4.9 Método FP-GROWTH 4.10 Reglas de asociación multidimensionales 5 Análisis Supervisado I 122 5.1 Conceptos básicos de aprendizaje maquinal 5.2 Árboles de decisión y Reglas de Decisión 5.3 Medidas de desempeño 6. Análisis Supervisado II 140 6.1 Introducción 6.2 Redes multicapa 6.3 Entrenamiento 6.4 Aplicaciones 6.5 Generalización y sobre ajuste

Page 4: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

6.5.1 Error de entrenamiento y prueba 6.5.2 Complejidad del modelo 6.5.3 Control del sobre-ajuste 7. Análisis Supervisado III 178 7.1 Modelos Bayesianos 7.1.1 Principios de probabilidad 7.1.2 Riesgo y costo 7.2 Clasificador Bayesiano 7.3 Naive Bayes 7.4 Clasificación sensible al costo 7.5 Imbalance de clases 8. Regresión y Series de Tiempo 198 9. Análisis No Supervisado: Agrupamiento de Datos (Data Clustering) 207 9.1 Conceptos básicos 9.2 Medidas de similaridad 9.3 Agrupamiento particional 9.4 Agrupamiento jerárquico 9.5 Agrupamiento basado en densidad 10 Análisis no supervisado: agrupamiento 260 10.1 Medidas de desempeño para agrupamiento 10.2 Otros métodos (en malla, SOM)

Page 5: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

1

Minería de DatosII - 2007

Introducción a la Minería de Datos

Page 6: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

2

Agenda

Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos

Agenda

Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos

Page 7: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

3

Proceso de descubrimiento de conocimiento

Knowledge Discovery en BD & Minería de Datos

KDD Proceso (Donde las bodegas de datos hacen parte del proceso de minería).

Knowledge Discovery en BD & Minería de Datos

• Grandes bases de datos contienen información no plenamente explotada (información valiosa (oro!)). Esta información puede ser encontrada entre los datos haciendo uso de minería en los datos.

Page 8: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

4

Knowledge Discovery en BD: Definición

KDD: Descubrir informacion útil o conocimiento (patrones, asociaciones) desde grandes repositorios de datos.

KDD

Knowledge Discovery en BD: Proceso

Pre-procesamiento de Datos:Limpieza, integración y transformación. Minería de Datos: Uso de mméétodos inteligentestodos inteligentes para extraer conocimiento (búsqueda de oro) .

1. Evaluación de patrones encontrados y presentación

Page 9: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

5

Proceso de KDD

Limpieza de Datos

Integración de datos

SelecciónBodega de Datos

Seleccionar Datos Relevantes

Evaluación de Patrones

Minería de Datos

Bases de Datos

Preprocesamiento

Limpieza e IntegraciónBodega de Datos

Ruidoedad de 180 años

Valores PerdidosNo tiene edad

Page 10: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

6

Preprocesamiento

Seleccionar datos relevantesReducir dimensiones

Principal Component AnalisisEntropía

Reducir valoresDiscretizar

Dar el mismo peso a todas las dimensiones

Normalizar

Preprocesamiento

Tipos de datosNuméricosCategóricos (ordinales, nominales)

Page 11: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

7

PreprocesamientoEdad Ingresos Estudiante Crédito compra _computador

<=30 Alto no Bueno no<=30 Alto no Excelente no31…40 Alto no Bueno si>40 Medio no Bueno si>40 Bajo si Bueno si>40 Bajo si Excelente no31…40 Bajo si Excelente si<=30 Medio no Bueno no<=30 Bajo si Bueno si>40 Medio si Bueno si<=30 Medio si Excelente si31…40 Medio no Excelente si31…40 Alto si Bueno si>40 Medio no Excelente no

Agenda

Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos

Page 12: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

8

Tareas de la Minería de Datos &Aplicaciones

Descripción de clases

Sumarizacion/ caracterización de la colección de datos

OLAP (On Line Analitical Process)TendenciasReportes

Page 13: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

9

Tareas de la minería de datos

Encontrar Asociaciones

Descubrir asociaciones, relaciones / correlaciones entre un conjunto de “ítems”

{pan,leche,pañales,gaseosa}5

{pan,leche,pañales,cerveza}4

{leche, pañales, cerveza, gaseosa}

3

{pan,pañales,cerveza,huevos}2

{pan, leche}1

ÍtemsIdInterInteréés en analizars en analizarlos datos para los datos para aprenderaprenderel comportamiento de el comportamiento de las compras de sus las compras de sus clientesclientes

•Promociones de mercadeo•Manejo de inventario•Relación con el cliente

Page 14: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

10

Encontrar AsociacionesAsociaciones, relaciones / correlaciones enforma de reglasforma de reglas: X X ⇒⇒ YY(registros en BD que satisfacen X, también satisfacen Y)

Transaction ID Items Bought2000 A,B,C1000 A,C4000 A,D5000 B,E,F

Frequent Itemset Support{A} 75%{B} 50%{C} 50%{A,C} 50%

Min. support 50%Min. confidence 50%

For rule A ⇒ C: support = support({A ∪ C}) = 50%confidence = support({A ∪ C})/support({A}) = 66.6%

Encontrar Asociaciones (Aplicaciones)

Supermercados (Canasta de mercado)Contratos de Mantenimiento (Que debe hacer el almacén para potenciar las ventas de contratos de mantenimiento)

98% de la gente que compra llantas y accesorios de autos también obtiene servicios de mantenimiento

Recomendaciones de paginas Web (URL1 & URL3 -> URL5)

60% de usuarios de la Web quien visita la Pagina A y B compra el ítem T1

Page 15: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

11

Clasificación y Predicción

Clasificación: Construir un modelomodelo por cada clase de dato etiquetado usado en el entrenamiento del modelo. Basado en sus características y usado para clasificar futuros datosPredicción: Predecir valores posibles de datos/atributos basados en similar objetos.

Proceso de Clasificación (Paso 1): Construcción del Modelo(Problema de Segunda Clase)

Datos de Entrenamiento

NOMBRE Rango Años OcupadoMike Profesor Asistente 3 noMary Profesor Asistente 7 siBill Profesor 2 siJim Profesor Asociado 7 siDave Profesor Asistente 6 noAnne Profesor Asociado 3 no

Algoritmos de Clasificación

IF rango = ‘profesor’OR años > 6THEN ocupado = ‘yes’

Clasificador(Modelo)

Page 16: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

12

Proceso de Clasificación (Paso 2): Uso del Modelo en la Predicción

Clasificador

Datos de Prueba

Nombre Rango Años OcupadoTom Profesor Asiste 2 noMellisa Profesor Asoci 7 noGeorge Profesor 5 siJoseph Profesor Asiste 7 si

Datos no vistos

(Jeff, Profesor, 4)

¿Ocupado?

Clasificación y Predicción(árboles de decisión)

Determinar si clientes compraran determinado producto.

age income student credit_rating buys_computer<=30 high no fair no<=30 high no excellent no30…40 high no fair yes>40 medium no fair yes>40 low yes fair yes>40 low yes excellent no31…40 low yes excellent yes<=30 medium no fair no<=30 low yes fair yes>40 medium yes fair yes<=30 medium yes excellent yes31…40 medium no excellent yes31…40 high yes fair yes>40 medium no excellent no

¿Edad?

overcast

¿Estudiante? ¿Crédito?

no si buenoexcelente

<=30 >40

no nosi si

si

30..40

Page 17: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

13

Evaluación del modelo

Basado en el número de registros que fueron clasificados correcta e incorrectamente.Confusion Matrix

Clase

Clase predicción

f00f01Clase =2Clase =2

f10f11Clase =1Clase =1

Clase =2Clase =2Clase =1Clase =1

Accuracy= Número correctosTotal

=f 11 +f 00

f 11+f 10 +f 01 +f 00

Error rate = Número incorrectosTotal

=f 10 +f 10

f 11 +f 10 +f 01 +f 00

Clasificación y Predicción(Aplicaciones)

Aprobación de créditosDiagnóstico médicoClasificación de documentos de texto (text mining)Recomendación de paginas Web automáticamenteSeguridad

Page 18: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

14

RegresiónPredicción de una variable real (no

categórica )Variable real -> regresiónVariable categórica -> clasificación

Series de tiempoPredecir valores futuros de acuerdo al tiempo

Page 19: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

15

Agrupación

Dividir datos sin etiqueta en grupos (clusters) de tal forma que datos que pertenecen al mismo grupo son similares, y datos que pertenecen a diferentes grupos son diferentes

7.5

7.75

8

8.25

8.5

8.75

9

9.25

9.5

9.75

10

Similaridad

Medidas de similaridad/distanciaDependen de los tipos de datos

Numéricos:Distancia Euclidean

BinariosJaccardCosine

Page 20: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

16

Agrupación - Aplicaciones

Procesamiento de Imágenes (segmentar imágenes acolor en regiones)Indexamiento de textoe imágenes

WWWClasificación de paginas Web (usados por motores de búsqueda -Google)Agrupar web log para descubrir grupos de patrones de acceso similares (web usage profiles)

Agrupación - Aplicaciones

Seguridad: Descubriendo patrones de acceso a redes (Detección de intrusos)

Page 21: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

17

Aplicaciones de “Web Mining”

Personalización automática: Sitios adaptativos facilitan navegación, búsqueda, etc. E-commerce: Sitios Web pueden ser construidos mas amigablesMercadeo Optimizado (publicidad) para negociar productos, servicios e informaciónMejores Motores de Búsqueda

•Medidas de Similaridad•Agrupamiento Jerárquico•Sistemas IR•Consultas Imprecisas•Datos Textuales•Motores de Búsqueda Web

•Teorema de Bayes•Análisis de Regresión•Algoritmo EM•Agrupamiento K-Means•Análisis de Series de Tiempo

•Redes Neuronales•Algoritmos de Árboles de Decisión

•Técnicas de Diseño de Algoritmos•Análisis de Algoritmos•Estructuras de datos

•Modelo de Datos Relacional•SQL•Algoritmos de asociacion de reglas•Bodegas de Datos•Técnicas escalables

Page 22: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

18

Técnicas usadas en Minería de Datos

EstadísticaÁrboles de DecisiónRedes NeuronalesAlgoritmos GenéticosLógica Difusa

Θj -

f

weighted sum

Inputvector x

output y

Activationfunction

weightvector w

w0

w1

wn

x0

x1

xn

age?

overcast

student? credit rating?

no yes fairexcellent

<=30>40

no noyes yes

yes

30..40

Naïve Bayes

Teorema de BayesTeorema de Bayes

P(Y|X) = P(X|Y)P(Y|X) = P(X|Y)··P(Y) / P(X)P(Y) / P(X)Supuesto “Naïve”: independencia de atributos

P(x1,…,xk|Y) = P(x1|Y)·…·P(xk|Y)

Page 23: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

19

Redes Bayesianas

0.7

E=yes

Heart disease Heart burn

Chest painBlood pressure

exercise diet

0.25

D=Healthy

0.85D=unhealthy

D=healthy 0.2

Hb=yes

0.2HD=no

HD=yes 0.85

Bp=high

0.75E=noD=unhealthy

0.55E=noD=healthy

0.45E=yesD=unhealthy

E=yesD=healthy

0.25

Hd=yes

0.1HD=noHb=no

0.4HD=noHb=yes

0.6HD=yesHb=no

HD=yesHb=yes

0.8

CP=yes

Redes Neuronales

Page 24: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

20

Ejemplo: Red neuronal

Ejemplo: Red neuronal

Page 25: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

21

Algoritmos genéticosNiches (Optimización multimodal)

Algoritmo ECSAGO (no supervisado) para agrupamiento

Agenda

Proceso de descubrimiento de conocimientoAplicaciones de la minería de datosAnálisis exploratorio de datos

Page 26: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

22

Motivaciones para el Análisis Exploratorio de Datos (AED)

Ayudar a seleccionar la herramienta adecuada para el preprocesamiento o análisisHacer uso de las habilidades humanas para el reconocimiento de patrones

Las personas pueden reconocer patrones no capturados por las herramientas de análisis

“Una imagen vale más que mil palabras”

Ejemplo: temperatura de la superficie del mar

La siguiente imagen muestra la temperatura de la superficie del mar para julio de 1982

Decenas de miles de puntos de datos son resumidos en una figura simple.

Page 27: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

23

¿Qué es el Análisis Exploratorio de Datos (AED)?

Es una aproximación / filosofía para el análisis de datos que emplea una variedad de técnicas en su mayoría gráficas para:

Maximizar el entendimiento de un conjunto de datosDescubrir estructuras subyacentesExtraer variables importantesDetectar valores atípicos y anomalías Probar suposiciones subyacentes

Historia del AED

El trabajo original en AED es Exploratory Data Analysis, Tukey, (1977).

Trabajos destacados:Data Analysis and Regression, Mosteller and Tukey (1977),Interactive Data Analysis, Hoaglin (1977), The ABC's of EDA, Velleman and Hoaglin (1981)

La mayoría de las técnicas para AED son gráficas con pocas técnicas cuantitativas.

Las gráficas proveen las facilidades al analista de poder revelar los secretos estructurales de los datos y obtener otros nuevos insospechados dentro del estudio de los datos con la combinación de las habilidades reconocimiento natural de patrones que todos poseemos.

Page 28: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

24

Técnicas cuantitativas

son un conjunto de procedimientos estadísticos que proveen salidas numéricas o tabulares. Ejemplos de técnicas cuantitativas incluyen:

Pruebas de HipótesisAnálisis de varianzaPuntos estimados e intervalos de confianzaMínima regresión cuadrada

El enfoque del AEDLas preguntas de análisis son relevantes en la aproximación clásica estadística.

Lo que distingue a la aproximación del AED es el énfasis en las técnicas gráficas para ganar entendimiento lo que se opone a la aproximación clásica de las pruebas cuantitativas.

La mayoría de los analistas de datos usarán una mezcla de de técnicas gráficas y clásicas cuantitativas para encaminar sus problemas.

Page 29: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

25

Técnicas del AED

Las técnicas gráficas que se emplean en AED son simples, y consisten en técnicas de:

Graficar los datos crudos como: histogramas, diagramas de dispersión, etc.

Graficar estadísticas simples como: gráficas de promedio, gráficas de desviación estándar, gráficas de cajas, etc.

Organización de tales diagramas para maximizar la habilidad de reconocimiento natural de patrones, como puede ser la utilización de múltiples gráficas por página.

Objetivos del AED (I)Objetivo primario:

Maximizar el entendimiento del analista de un conjunto de datos, capturando la estructura subyacente del conjunto de datos mientras se proveen todos los ítems que un analista quiere extraer del conjunto de datos como:

Una lista de valores atípicosUna interpretación robusta de conclusionesEstimados para parámetrosIncertidumbres para esos estimadosUna lista ordenada de los factores importantes

Page 30: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

26

Preguntas de Análisis (I)Preguntas que responde la exploración de datos :

1. ¿Qué es un valor típico?2. ¿Cuál es la incertidumbre para un valor típico?3. ¿Cuál es la distribución que mejor se ajusta a un conjunto de

números?4. ¿Qué es un percentil?5. ¿Tiene el factor algún efecto?6. ¿Cuáles son los factores más importantes?7. ¿Cuál es la mejor función para relacionar una variable de

respuesta a un conjunto de factores de variables?8. ¿Cuáles son los valores óptimos para los factores?9. ¿Se puede separar la señal del ruido en datos dependientes del

tiempo?10. ¿Podemos extraer alguna estructura desde datos multivariados?11. ¿En los datos hay datos atípicos?

Preguntas de Análisis (II)El analista debe identificar las preguntas relevantes para su problemaSe necesita identificar cuales preguntas necesitan ser respondidas y cuales preguntas no tienen que ver con el problema.Se debe dar prioridad a las preguntas en orden decreciente de importancia.Las técnicas de AED están vinculadas a cada una de éstas preguntas.

Page 31: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

27

Estadísticas Descriptivas

Son números que resumen las propiedades de los datosLas propiedades resumidas incluyen:

Ubicación: promedio, mediana, modaDispersión: desviación estándar

La mayoría de las estadísticas descriptivas pueden ser calculadas en un solo paso a través de los datos

Frecuencia y moda

La frecuencia de un valor de un atributo es el porcentaje de veces que el valor aparece en un conjunto de datosPor ejemplo, dado un atributo “género” y una población representativa de gente, el género “femenino” aparece alrededor del 50% de las veces.La moda es el valor del atributo más frecuente Las nociones de frecuencia y la moda son usadas tipicamente con datos categoricos.

Page 32: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

28

Percentiles (I)

La noción de un percentil es más útil para datos continuosDado un ordinal o un atributo continuo x y un número p entre 0 y 100, el p percentil es un valor xp de x tal que el p% de los valores observados de x son menores a xp

Para el 50 percentil es el valor de x50%donde el 50% de todos los valores de x son menores a x50%

Percentiles (II)

Page 33: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

29

Medidas de Ubicación:Media y Mediana

La media es la medida más común de la ubicación de un conjunto de datosLa media es muy sensible a los datos atípicosLa mediana es comúnmente usada

Medidas de dispersión: Rango y Varianza

Rango es la diferencia entre el máximo y el mínimoLa varianza o desviación estándar es la medida más común de dispersión de un conjunto de puntos.

Este es sensitivo a los datos atípicos, así como las demás medidas que son frecuentemente usadas.

Page 34: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

30

Gráfica de Ejecución de Secuencia

Definición: y(i) Vs. iLa gráfica se constituye por:

Eje vertical: variable de respuesta Y(i)Eje horizontal: índice i (i = 1, 2, 3, ... )

Gráfica de Ejecución de Secuencia

PreguntasLa Gráfica de Ejecución de Secuencia puede ser usada para responder las siguientes preguntas:

¿Hay cambios de localización?¿Hay cambios en la variación?¿Hay cambios en la escala?¿Hay cambios en los valores atípicos?

Page 35: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

31

Histogramas

Histograma Muestra la distribución usual de valores de una variable simple.Divide los valores en clases y muestra una gráfica de una barra del número de objetos en cada clase.La altura de cada barra indica el número de objetosLa forma del histograma depende del número de clases

Ejemplo: Anchura del pétalo (10 y 20 clases, respectivamente)

Histogramas de dos dimensionesMuestra la unión de distribución de valores de dos atributosEjemplo: Anchura del pétalo y largo del pétalo

¿Qué nos está diciendo?

Page 36: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

32

HistogramaEl histograma puede ser usado para

responder las siguientes preguntas:• ¿De qué tipo es la distribución de la

población de donde vienen los datos?• ¿Dónde están ubicados los datos?• ¿Son los datos simétricos o asimétricos?• ¿Hay valores atípicos?

Gráfica de Dispersión

Propósito: verifica la relación entre variablesUn gráfico de dispersión revela la relación o asociación entre dos variables. Como las relaciones se manifiestan por si solas por una estructura no aleatoria en la gráfica.

Page 37: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

33

Gráfica de DispersiónRelación lineal entre las variables Y y XEsta gráfica de ejemplo revela la relación lineal entre dos variables indicando que un modelo de regresión lineal puede ser apropiado.

Gráfica de Dispersión

Preguntas:• ¿Están las variables X y Y relacionadas?• ¿Están las variables X y Y relacionadas

linealmente?• ¿Están las variable X y Y relacionadas de

manera no lineal?• ¿La variación de Y cambia dependiendo a

X?• ¿Hay valores atípicos?

Page 38: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

34

Combinación de gráficas de dispersión

Las gráficas de dispersión pueden ser combinadas en múltiples gráficas por página para ayudar a entender la estructura en un nivel más alto en conjuntos de datos con más de dos variables

Scatter Plot Array of Iris Attributes

Page 39: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

35

Gráfica de Dispersión

La gráfica de dispersión descubre las relaciones en los datos.“Relaciones” significa que hay algunas asociaciones estructuradas (lineales, cuadráticas, etc.) entre X y Y. Se tiene en cuenta que:

Causalidad implica asociaciónAsociación no implica causalidad.

Gráficas de caja

Propósito: Verificar la ubicación y la variación de los cambiosLas gráficas de bloque son una excelente herramienta para trasmitir información de la ubicación y la variación de los conjuntos de datos, particularmente para detectar e ilustrar la ubicación y los cambios de variación entre diferentes grupos de datos.

Page 40: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

36

Gráficas de cajaInventadas por J. TukeySon otra forma de mostrar la distribución de los datosLa siguiente figura muestra la parte básica de una gráfica de caja

outlier

10th percentile

25th percentile

75th percentile

50th percentile

10th percentile

Gráficas de cajaLas gráficas de caja se conforman por:

Eje Vertical: valores del factorEje Horizontal: El factor de interés

Mas específicamente:Se calcula la mediana y los quartiles (el menor quartil es el percentil 25 y el quartil superior es el percentil 75)Se grafica un símbolo en la mediana (o una línea) y se dibuja la gráfica de caja entre el menor y mayor quartil; ésta caja representa el 50% de los datos.Se dibuja una línea desde el menor quartil al punto mínimo y otra línea desde el quartil mayor al máximo punto.

Page 41: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

37

Ejemplo de gráficas de caja Las gráficas de caja pueden ser usadas para comparar atributos

Otras técnicas de visualizaciónGráfica de coordenadas paralelas:

Cada dato se grafica como una linea, con los puntos ubicados de acuerdo al valor de los atributos

Gráficas de estrella Aproximación similar a las coordenadas paralelas, pero con un eje radial desde un punto centralLa línea que conecta los valores de un objeto es un polígono

Chernoff FacesEsta aproximación asocia cada atributo con una característica de la caraLos valores de cada atributo determinan la apariencia de las características faciales.Cada objeto se convierte en una cara separadaDepende de la habilidad humana para distinguir las caras

Page 42: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

38

Gráfica de Coordenadas Paralelas para el Conj. IRIS

Gráfica de estrellaMuestra datos multivariadosUsa un formato de gráficas múltiples con muchas estrellas en cada página y cada estrella muestra una observaciónLa gráfica de estrella es usada para examinar los valores relativos para un punto de un dato simple y la ubicación de puntos similares o distintos.

Page 43: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

39

Gráfica de estrella

Preguntas La gráfica de estrella puede ser usada para responder las siguientes preguntas:

¿Qué variables son dominantes para la observación dada?¿Cuáles observaciones son más similares, i.e., hay agrupamiento de observaciones?¿Hay valores atípicos?

Chernoff Faces for Iris Data

Setosa

Versicolour

Virginica

Page 44: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

40

Visualization of the Iris Std. Deviation Matrix

standarddeviation

Visualization of the Iris Correlation Matrix

Page 45: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

41

Bibliografía

NIST/SEMATECH e-Handbook of Statistical Methods, http://www.itl.nist.gov/div898/handbook/

Introduction to Data Mining by Tan, Steinbach, Kumar

NOTAS

Page 46: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

42

Minería de DatosII - 2007

Proceso de Minería de Datos

Page 47: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

43

Agenda

Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM

Agenda

Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM

Page 48: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

44

¿Cómo elegir un sistema de Minería de Datos?

Los sistemas comerciales de Minería de Datos tienen pocas características comunes:

Diferentes funciones y métodos de minería de datos.Casi siempre manejan diferentes tipos de conjuntos de datos.

Para elegir se necesita tener en cuenta múltiples dimensiones¿Qué tipos de datos se usarán: relacional, transaccional, texto, series de tiempo, espacial?Configuración del sistema:

¿Se utilizará en uno o varios sistemas operativos? ¿Proveerá interfaces basadas en Web y permitirá datos XML como entrada y / o salida?¿Arquitectura Cliente / Servidor?

¿Cómo elegir un sistema de Minería de Datos?

Fuentes de Datos¿Archivos de texto ASCII, múltiples fuentes de datos relacionales?¿Soporte para conexiones ODBC (OLE DB, JDBC)?

Funciones de Minería de Datos y metodologíasFunción única Vs. Múltiples funciones de mineríaMétodos único Vs. Varios métodos por función

Más funciones y métodos por función proveen al usuario mayor flexibilidad y poder de análisis

Acoplamiento con sistemas de bases y bodegas de datos.Cuatro formas de acoplamiento:

1. No acoplado2. Acoplamiento débil3. Acoplamiento Semi – fuerte4. Acoplamiento Fuerte

Page 49: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

45

¿Cómo elegir un sistema de Minería de Datos?

EscalabilidadPor Filas (ó tamaño de la base de datos)‏Por Columnas (ó dimensión) ‏Maldición de la dimensionalidad: es más difícil hacer un sistema escalable por columnas que por filas

Herramientas de Visualización“Una imagen vale más que mil palabras”Categorías de visualización:

Visualización de datosVisualización de resultados de mineríaVisualización del proceso de mineríaMinería de datos visual

Lenguaje de Consulta de Minería de Datos e interfaz de usuario:Fácil de usar y alta calidad en la interfaz gráfica de usuarioEsencial para guiar al usuarioMinería de datos muy interactiva

Agenda

Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM

Page 50: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

46

Ejemplos de Sistemas de Minería de Datos

IBM Intelligent MinerTiene una amplia gama de algoritmos de mineríaAlgoritmos de Minería escalablesToolkits: algoritmos de redes neuronales, métodos estadísticos, preparación de datos, y herramientas de visualización de datos.Acoplamiento ajustado con sistemas de bases de datos relacionales de IBM.

SAS Enterprise MinerVariedad de herramientas de análisisHerramientas de Bodegas de Datos y algoritmos múltiples de minería de datos.

Microsoft SQLServer 2000Bases de datos integradas y OLAP con MineríaSoporte para OLEDB para DM estándar

Ejemplos de Sistemas de Minería de Datos

SGI MineSetAlgoritmos múltiples de minería de datos y estadísticas avanzadas.Herramientas de visualización avanzadas

Clementine (SPSS)‏Ambiente integrado de minería de datos para usuarios finales y desarrolladores.Algoritmos múltiples de minería de datos y herramientas de visualización.

DBMiner (DBMiner Technology Inc.)‏Múltiples módulos de Minería de Datos: discovery - driven OLAP analysis, asociación, clasificación y agrupamiento.Eficiente en: asociación y funciones para reconocimiento de patrones y herramientas visuales para clasificación.Minería tanto en bases de datos relacionales como en bodegas de datos.

Page 51: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

47

Agenda

Elección de un sistema de Minería de DatosEjemplos de Sistemas de Minería de DatosCRISP-DM

CRISP-DM:Proceso de Minería de Datos

Cross-Industry Standard Process for Data Mining (CRISP-DM)‏Iniciativa financiada por la Comunidad Europea ha unido para desarrollar una plataforma para Minería de Datos.

Objetivos:Fomentar la interoperabilidad de las herramientas a través de todo el proceso de minería de datos

Eliminar la experiencia misteriosa y costosa de las tareas simples de minería de datos.

Page 52: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

48

¿Por qué el proceso debe ser estándar?

Plataforma para almacenar experiencia:

Permite que los proyectos sean replicados.

Ayuda a la planeación y gerencia del proyecto.

“Factor de Comodidad”para nuevos usuarios:

Demuestra la madurez de la minería de datos.

Reduce la dependencia en “estrellas”

El proceso de minería de datos debe ser confiable y repetible por personas con poco conocimiento de minería de datos.

Estandarización del ProcesoCRoss Industry Standard Process for Data Mining (CRISP-DM)‏Inicia en Sept. de 1996SPSS/ISL, NCR, Daimler-Benz, OHRAFinanciado por la Comisión Europea:Red mundial de aproximadamente 200 miembros CRISP-DM:

Proveedores de herramientas de Minería de Datos: SPSS, NCR, IBM, SAS, SGI, Data Distilleries, Syllogic, Magnify, ..Proveedores de Sistemas / consultores: Cap Gemini, ICL Retail, Deloitte & Touche, …Usuarios Finales: BT, ABB, Lloyds Bank, AirTouch, Experian, ...

Page 53: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

49

CRISP-DMNo - propietarioIndependiente de la aplicación o la industria.Neutral con respecto a herramientasEnfocado en problemas de negocios así como en el análisis técnico.Plataforma guíaExperiencia Base

Plantillas para Análisis

CRISP-DM: Descripción

Page 54: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

50

CRISP-DM: Fases1. Comprensión del negocio

Entendimiento de los objetivos y requerimientos del proyecto.Definición del problema de Minería de Datos

2. Comprensión de los datosObtención conjunto inicial de datos.Exploración del conjunto de datos.Identificar las características de calidad de los datosIdentificar los resultados iniciales obvios.

3. Preparación de DatosSelección de datosLimpieza de datos

4. ModelamientoImplementación en herramientas de Minería de Datos

5. EvaluaciónDeterminar si los resultados coinciden con los objetivos del negocioIdentificar las temas de negocio que deberían haberse abordado

6. Despliegue Instalar los modelos resultantes en la prácticaConfiguración para minería de datos de forma repetida ó continua

Comprensión de Datos EvaluaciónPreparación de

DatosModelamiento

• Determinar los Objetivos del NegocioAntecedentesObjetivos del NegocioCriterio de Éxito

• Evaluar la situaciónInventario de requerimientos de Recursos, Hipótesis y LimitacionesRiesgos y ContingenciasTerminologíaCostos y Beneficios

• Determinar el objetivo de Minería de Datos Objetivos de Minería de DatosCriterio de Éxito de Minería de Datos

• Desarrollar el Plan de ProyectoPlan de proyectoEvaluación inicial de herramientas y técnicas

• Obtener los datos inicialesReporte de la obtención de los datos iniciales

• Describir los DatosReporte con la descripción de los datos

• Explorar de DatosReporte de la Exploración de Datos

• Verificar de la calidad de los DatosReporte de la calidad de los datos

• Conjunto de Datos

• Descripción de los Datos

• Seleccionar los DatosJustificación de la inclusión / Exclusión

• Limpiar DatosReporte de Limpieza de Datos

• Construir DatosAtributos DerivadosRegistros Generados

• Integrar DatosDatos Combinados

• Dar formato a los DatosDatos Formateados

• Seleccionar Técnica de ModelamientoTécnica de ModelamientoModelamientoHipótesis

• Generar el Diseño de PruebaDiseño de Prueba

• Construir el ModeloConfiguración de los parámetros del ModeloDescripción del Modelo

• Evaluar el ModeloEvaluación del ModeloRevisión de la configuración de los parámetros del modelo

• Evaluar ResultadosHipótesis de Minería de DatosResultados w.r.t. Criterio de éxito del negocioModelos aprobados

• Revisar el ProcesoRevisión del Proceso

• Determinar los siguientes pasosLista de Posibles AccionesDecisión

• Desplegar el PlanPlan de Despliegue

• Monitorear y MantenerPlan de monitoreo y mantenimiento

Desarrollar el reporte finalReporte FinalPresentación Final

Revisión del ProyectoDocumentación de las experiencias

Despliegue

Fases y ActividadesComprensión del Negocio

Page 55: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

51

Fases en el proceso de DM (1 y 2)

Comprensión del negocio:

Enunciar los objetivos del negocioEnunciar los objetivos de Minería de DatosEnunciar el criterio de éxito

Comprensión de datosExplorar los datos y verificar su calidadEncontrar datos atípicos

Fases en el proceso de DM(3)Preparación de Datos:

Usualmente consume alrededor del 90% del tiempo

ObtenciónEvaluaciónConsolidación y Limpieza

Tablas enlazadas, nivel de agregación, valores perdidos, etc.

Selección de Datos¿Se ignoran los datos de carácter no contributivo?¿Datos atípicos?Usar ejemplosHerramientas de Visualización

Transformaciones - crear nuevas variables

Page 56: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

52

Fases en el proceso de DM(4)Construir el Modelo

Selección de las técnicas de modelamiento basándose en el objetivo de minería de datos.El modelamiento es un proceso iterativo (no es igual para el aprendizaje supervisado y no -supervisado)‏

Se puede modelar descripción o predicción

Tipos de ModelosModelos Predictivos para Regresión y Clasificación

Algoritmos de Regresión (Predicción de resultados numéricos): redes neuronales, Reglas inductivas, CART OLS regression, GLM.Algoritmos de clasificación (Predicen resultados simbólicos): CHAID, C5.0 (discriminant analysis, logistic regression).

Modelos Descriptivos para Agrupamiento y Búsqueda de Asociaciones:

Algoritmos de Agrupamiento: K-means, Kohonen.Algoritmos de Asociación:

A priori, GRI.

Page 57: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

53

Fases en el proceso de DM(5)Evaluación del Modelo

¿Qué tan bien funciona con datos de prueba?Los métodos y el criterio depende del tipo de modelo:

Ejemplo: Matriz de confusión en los modelos de clasificación, rata de error promedio en los modelos de regresión.

Interpretación del Modelo:

¿Es importante o no?Puede ser fácil o difícil depende del algoritmo.

Fases en el proceso de DM(6)Despliegue

Determinar la forma en que los resultados deben ser utilizados¿Quién necesita usarlos?¿Qué tan frecuentemente se necesita usarlos?

Despliegue de los resultados de Minería de Datos por:

Puntuación de la base de datos.Utilización de los resultados como reglas del negocioon-line scoring interactivo.

Page 58: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

54

CRISP-DM: Detalles

Disponible en línea: www.crisp-dm.org20 páginas del modelo (descripción) ‏30 páginas de guía para el usuario (proceso paso a paso) ‏10 páginas “salida” (esbozo de un informe sobre un proyecto de minería de datos) ‏

Tiene SPSS por todo ladoPero no es dependiente de las herramientas de SPSS

¿Por qué CRISP-DM?El proceso de minería de datos debe ser confiable y reproducible por personas con poco conocimiento sobre minería de datos.

CRISP-DM provee una plataforma uniforme para:Directrices

Documentación de experiencias

CRISP-DM es flexible para tener en cuenta las diferencias:

Problema de Negocios y organizaciones diferentes

Datos Diferentes

Page 59: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

55

Clifton, Chris. “CS590D: Data Mining”http://www.cs.purdue.edu/homes/clifton/cs590d/

“The CRISP-DM Model: The New Blueprint for DataMining”, Colin Shearer, JOURNAL of Data Warehousing, Volume 5, Number 4, p. 13-22, 2000

P. Chapman et al., “CRISP-DM 1.0: Step-by-step data mining guide,” SPSS Inc (2000), http://www.crisp-dm.org/CRISPWP-0800.pdf

Bibliografía

NOTAS

Page 60: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

56

Minería de DatosII - 2007

Preparación de datos

Page 61: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

57

Introducción

PROBLEMA DE KDD

Fuente de Datos

Datos Pre-procesdados

Evaluación de Patrones

Introducción

D. Pyle, 1999, pp. 90:“El propósito fundamental de la preparación de los datos es la manipulación y transformación de los datos sin refinar para que la información contenida en el conjunto de datos pueda ser descubierta o estar accesible de forma más fácil.”

Page 62: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

58

Introducción

Determinación de Objetivos

Preparación de Datos

Minería de Datos

Evaluación de Modelos

0

10

20

30

40

50

60

Esf

uerz

o %

Determinaciónde Ojetivos

Minería deDatos

Importancia

Datos malos extracción de patrones/reglas malas (poco útiles).

Datos Incompletos: falta de valores de atributos, …Datos con ruidoDatos inconsistentes (incluyendo discrepancias)

Page 63: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

59

Importancia

Reducción del tamaño del conjunto de datos posible mejora de la eficiencia del proceso de Minería de Datos.

Selección de datos relevantes: eliminando registros duplicados, eliminando anomalías, …Reducción de Datos: Selección de características, muestreo o selección de instancias, discretización.

ImportanciaDatos de calidad posible generación de patrones/reglas de calidad.

Recuperar información incompleta.Eliminar outliersResolver conflictos, …

Decisiones de calidad deben ser basadas en datos de calidad.

Hecho: La preparación de datos (limpieza, transformación, ….) puede llevar la mayor parte del tiempo de trabajo (hasta un 90%).

Page 64: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

60

Componentes de la Preparación de Datos

Engloba Técnicas de análisis de datos

que permitenMejorar la calidad de un conjunto de datos

Con el objetivo dePermitir a las técnicas de minería de datos obtener mayor y mejor información (mejor porcentaje de clasificación, reglas con más completitud, etc.)

Componentes de la Preparación de Datos

Limpieza de Datos

Integración de Datos

Transformación de Datos

Reducción de Datos

Uno, dos, tres, cuatro, cinco

1, 2, 3, 4, 5

Page 65: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

61

Limpieza de DatosResuelve redundancias consecuencia de la integración Chequea y resuelve problemas de ruido, valores perdidos, elimina outliers, …Resuelve inconsistencias/conflictos entre datos

Bibliografía:W. Kim, B. Choi, E-K. Hong, S-K. Kim. A Taxonomy of Dirty Data.Data Mining and Knowledge Discovery7, 81-99, 2003.

Limpieza de Datos: Valores Perdidos

Existen muchos datos que no contienen todos los valores para las variables.

Inferirlos Ignorarlos

Ignorarlos: No usar los registros con valores perdidos

Ventaja: Es una solución fácilDesventajas:

Perdida de mucha información disponible en esos registros No es efectiva cuando el porcentaje de valores perdidos por variable es grande.

Page 66: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

62

Limpieza de Datos: Valores Perdidos

Inferirlos: Usar algún análisis estadísticoValor medio del atributo para todos los ejemplos pertenecientes a la misma clase: missing valueValor más probable: se realiza una estimación/imputación del valor

FrecuenciaDistanciaOtros..

Ejemplo: el valor del patrón mas cercano de la misma clase.Asignar un valor especial exclusivo.

Limpieza de Datos: Outliers

Objetos/datos con características que son considerablemente diferentes de la mayoría del conjunto.

Page 67: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

63

Limpieza de Datos: Ruido

Suavizamiento (Smoothing)

Limpieza de Datos: Ruido

Inconsistencia

Número de hijos = 3Edad = 2

Page 68: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

64

Integración de DatosObtiene los datos de diferentes fuentes de información Resuelve problemas de representación y codificación Integra los datos desde diferentes tablas para crear información homogénea, ...

Bibliografía:E.Schallehn, K. Sattler, G. Saake. Efficient

SimilarityBased Operations for Data Integration. Data And Knowledge Engineering 48:3, 351-387,

2004.

Integración de Datos

Diferentes escalasPesos vs Dolares

Atributos derivadosSalario Mensual vs Salario Anual

Solución Procedimientos semi-automáticosETLMinería

Page 69: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

65

Transformación de DatosLos datos son transformados o consolidados de forma apropiada para la extracción de información. Diferentes vías:

Sumarización de datosOperaciones de agregación, etc.

Bibliografía: T. Y. Lin. Attribute Transformation for Data Mining I: Theoretical Explorations. International Journal of Intelligent Systems 17, 213-

222, 2002.

Transformación de Datos:Normalización

Normalización min-max

Normalización z-score

Page 70: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

66

Transformación de Datos:Normalización

Normalización por escala decimal

Donde j es el entero más pequeño tal que Max (| v’|) < 1

Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias

Page 71: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

67

Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias

Compactación vía análisis de clusters

Reducción de Datos:Agrupamiento

Page 72: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

68

Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias

Bibliografía:H. Liu, F. Hussain, C.L. Tan, M. Dash. Discretization: An Enabling Technique. Data mining and Knowledge Discovery 6, 393-423, 2002.F. Berzal, J.C. Cubero, N. MarinD. Sánchez. Buildingmulti-way decision trees with numerical attributes. Information Sciences 165 (2004) 73–90.

Reducción de Datos: Discretización

Divide el rango de atributos continuos en intervalosAlmacena solo las etiquetas de los intervalosImportante para reglas de asociación y clasificación, algunos algoritmos solo aceptan datos discretos.

Page 73: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

69

Reducción de Datos: Discretización

Ejemplo:

4…231201…0101…00# de Autos

65

…50

43

31

29

27

25

…24

23

20

15

…14

10

Edad

Edad (0-14 años) Edad (16-24 años) Edad (25 - 65 años)

Reducción de Datos: Discretización

Peso (50 – 58 Kg) Peso (59 – 67 Kg) Peso ( > 68 Kg)

Distribución de Peso

0

5

10

15

20

50 52 54 56 58 60 62 64 66 68 70 72 74

Peso

Frec

uenc

ia

Page 74: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

70

Reducción de Datos: Discretización

Igual amplitud

Distribución de Temperatura

02468

[64,,,67) [67,,,70) [70,,,73) [73,,,76) [76,,,79) [79,,,82) [82,,,85]

Temperatura

Frec

uenc

ia

Valores de Temperatura:63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85

Reducción de Datos: Discretización

Problemas Igual Amplitud

Ingresos Mensuales

0

5

10

15

20

25

[0 - 5'000,000) [5'000,000 -10'000,000)

[10'000,000 -15'000,000]

Ingresos

Frec

uenc

ia

Page 75: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

71

Reducción de Datos: Discretización

Igual Frecuencia

Valores de Temperatura:63, 65, 66, 67, 70,70, 71, 71, 72, 72, 73, 73, 74, 75, 76, 76, 82, 82, 83, 84,85, 85

0

2

4

6

Frecuencia

63,,,70 71,,,73 74,,,82 83,,,85

Temperatura en ºC

Distribución de Temperatura

Reducción de Datos: Discretización

Ventajas de la igualdad en frecuenciaEvita desequilibrios en el balance o entre valoresEn la práctica permite obtener puntos de corte mas intuitivos.

Consideraciones adicionales: Se deben crear cajas para valores especialesSe deben tener puntos de corte interpretables

Page 76: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

72

Reducción de Datos:Discretización - BIN

Valores numéricos que pueden ser ordenados de menor a mayorParticionar en grupos con valores cercanosCada grupo es representado por un simple valor (media, la mediana o la moda)Cuando el numero de bins es pequeño, el limite mas cercano puede ser usado para representar el bin

Reducción de Datos:Discretización - BIN

Ejemplo:f = {3, 2, 1, 5, 4, 3, 1, 7, 5, 3}ordenado f= {1, 1, 2, 3, 3, 3, 4, 5, 5, 7}particionando en 3 BINs:

{1, 1, 2, 3, 3, 3, 4, 5, 5, 7}representacion usando la moda:

{1, 1, 1, 3, 3, 3, 5, 5, 5, 5}

Page 77: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

73

Reducción de Datos:Discretización - BIN

usando media:{1.33, 1.33, 1.33, 3, 3, 3, 5.25, 5.25, 5.25, 5.25}

Remplazando por el limite mas cercano:{1, 1, 2, 3, 3, 3, 4, 4, 4, 7}

Problema de optimización en la selección de k bins, dado el numero de bins k: distribuir los valores en los bins para minimizar la distancia promedio entre un valor y la media o mediana del bin.

Reducción de Datos:Discretización - BIN

AlgoritmoOrdenar valoresAsignar aproximadamente igual numero de valores (vi) a cada bin (el numero de bins es parámetro)Mover al borde el elemento vi de un bin al siguiente (o previo) si la distancia de error (ER) es reducida. (ER es la suma de todas las distancias de cada vi a la media o moda asignada al bin)

Page 78: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

74

Reducción de Datos:Discretización - BIN

Ejemplo: f = {5, 1, 8, 2, 2, 9, 2, 1, 8, 6}

Particionar en 3 bins. Los bins deben ser representados por sus modas.

1. f ordenado ={1, 1, 2, 2, 2, 5, 6, 8, 8, 9}2. Bins iniciales = {1, 1, 2, 2, 2, 5, 6, 8, 8, 9}3. Modas = {1, 2, 8}4. Total ER = 0+0+1+0+0+3+2+0+0+1 = 7

Después de mover dos elementos del bin2 al bin1, y un elemento del bin3 al bin2:f ={1, 1, 2, 2, 2 5, 6, 8, 8, 9}Modas = {2, 5, 8}ER = 4

Cualquier movimiento de elementos incrementa ER

Reducción de Datos:Discretización

Mas allá de los intervalos de igual amplitud o frecuencias:

Algoritmos no supervisados: Intervalores de igual amplitudIntervalos de igual frecuenciaClustering …..

Algoritmos supervisados:Basados en Entropía [Fayyad & Irani andothers, 1993] Metodos Chi-square [Kerber 92]

Page 79: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

75

Reducción de Datos:Discretización

Discretización sin el uso de clases

DATOSIntervalo de Igual

Amplitud

Reducción de Datos:Discretización

Discretización sin el uso de clases

DATOS

Intervalo de Igual Frecuencia

Page 80: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

76

Reducción de Datos:Discretización

Discretización sin el uso de clases

DATOS

K - Means

Reducción de Datos: Discretización

Discretización utilizando clases (basado en entropía)

3 Clases para las variables X y Y5 Clases para las variables X y Y

Page 81: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

77

Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias

Bibliografía:H. Liu, H. Motoda. Feature Selection for Knowledge Discovery and DataMining. Kluwer Academic, 1998.H. Liu, H. Motoda (Eds.) Feature Extraction, Construction, and Selection: A Data Mining Perspective, Kluwer Ac., 1998.

Reducción de Datos:Selección de Características

La SC pretende elegir atributos que sean relevantes para una aplicación y lograr el máximo rendimiento con el mínimo esfuerzo. El resultado de la SC sería:

Menos datos → los algoritmos pueden aprender más rápidamenteMayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entender

SC y Transformación (extracción y construcción)

Page 82: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

78

Reducción de Datos: Selección de Características

4,0010100,128,4549e

3,0011100,127,4538d

2,0010100,126,4527c

1,0011100,125,4516b

0,0010100,124,4505a

654321

Variable 1

Variable 6

Reducción de Datos: Selección de Características

La SC se puede considerar como en problema de búsqueda

{}

{1} {2} {3} {4}

{1,2} {1,3} {1,4} {3,4}{2,3} {2,4}

{1,2,3} {1,2,4} {1,3,4} {2,3,4}

{1,2,3,4}

Page 83: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

79

Reducción de Datos:Selección de Características

Distintas Clasificaciones.

Reducción de Datos:Selección de CaracterísticasAlgoritmos de Ranking

Devuelven una lista de atributos ordenados según algún criterio de evaluación.

ENTRADA: X Atributos, C criterio de Evaluación

LISTA = {}

PARA

CADA ATRIBUTO xi, i Є {1, …, N}

Vi= Calcular(xi, C)Insertar xi en la LISTA según Vi

SALIDA: Lista (ordenada por releavancia de atributos)

Page 84: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

80

Reducción de Datos:Selección de CaracterísticasAlgoritmos Subconjunto de Atributos

Devuelven un subconjunto de atributos optimizado según algún criterio de evaluación.

ENTRADA: X Atributos, U criterio de Evaluación

SUBCONJUNTO = {}

REPETIR

SK = GenerarSubconjunto(x)

Si existeMejora (S, SK , U)

Subconjunto = SK

HASTA (Criterio de Parada )

SALIDA: Lista (ordenada por releavancia de atributos)

Reducción de Datos:SC usando Entropía

Para enumerar dimensiones (ranking)Basado en la medida de similaridad (inversa a la distancia)

DeuclidianaciadislaesDwhereeS ijD

ijij /)5.0(lntan −== − αα

nxxSn

kjkikij /

1⎟⎠

⎞⎜⎝

⎛== ∑

=Hamming similarity (variables nominales)

F3F2F1

3ZCR5

1XBR4

2YCR3

2YBR2

1XAR1

2/3

0/3

R3

0/3

2/3

2/3

R4 R5R2R1

0/3R4

1/3R3

0/3R2

0/30/3R1

similaridades

Page 85: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

81

Reducción de Datos:SC usando Entropía

Distribución de las similaridades es una característica de la organización y orden de los datos en el espacio de n-dimensionesCriterio para excluir dimensiones: cambios en el nivel del orden en los datos Cambios medidos con entropíaEntropía es una medida global que es menor para configuraciones ordenadas y grande para configuraciones desordenadas

Reducción de Datos:SC usando Entropía

Compara la entropía antes y después de remover una dimensiónSi las medidas son cercanas, el conjunto de datos reducido aproxima el original conjunto de datosEntropía:

El algoritmo esta basado en “sequential backward ranking”La entropía es calculada en cada iteración para decidir el “ranking” de las dimensiones. Las dimensiones son gradualmente removidas

( )∑ ∑−

= +=

−×−+×−=1

1 1))1log()1(())log((

N

i

N

ijijijijij SSSSE

Similaridad entre xi y xj

Page 86: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

82

Reducción de Datos:SC usando Entropía

Algoritmo1. Comienza con todo el conjunto de datos F2. EF = entropía de F3. Por cada dimensión f Є F,

Remover una dimensión f de F y obtener el subconjunto FfEFf = entropía de FfSi (EF - EFf ) es mínimaActualizar el conjunto de datos F = F – ff es colocada en la lista “rankeada”

4. Repetir 2-3 hasta que solo haya una dimensión en F

Reducción de Datos:SC usando Entropía

El proceso puede ser parado en cualquier iteración y las dimensiones son seleccionadas de la lista.Desventaja: complejidadImplementación paralela

Page 87: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

83

Principal Component Analysis - PCA

Vectores propios (Eigenvectors) son casos especiales de multiplicación de matrices:

⎟⎟⎠

⎞⎜⎜⎝

⎛×=⎟⎟

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛×⎟⎟

⎞⎜⎜⎝

⎟⎟⎠

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛×⎟⎟

⎞⎜⎜⎝

23

48

1223

1232

511

31

1232

No es múltiplo del vector original

Cuatro veces el vector original

Matriz detransformación EigenvectorVector transformado en su

posición original detransformación

PCA: Propiedades de eigenvectors

Se encuentran para matrices cuadradasNo todas las matrices cuadradas tienen eigenvectorsSi una matriz nXn tiene eigenvectors, entonces tiene n eigenvectorsLos eigenvectors son perpendiculares (ortogonales)

Page 88: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

84

PCA: Propiedades de eigenvectors

Escalar el eigenvector a longitud 1 (estándar)

( )

⎟⎟⎟

⎜⎜⎜

=+⎟⎟⎠

⎞⎜⎜⎝

132

133

:1

1323:23 22

eslongitudconvectorel

eslongitud

PCA – Valores propios (Eigenvalues)

⎟⎟⎠

⎞⎜⎜⎝

⎛×=⎟⎟

⎞⎜⎜⎝

⎛=⎟⎟

⎞⎜⎜⎝

⎛×⎟⎟

⎞⎜⎜⎝

⎛23

48

1223

1232

Eigenvalue asociado conel eigenvector

Page 89: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

85

PCA – Eigenvalues Taller

⎟⎟⎟

⎜⎜⎜

−−−

206214103

Cual de los siguientes vectores son eigenvectors de la matriz? Cual es su correspondiente eigenvalue?

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎟⎟⎟

⎜⎜⎜

⎛−

⎟⎟⎟

⎜⎜⎜

⎛−

⎟⎟⎟

⎜⎜⎜

− 123

010

311

201

122

Principal Component AnalysisReduce el número de dimensiones (compresión) sin mucha perdida de información

Page 90: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

86

PCA: Método (Ejemplo)1. Restar la media

91.181.1 == yx

PCA: Método (Ejemplo)2. Calcular la matriz de covarianzas

⎟⎟⎠

⎞⎜⎜⎝

⎛=

716555556.0615444444.0615444444.0616555556.0

cov

Page 91: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

87

PCA: Método (Ejemplo)3. Calcular eigenvectors y eigenvalues de la

matriz de covarianzas.

⎟⎟⎠

⎞⎜⎜⎝

⎛=

28402771.10490833989.0

seigenvalue

⎟⎟⎠

⎞⎜⎜⎝

⎛−−−

=735178656.0677873399.0677873399.0735178656.0

rseigenvecto

Método para calcular eigenvectors= Jacobi (Investigar)

PCA: Método (Ejemplo)

Eigenvectors(perpendicular) Entre los puntos.

Los puntos están relacionados con esta línea

Menosimportante

Page 92: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

88

PCA: Método (Ejemplo)4. Escoger componentes y formar vector

(feature vector)

• Ordenar de eigenvalues de mayor a menor (orden de significancia)

⎟⎟⎠

⎞⎜⎜⎝

⎛=

28402771.10490833989.0

seigenvalue

Valores pequeños de eigenvalues indican que el eigenvectores menos importante.

⎟⎟⎠

⎞⎜⎜⎝

⎛−−−

=735178656.0677873399.0677873399.0735178656.0

rseigenvecto

Componente Principal (mayor eigenvalue)

PCA: Método (Ejemplo)Cuantos componentes principales son necesarios para tener una buena representación de los datos?Analizar la proporción de la varianza (eigenvalues). Dividiendo la suma de los primeros m eigenvalues por la suma de todos los eigenvalues

⎟⎠

⎞⎜⎝

⎟⎠

⎞⎜⎝

=

=

=n

ii

m

ii

R

1

1

λ

λ90% es considerado bueno

Page 93: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

89

PCA: Método (Ejemplo)5. Derivar nuevo conjunto de datos

Matriz de eigenvectorsDatos ajustadosusando la media

X

PCA: Método (Ejemplo)Nuevo conjunto usando los dos eigenvectors

Page 94: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

90

PCA: Obtener el original conjunto de datos

Nuevo conjunto X (eigenvector matrix)-1

Nuevo conjunto X (eigenvector matrix)T

PCA: Obtener el original conjunto de datos

Page 95: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

91

Reducción de DatosAgrupamiento – CompactaciónDiscretizaciónSelección de característicasSelección de Instancias

Bibliografía:T. Reinartz. A Unifying Viewon Instance Selection. Data Mining and Knowledge Discovery 6, 191-210, 2002.

Reducción de DatosSelección de Instancias

La SI pretende elegir los ejemplos que sean relevantes para una aplicación y lograr el máximo rendimiento. El resultado de la SC sería:Menos datos → los algoritmos pueden aprender más rápidamenteMayor exactitud → el clasificador generaliza mejor Resultados más simples → más fácil de entenderSI y Transformación (compactación/agrupamiento)

Page 96: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

92

Reducción de DatosSelección de

InstanciasDiferentes tamaños:

2000 Puntos 8000 Puntos500 Puntos

Reducción de DatosSelección de Instancias

MuestreoSelección de Prototipos o Aprendizaje basado en InstanciasAprendizaje Activo

Page 97: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

93

Reducción de Datos

Selección de Instancias

MUESTREO

DATOS ORIGINALESCon

Reemplazamiento

Sin

Reemplazamiento

Reducción de Datos

Selección de Instancias: Muestreo

DATOS ORIGINALES Reducción Simple

Page 98: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

94

Reducción de Datos

Selección de Instancias

Selección de Prototipos

Reglas NN

Eliminación Ordenada

Se basa en:

Algoritmos Evolutivos

Muestreo Aleatorio

Reducción de Datos

Selección de Instancias

Page 99: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

95

Reducción de Datos

Selección de Instancias

Reducción de Datos

Selección de Instancias

Page 100: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

96

Reducción de Datos

Selección de Instancias

Reducción de DatosSelección de Instancias. Selección de Prototipos

Para Clasificación con 1-NN

CO

JUN

TO D

E D

ATO

S

Conjunto de Entrenamiento (TR)

Algoritmo de Selección de Prototipos

Prototipos Seleccionados (TSS)

Clasificador 1 - NNConjunto de Prueba (TS)

Page 101: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

97

Reducción de DatosSelección de Instancias. Selección de Conjuntos de Entrenamiento.

Para Selección de Conjuntos de Entrenamiento

CO

JUN

TO D

E D

ATO

S

Conjunto de Entrenamiento (TR)

Algoritmo de Selección de Prototipos

Prototipos Seleccionados (TSS)

Algoritmo de Minería de Datos

Modelo Encontrado

Conjunto de Prueba (TS)

Reducción de DatosSelección de Instancias. Eficiencia

El orden de los algoritmos es superior a O(n2) y suele estar en orden O(n3) .Las principales dificultades que deben afrontar los algoritmos de Selección de Prototipos son: Eficiencia, recursos, generalización, representación.

¿Cómo realizar la selección de instancias con grandes bases de datos?Combinamos una estrategia de estratificación con los algoritmos de selección de instancias.

Page 102: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

98

Reducción de DatosSelección de Instancias en grandes Bases de Datos a través de estrategia de Estratificación. [CANO, 2005]

CO

JUN

TO D

E D

ATO

S

T1 T2 T3 Tt…

TSS1

TR1

TS1

TSS2 TSS3 TSSt…

TR2 TR3 TRt

TS1 TS1 TS1

IS IS IS IS

Reducción de DatosSelección de Instancias

Conjuntos de datos no balanceados

Algunos problemas tienen una presencia de las clases desigual:Diagnosis médica: 90% sin-enfermedad, 10% enfermedade-comercio: 99% no-compra, 1% compraseguridad: >99.99% de conexiones no son ataquesLa situación es similar con múltiples clasesLa mayoría de los clasificadores obtienen un 97% de clasificación correcta, pero no son útiles

¿Cómo se procesan las clases no balanceadas?Utilizar técnicas de reducción de datos para balancear las clases reduciendo las clases mayoritarias. Realizar sobre muestreo para balancear aumentar el tamaño de las clases minoritarias. test

Page 103: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

99

Bibliografía

Jiawei Han and Micheline Kamber “Data Mining: Concepts and Techniques”, The Morgan Kaufmann Series in Data Management Systems, Jim Gray, Series Editor Morgan Kaufmann Publishers, August 2000. 550 pages. ISBN 1-55860-489-8

Bibliografía

“Data Mining: Practical Machine Learning Tools and Techniques”(Second Edition)Ian H. Witten, Eibe FrankMorgan KaufmannJune 2005525 pagesPaperISBN 0-12-088407-0

Page 104: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

100

Bibliografía

Pang-NingTan, Michael Steinbach, and VipinKumar “Introduction to Data Mining”(First Edition) Addison Wesley, May 2, 2005

BibliografíaDorian Pyle“Data Preparation for Data Mining”Morgan Kaufmann, Mar 15, 1999 MamdouhRefaatData Fayyad and K.B. Irani. Multi-intervaldiscretization of continuous-valuedattributes for classification learning. Proc. 13th Int. Joint Conf. AI (IJCAI-93), 1022-1027. Chamberry, France, Aug./ Sep. 1993.

Page 105: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

101

Bibliografía

MamdouhRefaat“Data Preparation for Data Mining Using SAS”Morgan Kaufmann, Sep. 29, 2006

Bibliografía

J.R. Cano, F. Herrera, M. Lozano. Stratification for Scaling Up Evolutionary Prototype Selection. Pattern Recognition Letters 26:7 (2005) 953-963. R. Kerber. ChiMerge: Discretization of numeric attributes. Proc. 10th Nat. Conf. AAAI, 123-128. 1992.

Page 106: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

102

203

Minería de DatosII - 2007

204

Reglas de Asociación

Page 107: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

103

Introducción

En base de datos transaccional, cada transacción puede contener una lista de ítems (comprados por un cliente) Encontrar patrones, asociaciones, correlaciones o estructuras casuales entre los conjuntos de “ítems” u objetos en bases de datos transaccionales, relacionales y otros repositorios

IntroducciónTransacciones “market basket”

{pan, leche, pañales, gaseosa}5

{pan, leche, pañales, cerveza}4

{leche, pañales, cerveza, gaseosa}

3

{pan, pañales, cerveza, huevos}2

{pan, leche}1

ÍtemsId

Ítems comprados por cliente

InterInteréés en analizars en analizarlos datos para los datos para aprenderaprenderel comportamiento el comportamiento de de las compras de las compras de sus sus clientesclientes

•Promociones de mercadeo•Manejo de inventario•Relación con el cliente

Page 108: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

104

Introducción

Metodología de análisis de asociaciones: usada para descubrir relaciones interesantes ocultas en largos conjuntos de datosAplicaciones

Análisis de las transacciones comercialesPredicciónPersonalizaciónEtc.

Reglas de asociación

Encontrar: todas las reglas que correlacionan la presencia de un conjunto de ítems con otro conjunto de ítems

98% de las personas que compran llantas y accesorios de autos también adquieren servicios para autos60% de usuarios de la Web que visitan la Pagina A y B

compran el ítem T1

AplicacionesConvenios de mantenimiento Recomendaciones en Web (URL1 y URL3 -> URL5)

Page 109: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

105

Reglas de asociación

Las relaciones pueden ser representadas en forma de:

Reglas de asociaciónConjunto de ítem frecuentes

Reglas de asociación

Ejemplos. Regla: “Antecedente. → Consecuente.

[suporte, confidencia]”

Compra (x, “pañales”) →compra (x, “cerveza”) [0.5%, 60%]

Page 110: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

106

Medidas de la regla: Soporte y Confianza

Encontrar reglas X & Y ⇒ Z con mínimo % de confianza y soporte (umbrales)

soporte, s: probabilidad que una transacción contiene {X ∪ Y ∪ Z}confianza, c: probabilidad condicional de que una transacción que tiene {X ∪ Y} también contenga Z.

Soporte y Confianza

Soporte: Usado para eliminar reglas no interesantes.

Confianza: mide que tan fiable es la inferencia hecha por la regla.

Page 111: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

107

EjemploID Transacción ítems comprados

2000 A,B,C1000 A,C4000 A,D5000 B,E,F

soporte mínimo 50%, confianza mínima 50%,

A ⇒ C (?, ?)C ⇒ A (?, ?)

Ejemplo

ID Transacción ítems comprados2000 A,B,C1000 A,C4000 A,D5000 B,E,F

Conjunto de ítems frecuentes Soporte

{A} 75%{B} 50%{C} 50%{A,C} 50%

Soporte mínimo 50%Confianza mínima 50%

Para la regla A ⇒ C:soporte = soporte({A ∪ C}) = 50%confianza = soporte({A ∪ C})/soporte({A}) = 66.6%

Para la regla C ⇒ Asoporte = soporte({C ∪ A}) = 50%confianza = soporte({C ∪ A})/soporte({C}) = 100%

Page 112: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

108

Minando reglas de asociaciónFuerza bruta : computar soporte y confianza por cada regla posible -> prohibida (demasiado costosa)Podar reglas antes de computar sus valores de soporte y confianza (para evitar cálculos innecesarios)Conjuntos de ítems frecuentesEstrategia de minar reglas de asociación:

Generación de conjuntos de ítems frecuentesGeneración de reglas

Generación de conjuntos de ítems frecuentes

Una estructura reticular puede ser usada para enumerar la lista de todos los posibles conjuntos de ítems

Page 113: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

109

Generación de conjuntos de ítems frecuentes

Conjunto de ítems frecuentes: conjunto de ítems que tienen un mínimo de soportePrincipio A priori:

Cualquier subconjunto de un conjunto de ítem frecuentes (frequent item set) debe ser frecuente

Si {AB} es un “conjunto de items frecuentes”, entonces {A} y {B} deben ser “conjuntos de items frecuentes”Proceso iterativo para encontrar conjuntos de ítems frecuentes con cardinalidad de 1 a k (k-itemsets)

Los “conjuntos de items frecuentes” son usados para generar reglas de asociación

El algoritmo “A priori”Generación de Candidatos:

Paso de unión: Ck es generado uniendo Lk-1 con el mismoPaso de poda: Cualquier conjunto de (k-1) ítems que no es frecuente no puede ser usado como un subconjunto de un conjunto frecuente de k-ítems

Pseudo-código:Ck: conjuntos de ítems candidatos de tamaño kLk :conjuntos de ítems frecuentas de tamaño k

L1 = {ítems frecuentes};for (k = 1; Lk !=∅; k++) do begin

Ck+1 = candidatos “generados” de Lk; (ver siguiente ejemplo)for each transacción t en la base de datos do

// requiere hacer “scan” a la BD !!!incrementar la cuenta de los candidatos en Ck+1que están contenidos en t

Lk+1 = candidatos en Ck+1 con soporte >= min_soporteendreturn ∪k Lk;

Page 114: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

110

Generación de candidatosSuponer los ítems en Lk-1 están ordenados en una lista

Paso 1: unión de Lk-1 con el mismoInsert Into Ck

Select p.item1, p.item2, …, p.itemk-1, q.itemk-1

From Lk-1 p, Lk-1 q

Where p.item1=q.item1, …, p.itemk-2=q.itemk-2, p.itemk-1 < q.itemk-1

(conjuntos mas pequeños deben emparejar en todos menos el último ítem)

Paso 2: podaforall itemsets c in Ck do

forall (k-1)-subsets s of c do

if (s is not in Lk-1) then delete c from Ck

Ejemplo de generación de candidatos

L3={abc, abd, acd, ace, bcd}

Unión: L3*L3

abcd de abc y abd

acde de acd y ace

Poda:

acde es removido por que ade no esta en L3

C4={abcd}

Page 115: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

111

Algoritmo “Apriori”— Ejemplo (sop=50%)Base de datos D

TID Items100 1 3 4200 2 3 5300 1 2 3 5400 2 5

itemset sup.{1} 2{2} 3{3} 3{4} 1{5} 3

itemset sup.{1} 2{2} 3{3} 3{5} 3

Scan D

C1L1

itemset{1 2}{1 3}{1 5}{2 3}{2 5}{3 5}

itemset sup{1 2} 1{1 3} 2{1 5} 1{2 3} 2{2 5} 3{3 5} 2

itemset sup{1 3} 2{2 3} 2{2 5} 3{3 5} 2

L2

C2 C2Scan D

C3 L3itemset{2 3 5}

Scan D itemset sup{2 3 5} 2

Generando Reglas de Asociación desde conjuntos de ítems frecuentes

Una vez todos los conjuntos de ítems frecuentes han sido encontrados, se pueden generar reglas de asociación (confianza ≥min_conf ):

Por cada conjunto de ítems frecuentes l, generar todos los subconjuntos de l (no vacíos);Por cada subconjunto s de l,

IF ( conteo_soporte (l) / conteo_soporte (s) ≥min_conf )THEN la regla es “s => (l-s)”

Para optimizar: Almacenar los conjuntos de ítems y sus conteos en tablas Hash

Page 116: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

112

Generando Reglas de Asociación desde conjuntos de ítems frecuentes

C({B,C} → E}) = s(B,C,E)/s(B,C)=2/2 = 100%A → CNo todas las reglas descubiertas pueden ser interesantes para presentar y usar.

Reglas de asociación Múltiple-Nivel

Ítems por lo general forman una jerarquía

Ítems de niveles bajos tienen menos soporte

Reglas obtenidas de los conjuntos de ítems a apropiados niveles pueden ser útiles

Se puede explorar minería compartida multi-nivel

Food

breadmilk

SunsetFraser

skim 2% whitewheat

Usando conocimiento del dominio

Page 117: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

113

Minando Multi-nivelcon soporte reducido

Nivel 1min_sup = 5%

Nivel 2min_sup = 3% 2% Milk

[support = 6%]

Skim Milk

[support = 4%]

Milk

[support = 10%]

Usar información de viejos conjuntos de ítems frecuentes e integrar información de soporte de nuevos conjuntos de ítems frecuentes

Las asociaciones interesantes ocurren en niveles altos

Método FP-GROWTHLongitud 100 número de candidatos es al menos:

Complejidad de computación crece exponencialmente!Método “Frequent pattern growth”: mejora escalabilidad (grandes conjuntos de datos)

30100100

1

1012100

≈−=⎟⎟⎠

⎞⎜⎜⎝

⎛∑=i i

Page 118: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

114

FP-GROWTH

1. Proyección de los conjuntos de ítems frecuentes

2. Construye una estructura en memoria llamada FP-tree

3. Aplicar algoritmo FP-Growth

a,f,c,e,l,p,m,n5

b,c,k,s,p4

b,f,h,j,o3

a,b,c,f,l,m,o2

f,a,c,d,g,i,m,p1

ÍtemsId

3p

3m

3b

3a

4c

4f

SoporteId

Frecuencias ordenadasdescendemente. Ordenimportante! FP-treesigue ese orden

Scan

Raíz del árbol es creada

Scan de la primera transacción Construcción de la primera rama del árbol

(solo los ítems que están en la lista de frecuentes)

Mínimo soporte = 3

,1

,1

,1

,1,1

Scan de la segunda transacción

Page 119: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

115

a,f,c,e,l,p,m,n5

b,c,k,s,p4

b,f,h,j,o3

a,b,c,f,l,m,o2

f,a,c,d,g,i,m,p1

ÍtemsId

3p

3m

3b

3a

4c

4f

SoporteId

Frecuencias ordenadasdescendentemente. Ordenimportante! FP-treesigue ese orden

Scan

Raíz del árbol es creada

Scan de la primera transacción Construcción de la primera rama del árbol

(solo los ítems que están en la lista de frecuentes)

Mínimo soporte = 3

,2

,2

,2

,1,1

Scan de la segunda transacción

,1

,1

,1

,1,1

a,f,c,e,l,p,m,n5

b,c,k,s,p4

b,f,h,j,o3

a,b,c,f,l,m,o2

f,a,c,d,g,i,m,p1

ÍtemsId

3p

3m

3b

3a

4c

4f

SoporteId

Frecuencias ordenadasdescendentemente. Ordenimportante! FP-treesigue ese orden

Scan

Raíz del árbol es creada

Scan de la primera transacción Construcción de la primera rama del árbol

(solo los ítems que están en la lista de frecuentes)

Mínimo soporte = 3

,3

,1,1

Scan de la tercera transacción

,2

,2

,2

,1,1

,1

Scan de la segunda transacción

Page 120: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

116

Árbol final FP

,4

,2,2

,3

,3

,1,1

,1

,1

,1

,1

Lista de cabezas(headers)

Algoritmo FP-Growth

Coleccionar las transacciones donde p participa comenzando por el header y siguiendo los nodos enlazadosm sin pb sin p ni m ….

Page 121: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

117

,4

,2,2

,3

,3

,1,1

,1

,1

,1

,1

2 caminosEjemplos o registros{ (f,2),(c,2),(a,2),(m,2),(p,2)) }{ (c,1),(b,1),(p,1) }

Umbral de 3{ (c,3), (p,3) }{ c, p }

Ejemplos o registros acumulados:{ (f,2),(c,2),(a,2),(m,2) }{ (f,1), (c,1),(a,1),(b,1),(m,1) }Conjuntos de ítems frecuentes son: { (f,3), (c,3), (a,3), (m,3) }{ f, c, a, m }

Reglas de asociación multidimensionales

1

3

2

2

1

A2

c

a

a

b

a

A1

{pan, leche, pañales, gaseosa}5

{pan, leche, pañales, cerveza}4

{leche, pañales, cerveza, gaseosa}3

{pan, pañales, cerveza, huevos}2

{pan, leche}1

ÍtemsId

Page 122: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

118

Reglas de asociación multidimensionales

Sentido comúnDividir el proceso de minería en dos pasos:

Minar información dimensionalConjunto de ítems frecuentes

Encontrar combinaciones de valores multidimensionales y luego los correspondientes conjuntos de ítems frecuentes

EjemploCombinación de los valores de los atributosUmbral de n (considerados frecuentes)Patrón Multidimensional

MD-PatterrnAlgoritmo BUC

p

m

n

m

A3

3

2

2

1

A2

c

a

b

a

A1

x, w4

x, z, w3

z, w2

x, y, z1

ÍtemsId

Page 123: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

119

EjemploUsando umbral de 2I.1. Ordenar por atributo A12. MD-pattern es a3. Seleccionar las tuplas con

el MD-pattern encontrado4. Ordenar el subconjunto

de tuplas con respecto a la segunda dimensión A2

x, z, wm2a3

p

n

m

A3

3

2

1

A2

c

b

a

A1

x, w4

z, w2

x, y, z1

ÍtemsId

x, z, wm2a3

m

A3

1

A2

a

A1

x, y, z1

ÍtemsId

Ningún valor (1y 2) cumple el umbral, la dimensión A2 es ignorada

Ejemplo5. Ordenar con respecto

a la tercera dimensión A3

6. Md-Pattern es m x, z, wm2a3

m

A3

1

A2

a

A1

x, y, z1

ÍtemsId

(a,*,m)

Page 124: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

120

EjemploII. Repetir el proceso del

paso I, comenzando por el atributo A2 (A1 no es analizada en esta iteración)MD-pattern es 2continuando con A3 del subconnunto, no hay MD-patterns

x, z, wm2a3

p

n

m

A3

3

2

1

A2

c

b

a

A1

x, w4

z, w2

x, y, z1

ÍtemsId

(*,2,*)

EjemploIII. Repetir el proceso

del paso I, comenzando por el atributo A3 (A1 y A2 no son analizados)MD-pattern es mcontinuando con A3 del subconjunto, no hay MD-patterns

x, z, wm2a3

p

n

m

A3

3

2

1

A2

c

b

a

A1

x, w4

z, w2

x, y, z1

ÍtemsId

(*,*,m)

Page 125: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

121

Ejemplo

Minar los conjuntos frecuentes por cada MD-patternOtra forma: Minar primero conjuntos de ítems frecuentes y después encontrar los MD-patterns.

BibliografíaJiawei Han and Micheline Kamber.

“Data Mining: Concepts and Techniques”, 2006

Page 126: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

122

Minería de DatosII - 2007

Análisis Supervisado I

Page 127: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

123

AgendaConceptos básicos de aprendizaje maquinal

Árboles de decisión y Reglas de Decisión

Medidas de desempeño

AgendaConceptos bConceptos báásicos de aprendizaje sicos de aprendizaje maquinalmaquinal

Árboles de decisión y Reglas de Decisión

Medidas de desempeño

Page 128: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

124

¿Qué es Aprendizaje de Máquina?

”Find a bug in a program, and fix it, and the program will work today. Show the

program how to find and fix a bug, and the program will work forever.”

Oliver G. Selfridge, AI’s Greatest Trends and Controversies

¿Qué es Aprendizaje de Máquina?

Estudio y desarrollo de sistemas que aprendenSistema que aprende: Sistema capaz de optimizar una función de desempeño basado en datos de entrenamiento y/o datos previosElemento fundamental para el aprendizaje -> generalización (extracción de patrones a partir de datos)

Page 129: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

125

¿Por Qué Usar Aprendizaje de Máquina?

Hay Múltiples tareas para las cuales es difícil o imposible programar un computador (de manera convencional):

Problemas para los cuales no existen expertos humanosProblemas para los que existen expertos humanos, pero no puede explicar su expertisia Problemas donde fenómenos cambian de manera rápida Aplicaciones que deben ser personalizadas para cada usuario particular

Áreas de Aplicación del Aprendizaje de Máquina

Reconocimiento de patrones: procesamiento de imágenes, visión artificial, patrones en series de tiempo Minería de datos: análisis de comportamiento de clientes, extracción de información Bioinformática: detección de genes, relaciones entre genes, diagnóstico genético Robótica: caminado adaptativo Recuperación de Información: motores de búsqueda, sistemas de recomendación, recuperación por contenido Deteccióon de anomalías: detección de fraudes, seguridad computacional

Page 130: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

126

Tipos de Aprendizaje

Aprendizaje supervisadoAprendizaje no supervisado Aprendizaje semi-supervisadoAprendizaje activo (con refuerzo, en línea)

Aprendizaje supervisado

Problema fundamental: encontrar una función que relacione un conjunto de entradas con un conjunto de salidasTipos principales de problemas:

ClasificaciónRegresión

Page 131: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

127

Aprendizaje No Supervisado (I)

No hay etiquetas para los ejemplosProblema fundamental: encontrar la estructura subyacente de un conjunto de datosEjemplos de problemas: Agrupamiento, Compresión de Datos Pueden usarse algunos ejemplos con etiquetas, en este caso es aprendizaje semi-supervisado

Aprendizaje No Supervisado (II)

Page 132: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

128

Aprendizaje Activo (por refuerzo)

Generalmente se da en el contexto de un agente actuando en un ambienteNo se le dice explícitamente al agente si se equivoca o noEl agente es castigado o premiado (no necesariamente de manera inmediata)Problema fundamental: definir una política que permita maximizar el estímulo positivo (premio)

AgendaConceptos básicos de aprendizaje maquinal

Árboles de decisión y Reglas de Decisión

Medidas de desempeño

Page 133: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

129

Aprendizaje con Árboles de DecisiónProblema: decidir si esperar por una mesa en un

restaurante, basándose en los siguientes atributos:– Alternativa: ¿Hay un restaurante alternativo cercano?– Bar: ¿Tiene un bar confortable para esperar?– Viernes/Sábado: ¿Hoy es Viernes o Sábado?– Hambre: ¿Estamos hambrientos?– Clientes: número de personas en el restaurante (Ninguno,

Algunos, Lleno) (Ninguno, algunos, lleno)– Precio: Rango de precios ($, $$, $$$)– Lloviendo: ¿Está lloviendo afuera?– Reservación: ¿Tuvimos que hacer reservación?– Tipo: clase de restaurante (Francés, Italiano, Thai,

Hamburguesas)– EsperaEstimada: tiempo estimado de espera (0-10, 10-

30, 30-60, >60)

Representaciones basadas en atributos

Ejemplos descritos por valores de atributos (Booleano, discreto, continuo)Ejemplos de situaciones en donde Yo esperaré / no esperaré por una mesa:

Page 134: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

130

Representaciones basadas en atributos

V30 - 60HamburguesasFF$LlenoVVVVX12

F0 - 10ThaiFF$NingunoFFFFX11

F10 - 30ItalianoVF$LlenoVVVVX10

F> 60HamburguesasFV$$$LlenoFVVFX9

V0 - 10ThaiVV$LlenoVFFFX8

F0 - 10HamburguesasFV$NingunoFFVFX7

F10 - 30ItalianoVV$$AlgunosVFVFX6

F> 60FrancésVF$$$LlenoFVFVX5

V10 – 30ThaiFF$LlenoVVFVX4

V0 - 10HamburguesasFF$AlgunosFFVFX3

F30 - 60ThaiFF$LlenoVFFVX2

V0 - 10FrancésVF$$$AlgunosVFFVX1

EsperaEstimadaTipoReservaciónLloviendoPrecioClientesHambreViernes/

SábadoBarAlternativa¿Esperar?

AtributosEjemplo

Clasificación de ejemplos es positivo (V) o negativo (F)

Árboles de Decisión

¿Clientes?

FV

¿EsperaEstimada?

F ¿Alternativa? ¿Hambre? V

¿Reservación?

¿Viernes/Sábado? V ¿Alternativa?

¿Bar? V F V

F V

F V

Si

No Si

No Si

SiNo

No SiSi

No

No

NingunoAlgunos

Lleno

>60 >30 -60 >10-60 >0-10

Una posible representación para las hipótesisPor ejemplo, este es el árbol “verdadero” para decidir si esperar o no:

Page 135: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

131

ExpresividadLos Árboles de Decisión pueden expresar cualquier función de los atributos de entrada.Por ejemplo, para funciones Booleanas, una fila de la tabla de verdad →camino a la hoja:

Es trivial, que haya un árbol de decisión consistente para cualquier conjunto de entrenamiento con un camino a la hoja para cada ejemplo (a menos que f sea no-determinística en x) pero es probable que no generalice para nuevos ejemplos.

Es preferible encontrar árboles de decisión más compactos

FVVVFVVVFFFF

A y BBA

F V F V

B B

A

No Si No Si

No Si

Algoritmo para la Inducción de Árboles de Decisión

Algoritmo básico (Algoritmo avaro)

El árbol es construido de arriba hacia abajo recursivamente de forma divide y vencerás.Al comienzo, todos los ejemplos de entrenamiento están en la raíz.Los atributos son categóricos (en caso de atributos continuos, se discretizan por adelantado)Los ejemplos son repartidos recursivamente de acuerdo con el atributo seleccionadoLos atributos de prueba son seleccionados en base a una heurística o medida estadística (ej. ganancia de información)

Page 136: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

132

Condición de Parada

Condiciones para detener el particionamiento:

Todos los ejemplos para un nodo dado pertenecen a una misma clase.

No hay cualidades restantes para mayor particionamiento – la mayoría de votos es usada para la clasificación de la hoja.

Escogiendo un AtributoIdea: un buen atributo separa los ejemplos en subconjuntos que son (idealmente) “todos positivos” o “todos negativos”

¿Clientes? Es una buena opción

¿Clientes?

Ninguno AlgunosLleno

¿Tipo?

Francés Italiano Thai Hamburguesas

Page 137: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

133

Información y Entropía (I)Cuando se contesta una pregunta se estágenerando informaciónLa información ganada es equivalente a la incertidumbre que se disipa (entropía).Suponga que se tiene un evento con dos resultados alternativos (desconocidos), cuál es la situación de máxima incertidumbre?

Información y Entropía (II)Medida de información: 1 bit = respuesta a una pregunta Booleana con probabilidades (0.5,0.5)En general, la entropía de una situación dada es:

Pi corresponde a la probabilidad de cada alternativaLa información generada por la respuesta a una pregunta corresponde a la diferencia entre el valor de la entropía antes y después de responder la pregunta

⎟⎠

⎞⎜⎝

⎛−= ∑

=

n

iin PiPPPH

121 log,...,

Page 138: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

134

Información y Entropía (III)

La entropía es máxima cuando las opciones son equiprobables

Ganancia de información de un atributo

¿Clientes?

Ninguno AlgunosLleno

P(V)=0.5 P(F)=0.5H= - p(V)log(P(V))- p(F)log(P(F))

= - 0.5*(-1) - 0.5*(-1)=1

P(V)=0.33 P(F)=0.66H= - 0.33*(-1.59) - 0.66*(-0.58)=0.91

H=0 H=0

Hnueva = 1/6*0 + 2/3*0 +0.5*0.91 = 0.45Info = Hvieja - Hnueva = 1 – 0.45 = 0.55

Page 139: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

135

Ganancia de informaciónSi Ei tiene pi positiva y ni ejemplos negativos entonces:

La cantidad de bits que se necesitan para clasificar un nuevo ejemplo es:

El número de bits por ejemplo sobre todas las ramas es:

¿Para clientes? Son 0.459 bits, por Tipo sigue siendo 1 bit⇒ Elegir el atributo que maximice la ganancia de información

( ) ( )( )iiiiii npnnppH ++⇒ /,/

( ) ( )( )∑ ++++

i iiiiiiii npnnppH

npnp

/,/

EjemploÁrbol de Decisión aprendido de 12 ejemplos:

Sustancialmente más simple que un árbol de “verdad” –una hipótesis más compleja no se justifica por el bajo volumen de datos

¿Clientes?

FV

V

¿Tipo?

F V

FNo Si

Francés

NingunoAlgunos

Lleno¿Hambre?

Si

VItaliano

F

¿Viernes/Sábado?

Hamburguesas

No

Page 140: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

136

Extracción de Reglas de Clasificación

Se representa el conocimiento en forma de reglas Si – Entonces

Una regla es creada para cada camino desde la raíz a una hoja

Cada par atributo – valor a lo largo de un camino forma una conjunción.

El nodo hoja mantiene la clase predicción

Las reglas son fáciles de entender.

Ejemplo:IF clientes = “lleno” AND hambre = “no” THEN esperar = “no”

IF clientes = “algunos” THEN esperar = “si”

IF clientes = “lleno” AND hambre = “no” AND tipo =”italiano”

THEN esperar = “no”

Manejo de Atributos Continuos

La idea es discretizarPartición binaria:

x <= x0 y x > x0

x0 es un valor que se debe encontrar

División en intervalos (binarización/cuantización)Agrupamiento

Page 141: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

137

Notas Finales

Hay diferentes tipos de algoritmos para inducción de árboles de clasificación (ID3, C4.5, C5.0, CART, etc.)Se pueden aplicar en muchos tipos de problemas y en general los resultados son satisfactoriosEs un modelo altamente interpretableTienen problemas cuando hay interacciones complejas entre atributos

AgendaConceptos básicos de aprendizaje maquinal

Árboles de decisión y Reglas de Decisión

Medidas de desempeño

Page 142: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

138

Evaluación de Algoritmos

Criterios (dependiendo de la aplicación):Error de clasificación o riesgoComplejidad espacio/temporal del entrenamientoComplejidad espacio/temporal de la aplicaciónInterpretabilidad Programación sencilla

Medidas de Error

%error = #errores/#instancias = (FN+FP)/Nsensitividad = #+ encontrados/#+ = TP/(TP+FN) (recall,hit rate)precisión= #+ encontrados/ #total de encontrados = TP/(TP+FP)especificidad = TN/(TN+FP)%falsas alarmas = FP/(FP+TN)

Clase PredichaClase verdadera + -

+-

True Positive False NegativeFalse Positive True Negative

Page 143: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

139

Matrices de Confusión

Usadas cuando más de dos clases están involucradas

Clase PredichaClase verdadera

50 0 00 48 20 1 49

Setosa Virginica VersicolorSetosa

VirginicaVersicolor

Bibliografía

Stuart Russell and Peter Norvig“Artificial Intelligence: A Modern Approach”, Second Edition.

Page 144: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

140

Minería de DatosII - 2007

Análisis Supervisado II

Page 145: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

141

Agenda

Introducción.Redes Neuronales Artificiales.

Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.

Agenda

Aprendizaje o EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje

Redes MulticapaEl Perceptrón Back Propagation

Page 146: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

142

Agenda

Introducción.Redes Neuronales Artificiales.

Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.

INTRODUCCIÓN

¿Qué son las Redes Neuronales?.Bases Biológicas.Historia.Características.Aplicaciones.

Page 147: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

143

¿Qué son las Redes Neuronales?

Las Redes Neuronales son modelos artificiales de las Redes Neuronales Biológicas .Están constituidas por innumerables unidades procesadoras, llamadas neuronas, las cuales se interconectan a través de conexiones.

Una Red Neuronal

Page 148: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

144

Bases BiológicasEl Cerebro es un sistema supremamente complejo.El cerebro humano esta compuesto por cerca de 1011 neuronas (100.000 Millones), con un tamaño de 5-100 micrómetros.Es el dispositivo de computo más poderoso que existe.Le ha tomado a la naturaleza 4.000 Millones de años desarrollarlo.

La Neurona Biológica

Page 149: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

145

La Neurona Biológica

DENDRITAS: Recogen señales bien procedentes de otras neuronas, bien del mundo externo y las transmiten al cuerpo de la neurona

La Neurona Biológica

CUERPO: Recibe las señales de todas las dendritas y según la tipología de la neurona en si, determina una respuesta global.

Page 150: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

146

La Neurona Biológica

AXON: Transmite la respuesta global generada por el cuerpo de la neurona. La respuesta se transmite a otras neuronas o a algún miembro receptor (músculo, etc...)

La Neurona Biológica

SINAPSIS: Es el punto de unión entre dos neuronas (dendrita - axón). El impulso transmitido por el axón se transmite así a otras neuronas, determinando el comportamiento general de la red.

Page 151: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

147

Historia1943 Modelo de Neurona de McCulloch y Pitts1962 Algoritmo de Entrenamiento para Perceptrones, Rosenblatt1969 Limitaciones del Perceptron, Minski y Papert1986 Algoritmo BackPropagation Rumelhart, Hinton y Willians

Características

¿Qué son capaces de hacer?Reconocimiento de PatronesSíntesis Funcional: relaciones entre varias entradas continuas y una o más salidas continuas

Page 152: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

148

Computación Convencional Vs. Neurocomputación

NeuroComputaciónEntrenamiento, aprendizajeNo se separa la memoria y el procesamiento Paralela (Discreto o Continuo), asíncronaTolerante a fallasAuto-organizaciónAcepta entradas con ruido o difusas

Com. ConvencionalProgramaciónMemoria y procesamiento separados

Secuencial o serial, síncrona

No tolerante a fallosDependiente del softwareGarbage in - Garbage out (si entra basura, sale basura)

AplicacionesVisión por ComputadorReconocimiento de la EscrituraReconocimiento y síntesis de la VozControl de ProcesosDiagnostico MédicoExploración PetroleraMinería de Datos

Page 153: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

149

Agenda

Introducción.Redes Neuronales Artificiales.

Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.

Neurona Artificial

Definición:Unidad de procesamiento encargada de simular el comportamiento de una neurona biológica. Modelo matemático que trata de emular de manera simplificada el comportamiento de una neurona biológica

Page 154: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

150

Agenda

Introducción.Redes Neuronales Artificiales.

Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.

MODELO McCULLOCH-PITTS

Modelo de neurona binaria - 1943. Cada Neurona:

Calcula la suma ponderada de sus entradas La salida es 1 o 0 dependiendo de si la suma esta por encima o por debajo de un umbral.

ij

ij j in = f( w n (t)-u )∑

Page 155: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

151

MODELO McCULLOCH-PITTS

n1

n2

nj

i

wi1

wi2

wij

Fn

MODELO McCULLOCH-PITTS

Función de Activación:

Función umbral

u

f(x)= 1 si x >= u0 si x<u

Page 156: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

152

MODELO McCULLOCH-PITTS

Ejemplo:

Σ

0.5

0.2

0.2

0.1

-0.2

0.1

0.031

0

Otras funciones

Función umbral Función lineal a trozos

Función sigmoide Función Gausssiana

Page 157: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

153

Red Neuronal Artificial

Conexiones

Neuronas

La interconexión de varias unidades de procesamiento (neuronas), forman Redes Neuronales Artificiales. Las cuales toman entradas, las procesan y emiten salidas.

EjemploRed XOR

μ=0.7

10.5

0.5 Σ1

Σ0.5

0.5

Σ

1

1

-1

μ=0.3

μ=0

Page 158: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

154

Agenda

Introducción.Redes Neuronales Artificiales.

Neurona Artificial.Modelo de McColluch-Pitts.Definición de RN.Clasificación.

Clasificación

Según la topología:–Redes feedforward

Perceptrón simplePerceptrón multicapaRedes con funciones de base radial

–Redes recurrentes feedbackRedes competitivasRed KohonenRed HopfieldModelos ART

Page 159: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

155

Clasificación

Neuronas de salida

Neuronas de entrada

Neuronas

ocultas

Red Feedforward

Clasificación

Red Recurrente:

Page 160: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

156

Agenda

Aprendizaje o EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje

Redes MulticapaEl Perceptrón Back Propagation

Tipos de AprendizajeSupervisado:Este tipo de algoritmo utiliza un conjunto de ejemplos que la red debe aprender. El entrenamiento se lleva a cabo mediante un proceso iterativo de adaptación de la red neuronal de manera que sus salidas se acerquen cada vez más a las salidas deseadas especificadas en los ejemplos.

Page 161: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

157

Tipos de Aprendizaje

No supervisado:En este tipo de algoritmos no se especifican salidas deseadas, el algoritmo trata de encontrar de manera autónoma regularidades en los datos de entrada creando categorías que agrupen a los datos más similares.

Con refuerzo:La red aprende a través de un proceso de ensayo y error que maximiza el índice de desempeño denominado señal de error.

Clasificación

S u p e rv isa d o C o rre c c ió n d ee rro rB o ltz m a n nH e b b ia nC o m p e titiv o

B a c kP ro p a g a tio nA d a lin e yM a d a lin e

N osu p e rv isa d o

C o rre c c ió n d ee rro rH e b b ia nC o m p e titiv o

A p re n d iz a jec o n m e m o riaa so c ia tiv a

H íb rid o C o rre c c ió n d ee rro r yc o m p e titiv o

A lg o ritm o d ea p re n d iz a jeR B F

Tipo de aprendizaje

Regla de aprendizaje

Algoritmos mas utilizados

Page 162: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

158

Ley de Hebb

Experimento de Pavlov

A

C

B Señal de salivación

Sonido

Comida

Ley de HebbIdea principal sobre la cual se basa esta ley:

“Cuando un axón de la célula A está suficientemente próximo para excitar a una célula B o toma parte en su disparo de forma persistente, tiene lugar algún proceso de crecimiento o algún cambio metabólico en una de las células, o en las dos, de tal modo que la eficiencia de A, como una de las células que desencadena el disparo de B, se ve incrementada.”

Page 163: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

159

Técnica del Gradiente Descendente

Calcular el valor de la función en el punto y=f (x0)Calcular el nuevo valor de xi como el valor anterior mas el gradiente de la función.

yi+1 = yi+Δyi

Técnica del Gradiente Descendente

El gradiente de la función se calcula como la derivada parcial de la función con respecto al punto xi.

El gradiente es igual a:

Δyi= -∂ f /∂xi

Page 164: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

160

Técnica del Gradiente Descendente

La técnica de gradiente descendente es un procedimiento iterativo que busca minimizar una función moviéndose en la dirección opuesta al gradiente de dicha función.

Técnica del Gradiente Descendente

mínimoglobal

mínimo local

Page 165: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

161

Rata de Aprendizaje

Determina el tamaño del paso que utiliza el algoritmo, para moverse en el espacio de los pesos. Un valor muy pequeño para este parámetro puede provocar una convergencia muy lenta, así como un valor muy alto puede provocar un comportamiento divergente.

Momento

El momento, da al algoritmo una especie de inercia que le permite evadir en ciertos casos los mínimos locales.Con este momento se consigue la convergencia de la red en un número menor de iteraciones.

Page 166: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

162

Patrones de entrenamiento

Un patrón es una pareja de vectores X y Y de longitud n y m respectivamente:

X = (x1, x2, x3, .. , xn)Y= (y1, y2, y3, .. , ym)

donde xi corresponde a un valor para la neurona de entrada i y yj es el valor deseado de la neurona de salida j.

Agenda

Aprendizaje o EntrenamientoDefiniciones BásicasClasificación de Algoritmos de Aprendizaje

Redes MulticapaEl Perceptrón Back Propagation

Page 167: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

163

El Perceptrón

Definición:Es una red neuronal feedforward que consta de dos capas, una de entrada y una de salida.En sus inicios se consideró que podía resolver todo tipo de problemas. Sin embargo no es posible resolver el problema XOR con este modelo.

El Perceptrón

x1

x2

xi

.

...

y1

y2

yi

Page 168: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

164

El Perceptrón

Regla de Aprendizaje1. Inicialización de los pesos y del

umbral:

Inicialmente se asignan valores aleatorios a cada uno de los pesos (wi) de las conexiones y al umbral (-w0=θ)

El Perceptrón

2. Presentación de un nuevo par (Entrada, Salida esperada):

Presentar un nuevo patrón de entrada Xp=(x1,x2,...,xN) junto con la salida esperada d(t).

Page 169: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

165

El Perceptrón

3. Cálculo de la salida actual

y(t)=f [Σwi(t)xi(t)-θ]i

Siendo f (x) la función de transferencia escalón.

El Perceptrón

4. Adaptación de los pesos :

))()(1()(0

)()()()(2)(

)()()1(

tdtytwcasootroen

tdtysitytxtw

twtwtw

i

ii

iii

−=Δ⎭⎬⎫

⎩⎨⎧ ≠

Δ+=+

η

η

Page 170: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

166

El Perceptrón

Δwi(t)=η[d(t)-y(t)] xi(t)

(0<=i<=N)donde η es la rata de aprendizaje yvaria entre 0 y 1.

5. Repertir desde el paso 2.

Algoritmo entrenamiento del Perceptrón

1. Inicializar los pesos y umbrales para valores aleatorios pequeños.

2. Presentar un patrón y evaluar la salida de la neurona.

3. Calcular la salida actual.

yi(t)=f (Σwi(t)xi(t)-θ)4. Actualizar los pesos de acuerdo a:

wij (t+1)=wij(t)+η(di(t)-yi(t))xj

donde η es la rata de aprendizaje y varia entre 0 y 1.

Page 171: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

167

Separabilidad de patrones

Función AND Función XORlinealmente separable No separable

linealmente

01 11

1000

01 11

1000

Redes Multicapa

Definición:

Conformadas por una capa de entrada, una o varias ocultas y una de salida, sus conexiones no deben formar ciclos.

Feedforward: Conexión completa entre capas sucesivas.

Pueden utilizar funciones de activación tales como la sigmoide y la función umbral.

Page 172: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

168

Redes Multicapa

Neuronas de salida

Neuronas de entrada

Neuronas

ocultas

Algoritmo de Retropropagación (Back Propagation)

Para entrenar redes multicapa.Requiere que la función de activación sea derivable y creciente.

Usualmente sigmoides (logística y la tangente hiperbólica).

A minimizar función de error (cuadrático medio), cuyo dominio es el espacio de los pesos de las conexiones:

kpk

2E = 1 / 2 ( -p pky d )∑

Page 173: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

169

Algoritmo de Retropropagación (Back Propagation)

El algoritmo trabaja de la siguiente forma:

Presenta un patrón de entrada a la Red neuronal.

Propaga dichas entradas hasta la capa de salida.

Calcula el error en la capa de salida.

Propaga dicho error hacia las neuronas ocultas (hacia atrás).

Cambia los pesos de las conexiones.

Algoritmo de Retropropagación (Back Propagation)

El procedimiento se hace para todos los patrones iterativamente hasta que la red converja a un valor del error deseado.

Error

SE

Page 174: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

170

Algoritmo de Retropropagación (Back Propagation)

Pasos del algoritmo:Inicializar los pesos con pequeños valores aleatorios.Escoger aletoriamente un patrón de entrada x.Propagar la señal hacia adelante.

δi(t)=f’(xi(t))*(di-yi)

- Calcular el error en la capa de salida

Algoritmo de Retropropagación (Back Propagation)

Propagar dicho error hacia las neuronas ocultas (hacia atrás).

– Actualizar los pesos utilizando:

δj(t)=f ’(xi(t))*(Σwijδi(t))i

wji(t+1)= wji(t)+Δwji(t+1)

donde:

Page 175: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

171

Algoritmo de Retropropagación (Back Propagation)

Δwji(t+1) = [ηδjyi(t)+αΔwji(t)]

– Repetir desde el paso 2 hasta alcanzar el error deseado

Generalización y sobre ajuste

Error de clasificaciónControl del sobre-ajuste Complejidad del modelo

Page 176: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

172

Error de ClasificaciónError de entrenamiento:

e(modelo, datos)Número de ejemplos de entrenamiento clasificados incorrectamenteConocido como error de re-substitución o error aparente

Error de generalización:e’(modelo, datos)Error esperado del modelo en ejemplos no usados en el entrenamiento.

Un buen modelo debe tener errores de entrenamiento y generalización bajos

Sobre-ajuste (Overfitting)Cuando el algoritmo de aprendizaje se ajusta tanto a los datos de entrada que pierde su capacidad de generalizar

El error de cálculo de los ejemplos futuros seráalto

Page 177: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

173

Sobre-ajusteSobre-ajuste: Bajo error de entrenamiento pero error de generalización alto.Sub-ajuste (underfitting): Errores de entrenamiento y generalización altos

Error de Entrenamiento

Error de Generalización

Sobre-ajuste

Parámetro modelo

Sub-ajuste

Causas sobre-ajuste: Presencia Ruido

La frontera de decisión es distorsionada por el ruido

Ruido

Page 178: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

174

Causas sobre-ajuste:Falta de Ejemplos Representativos

La falta de ejemplos en la parte inferior del diagrama hace difícil que el modelo realice una predicción acertada en esta región

Puntos mal clasificados

Causas sobre-ajuste:Procedimiento múltiple comparaciones

Al comparar alternativas independientes y seleccionar la mejorEjemplo:

Predecir cuando la demanda se incrementara o reducirá en los siguientes 10 días. Analista aleatorio: Su probabilidad de acertar en 8 o mas días es

( c(10,8) + c(10,9) + c(10,10) )/ 210 = 0.0547Seleccionar uno de entre 50 analistas aleatorios, la probabilidad de que uno de ellos acierte en 8 o mas días es:

1 – (1-0.0547)50 = 0.9399

Page 179: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

175

Estimación del error de Generalización

Estimación optimista: Usando re-substitución e’(modelo, datos) = e(modelo, datos)

Incorporando la complejidad del modelo –Cuchilla de Occam e’(modelo, datos)=

e(modelo, datos)+costo(modelo, datos)Estimación pesimistaPrincipio MDL (Descripción de mínima longitud)

Descripción de Mínima Longitud (MDL)

costo(modelo,datos) = costo(datos|model) + costo(modelo)

Costo es medido en el numero de bits necesarios para su codificación.El problema es el de buscar el modelo de menor costo.

costo(datos|modelo) para codificar los errores de clasificación.costo(modelo) para codificar el modelo.

A B

A?

B?

C?

10

0

1

Yes No

B1 B2

C1 C2

X yX1 1X2 0X3 0X4 1… …Xn 1

X yX1 ?X2 ?X3 ?X4 ?… …Xn ?

Page 180: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

176

Métodos de EstimaciónHoldout

Mantener un porcentaje de instancias (2/3) para entrenamiento y el resto (1/3) para pruebas Se sugiere que el de entrenamiento sea mayor que el de pruebas

Muestreo AleatorioRepetir varias veces holdout y calcular estadísticos sobre dicho procesoSe sugiere repetir como mínimo 30 veces

Validación Cruzada (Cross validation)Partir el conjunto de datos en k subgrupos disjuntosk-fold: entrenar con k-1 subgrupos, validar con el restante. Repetir usando cada grupo en validaciónDejar uno afuera (Leave-one-out): k=n

Muestreo Estratificadosobremuestreo vs submuestreo

BootstrapMuestreo con repetición

Complejidad del modelo

Parámetro que controla lo complejo del modeloEn árboles de decisión (tamaño)

Pre-podadoPost-podado

En redes neuronalesNúmero neuronas ocultas y/o conexionesTipo de red neuronal

Page 181: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

177

Bibliografía

Neural Networks: A ComprehensiveFoundation, Simon HaykinNeural Networks: Algorithms, Applications, and ProgrammingTechniques,James A. Freeman, David M. Skapura

Notas

Page 182: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

178

Minería de DatosII - 2007

Análisis Supervisado IIIModelos Probabilísticos

Page 183: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

179

AgendaRepaso de probabilidadModelos BayesianosClasificador BayesianoNaive BayesRed de creenciasClasificación sensible al costo

AgendaRepaso de probabilidadModelos BayesianosClasificador BayesianoNaive BayesRed de creenciasClasificación sensible al costo

Page 184: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

180

Probabilidad

Formalización de la noción intuitiva de la posibilidad de que un evento ocurra

Cuál es la probabilidad de obtener el número 6 si lanzo un dado?Cuál es la probabilidad de obtener 10 o más si lanzamos dos dados?Variable aleatoria: una variable que puede tomar diferentes valores de acuerdo con una distribución de probabilidad

EventosPosiblesEsucedequeVecesdeEP

##)( =

Probabilidad Conjunta

Es la probabilidad de que dos eventos sucedan a la vez:

P(X=x,Y=y)probabilidad de que X y Y tomen los valores x y y a la vez

P(dado_1=4,dado_2=6) = ?

Page 185: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

181

Probabilidad de que una variable aleatoria pueda tomar un valor particular dado el valor de otra variable aleatoria

P(Y=y | X=x)

se refiere a la probabilidad que la variable Y puede tomar el valor de y dado que la variable X toma el valor de x

Probabilidad Condicional

Probabilidad Condicional

¿Cuál es la probabilidad de obtener 10 al lanzar un par de dados si sé que uno de los dados cayo en 4?suma = dado_1 + dado_2P(suma=10 | dado_1=4) = ?

Page 186: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

182

Teorema de BayesLas probabilidades condicionales de X y Y están relacionadas:

P(X,Y) = P(Y|X) P(X) = P(X|Y) P(Y)Teorema de BayesTeorema de Bayes

P(Y|X) = P(X|Y)P(Y|X) = P(X|Y)··P(Y) / P(X)P(Y) / P(X)Ejercicio2 equipos. Equipo 0 gana el 65% de las veces, equipo 1 gana 35% de las veces. De los juegos ganados por el equipo 0, el 30% son jugados en la cancha del equipo 1. El 75%, de las victorias del equipo 1 son ganados cuando juegan en casa. Si el equipo 1 juega de local, cuál equipo es el favorito a ganar?

AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo

Page 187: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

183

Clasificador Bayesiano

Considere que cada atributo y la etiqueta de clase son variables aleatoriasDado un registro con atributos (A1, A2,…,An) El objetivo es predecir la clase CEspecíficamente, nosotros deseamos encontrar el valor de C que maximice P(C| A1, A2,…,An )Podemos estimar P(C| A1, A2,…,An ) directamente a partir de los datos?

calcule la probabilidad a posteriori P(C | A1, A2, …, An) para todos los valores de C usando el teorema de Bayes:

Escoja el valor de C que maximice P(C | A1, A2, …, An)

Equivalente a escoger el valor de C que maximice

P(A1, A2, …, An|C) P(C)

Cómo se estima P(A1, A2, …, An | C )?

Solución

)...()()|...()...|(

21

2121

n

nn AAAP

CPCAAAPAAACP =

Page 188: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

184

Problema de tomar una decisiónDada las condiciones del clima, es posible jugar

tenis? Outlook Temperature Humidity Windy Classsunny hot high false Nsunny hot high true Novercast hot high false Prain mild high false Prain cool normal false Prain cool normal true Novercast cool normal true Psunny mild high false Nsunny cool normal false Prain mild normal false Psunny mild normal true Povercast mild high true Povercast hot normal false Prain mild high true N

AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaïve BayesRed de creenciasClasificación sensible al costo

Page 189: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

185

Clasificador Naïve BayesAsume independencia entre los atributos Ai cuando la clase es dada:

P(A1, A2, …, An |C) = P(A1| Cj) P(A2| Cj)… P(An| Cj)

Se debe estimar P(Ai| Cj) para todo Ai y Cj.

Un nuevo ejemplo es clasificado como Cj si P(Cj) Π P(Ai| Cj) es máximo.

¿Cómo Estimar las Probab.a Partir de los Datos?

Page 190: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

186

¿Cómo Estimar las Probab.a Partir de los Datos?

Para atributos continuos:Discretizar: el rango en bins

un atributo ordinal por binviola la suposición de independencia

Separación: (A < v) o (A > v)Escoger solo uno de los dos intervalos como nuevo atributo

Estimación de la distribución de probabilidad:Asuma que el atributo tiene una distribución normalUse los datos para estimar los parámetros de la distribución (ej.,media y desviación estándar)Una vez que la distribución de probabilidad se conoce, se puede usar para estimar P(Ai|c)

Cómo Estimar las Probab.a Partir de los Datos?

Distribución normal:

Uno por cada par (Ai,ci)

Para (Income, Class=No):

Si Class=Nomedia muestral = 110

varianza muestral = 2975

2

2

2

)(

21)|( ij

ijiA

ijiji eCAP σ

μ

σπ

−−

=

0072.054.54*2

1)|120( )2975(2)110120( 2

===−

eNoIncomePπ

Page 191: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

187

Ejemplo del Clasificador Naïve Bayes

P(X|Class=No) = P(Refund=No|Class=No)× P(Married| Class=No)× P(Income=120K| Class=No)

= 4/7 × 4/7 × 0.0072 = 0.0024

P(X|Class=Yes) = P(Refund=No| Class=Yes)× P(Married| Class=Yes)× P(Income=120K| Class=Yes)

= 1 × 0 × 1.2 × 10-9 = 0

Puesto que P(X|No)P(No) > P(X|Yes)P(Yes)entonces P(No|X) > P(Yes|X)

=> Clase = No

)120,,(Re KIncomeMarriedNofundX ===

Clasificador Naïve Bayes

Si una de las probabilidades condicionales es 0, entonces toda la expresión se vuelve 0Estimación de la probabilidad:

c: número de clases

p: probabilidad a priori

m: parámetro

mNmpNCAPestimatem

CNNCAPLaplace

NNCAPOriginal

c

ici

c

ici

c

ici

++

=−

++

=

=

)|(:

1)|(:

)|(:

Page 192: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

188

Naïve Bayes (Recapitulación)

Robusto a ejemplos ruidosos Maneja valores faltantes simplemente ignorando la instancia durante los cálculos de la estimación de probabilidadRobusto a atributos irrelevantesLa suposición de independencia puede no cumplirse para algunos atributos:

Se deben usar otras técnicas tales como redes de creencias Bayesianas

AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo

Page 193: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

189

Bayesian Belief NetworksRedes de Creencias Bayesianas

Modelar la probabilidad condicional de clases P(X|Y) sin el supuesto de independenciaPermite especificar qué par de atributos son condicionalmente dependientesPasos:Representación y construcción del modeloEstimación de probabilidades condicionalesInferencia sobre el modelo

Red de CreenciasUn modelo gráfico de relaciones causales:

Representan dependencia condicional entre las variablesVariables no explícitamente relacionadas se consideran condicionalmente independientes

X Y

ZP

Nodos: variables aleatorias

Enlaces: dependencias

X y Y son los padres de Z, y Y es el

padre de P

No hay dependencia entre Z y P

No tiene bucles o ciclos

Page 194: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

190

Ejemplo Red de Creencia

HistoriaFamiliar

Cáncer depulmón

Rayos XPositivos

Fumador

Efisema

Dipnea

CP

~CP

(HF, F) (HF, ~F) (~HF, F) (~HF, ~F)

0.8

0.2

0.5

0.5

0.7

0.3

0.1

0.9

Tabla de probabilidad condicional (TPC) para la variable cáncer de pulmón:

La derivación de la probabilidad de una combinación particular de valores de X, desde TPC:

∏=

=n

iiin YPadresxPxxP

11 ))(|(),...,(

),|)()|()|(*),|()(|(),,,,,(

ECPDPCPRXPPFEPFHFCPPFPHFPDRXPECPFHFP =

Inferencia

Diagnosticar si una persona tiene Cáncer de Pulmón:

Sin información previa: P(CP)Rayos X Positivos: P(CP|RXP)Rayos X Positivos, Fumador, No Dipnea: P(CP|RXP,F,~D)

En todos los casos se puede calcular usando la probabilidad conjunta total y las leyes de probabilidad

Page 195: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

191

Entrenamiento de Redes Bayesianas

Varios escenarios:Dando la estructura de la red y todas las variables observables: aprende solo las TPCs.La estructura de la red se conoce, algunas variables están ocultas: método del gradiente descendente (greedy hill-climbing), análogo al aprendizaje neural de la red.La estructura de la red es desconocida, todas las variables son observables: buscar a través del espacio del modelo para reconstruir la topología de la red.Estructura desconocida, todas las variables están ocultas: no se conocen buenos algoritmos para éste propósito.

Ref. D. Heckerman: Bayesian networks for data mining

Características

Modelo graficoConstruir la red puede ser costoso. Sin embargo, una vez construida la red, adicionar una nueva variable es directoTrabajan bien con datos perdidos (sumando o integrando las probabilidades)El modelo es robusto a overfitting

Page 196: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

192

AgendaRepaso de probabilidadModelos BayesianosClasificadores BayesianoNaive BayesRed de creenciasClasificación sensible al costo

Marketing

Medicina

Finanzas

Spam

Comprador / no Comprador

Enfermo / no Enfermo

Prestar / no Prestar

Spam / no Spam

Area Ejemplo

Clasificación Sensible al Costo

Page 197: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

193

Suponer que los Errores Son Igualmente Costosos Pueden Llevar a Malas Decisiones

El costo de hacerle una oferta a un no comprador es pequeña comparada con no contactar un comprador

El costo de un mal prestamo es mayor que negarle un prestamo aun buen cliente

Rechazar correo que no sea Spam es más costoso que aceptar correo Spam

Marketing

Finance

Spam

Examples

Sunny

222111115100Sunny

Snowy

Snowy

Rainy

RainyActual

Pred

icte

d

Fuente: Zadrozny y Abrahams

Matriz de Costos

Page 198: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

194

RealPr

edic

hoFraude

(0.2)x-x- 2020

No fraude

Rechazo

Aprobar

x = valor transación

Fuente: Aprahams

Costos DependientesFraude con Tarjeta de Crédito

Aprendizaje Sensitivo al CostoAprendizaje no sensitivo al costo:

Aprendizaje sensitivo al costo:Escoger acción que minimice el costo esperado

Costo(Cj,Ci) = costo de clasificar como Ci cuando realmente es Cj

Los dos enfoques son equivalentes cuándo los costos son iguales para todos los errores

∑≠ ij CC

ijnji CCCostoAACPC ),(),...,|( 1

min

),...,|( 1

max

nji AACPC

Page 199: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

195

Metacost

Es una algoritmo que permite volver cualquier clasificador sensitivo al costoSe debe especificar una matriz de costosEl algoritmo reetiqueta los ejemplos de entrenamiento de manera que el costo esperado se minimice

EjemploObjetivoP(Y=1|X=1) probabilidad condicional de que el equipo 1 gane el siguiente juego estando como local, y comparar con P(Y=0|X=1)Usando BayesP(Y=1|X=1) = P(X=1|Y=1) P(Y=1)/ P(X=1)= P(X=1|Y=1) P(Y=1) / P(X=1,Y=1)+P(X=1,Y=0)= P(X=1|Y=1) P(Y=1) / P(X=1|Y=1)P(Y=1) +P(X=1|Y=0)P(Y=0)

= 0.75x0.35/(0.75x0.35 + 0.3x0.65) = 0.5738P(Y=0|X=1) = 1 - P(Y=1|X=1) = 0.4262

Equipo1 tiene mas oportunidad de ganar

Ley de probabilidad total

Page 200: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

196

EjemploX variable aleatoria que representa el equipo localY variable aleatoria que representa el ganador

Probabilidad que equipo 0 gane: P(Y=0) = 0.65Probabilidad que equipo 1 gane: P(Y=1) = 0.35Probabilidad de que si el equipo 1 gana estéjugando como local:

P(X=1|Y=1) = 0.75Probabilidad de que si el equipo 0 gana estéjugando como visitante:

P(X=1|Y=0) = 0.3

BibliografíaB. Zadrozny, J. Langford, and N. Abe. Cost-Sensitive Learning by Cost-Proportionate Example Weighting. In Proceedings of the 2003 IEEE International Conference on Data Mining, 2003. Alpaydin, E. 2004 Introduction to Machine Learning (Adaptive Computation and Machine Learning). The MIT Press.Tan, Steinbach and Kumar, Introduction to Data Mining, Addison Wesly, 2006

Page 201: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

197

BibliografíaDomingos. MetaCost: A General Method for Making Classifiers Cost-Sensitive. In Proceedings of the Fifth International Conference on Knowledge Discovery and Data Mining (KDD-99). 1999.Alan Abrahams, An Introduction to Cost-Sensitive Learning , Lecture Slides, http://opim.wharton.upenn.edu/~asa28/opim_410_672_spring05/opim_410_guest_lecture_dan_fleder_cost_sensitive_learning.ppt

NOTAS

Page 202: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

198

Minería de DatosII - 2007

Regresión y Series de Tiempo

Page 203: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

199

Agenda

RegresiónSeries de tiempo

Agenda

RegresiónSeries de tiempo

Page 204: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

200

RegresiónSimilar al problema de clasificación pero el atributo de clase es continua

Problema:encontrar una relación funcional entre una variable dependiente y uno o varias variables independientes

Tipos:

Regresión lineal

Regresión no lineal

Otros: regresión logísitica, árboles de decisión

Regresión Lineal Simple

Involucra una variable dependiente Y (o de respuesta) y una variable independiente X (o predictora)

y = w0 + w1 x

en donde w0 (intercepto) y w1 (pendiente) son coeficientes de regresión

Método de mínimos cuadrados: estima la línea que mejor ajuste los datos

−−

|D|

=ii

|D|

=iii

)x(x

)y)(yx(x=w

1

2

11

xwy=w 10 −

Page 205: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

201

Regresión Lineal Multivariada

Involucra más de una variable independiente

Los datos de entrenamiento tienen la forma: (X1, y1), (X2, y2),…, (X|D|, y|D|) en donde Xi=(Xi

1,..,Xin)

Por ejemplo, para datos 2-D, se tiene y = w0 + w1 x1+ w2 x2

Se puede resolver extendiendo el método de mínimos cuadrados

Muchas funciones no lineales se pueden transformar en este modelo

Regresión no lineal

Algunos modelos no lineales se pueden modelar con una función polinomial

Un modelo de regresion polinomial puede transformarse en un modelos de regresión lineal:

y = w0 + w1 x + w2 x2 + w3 x3

convertible a lineal con nuevas variables: x2 = x2, x3= x3

y = w0 + w1 x + w2 x2 + w3 x3

Otras funciones, ej. logaritmos, pueden transformarse en modelos lineales

Principal problema: se debe conocer/suponer la forma del modelo a priori

Page 206: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

202

Regresión no Lineal

Solución: usar un modelo no paramétrico (o semiparamétrico)

Redes neuronales:Neuronas de entrada: variables independientes

Neuronas de salida: variables dependientes

Regresión Logística

Objetivo: usar regresión para estimar la probabilidadP(Y|X1,...,Xn) = g(w0+w1X1+...+wnXn)

g() es una función sigmoide, usualmente la función logísitica:

( ) xe+=xg −1

1

Page 207: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

203

Agenda

RegresiónSeries de tiempo

Series de Tiempo

Base de Datos de Series de Tiempo Consiste en secuencias de valores o eventos que cambian con el tiempo

Los datos son almacenados en intervalos regulares

Componentes principales de una serie de tiempo:Tendencia, ciclo, estacional. irregular

AplicacionesFinanzas: inventarios, precio, inflación

Industria: consumo de energía

Ciencia: resultados de experimentos

Metereología: precipitación

Page 208: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

204

Una serie de tiempo puede ser ilustrada como una gráfica que describe un punto que se mueve a través del tiempo.

Series de Tiempo

Categorías de Movimientos de Series de Tiempo

Tendencia: movimientos a largo plazoCíclicos: oscilaciones de largo plazo sobre una línea o curva de tendencia

e.g. ciclos de negocios, que pueden o no ser periódicos

Estacionales: Casi siempre son patrones idénticos que una serie de tiempo aparenta seguir durante meses correspondientes durante años sucesivos.

Movimientos irregulares o aleatorios

Page 209: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

205

Análisis de Series de Tiempo

Descomposición de una serie de tiempo en sus cuatro movimientos básicos

Modo aditivo: TS = T + C + S + IModo multiplicativo: TS = T × C × S × I

Diferentes métodos para estimar cada componente

Modelo Autoregresivo

El valor de la serie de tiempo en un momento

dado depende de los valores anteriores:

Xi = f(Xi-1,...,Xi-k)

Muchas veces, f es modelada como una función

lineal

En el caso más general, f es una función no

lineal

Page 210: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

206

Autoregresión con Redes Neuronales

Se debe definir el tamaño de la ventana de autoregresión, k (número de datos a mirar hacia atrás)

La red neuronal debe tener k entradas y 1 salida

Los patrones de entrenamiento y prueba se construyen con base en la serie de tiempo (Xi,...,Xn) con una ventana deslizante:X1,...,XK XK+1X2,...,XK XK+2

Xn-k,...,Xn-1 Xn

Data Mining: Concepts and Techniques

Jiawei Han and Micheline Kamber

Department of Computer Science

University of Illinois at Urbana-Champaign2006

Bibliografía

Page 211: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

207

Minería de DatosII - 2007

AgrupamientoPrincipios y Aplicaciones

Page 212: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

208

Agenda¿Qué es el análisis de Cluster?

Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?

Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos

AgendaTipos de Agrupamientos

Agrupamiento de Partición (Partitional Clustering)Agrupamiento JerárquicoOtras distinciones entre los conjuntos de ClustersCaracterísticas importantes de la entradas de datos

Algoritmos de AgrupamientoK-means y sus variantesAgrupamiento jerárquicoAgrupamiento basado en densidad

Page 213: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

209

Agenda¿Qué es el análisis de Cluster?

Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?

Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos

¿Qué es el análisis de Cluster?

Los grupos de objetos encontrados, en un grupo serán similares o relativos sus objetos y diferentes de los objetos de otros grupos.

Las distancias entre los cluster son maximizadas

Las distancias dentro de los cluster son

minimizadas

Page 214: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

210

Aplicaciones del Análisis de Cluster

EntendimientoGrupo relativo de documentos para encontrar grupos de genes y proteínas que tiene una funcionalidad similar, o grupos típicos con fluctuaciones de precios similares.

ResumenReducir el tamaño de los grandes conjuntos de datos

Clusters Descubiertos Grupo Industrial

1 Applied-Matl-DOWN,Bay-Network-Down,3-COM-DOWN, Cabletron-Sys-DOWN,CISCO-DOWN,HP-DOWN,

DSC-Comm-DOWN,INTEL-DOWN,LSI-Logic-DOWN, Micron-Tech-DOWN,Texas-Inst-Down,Tellabs-Inc-Down,

Natl-Semiconduct-DOWN,Oracl-DOWN,SGI-DOWN, Sun-DOWN

Technology1-DOWN

2 Apple-Comp-DOWN,Autodesk-DOWN,DEC-DOWN, ADV-Micro-Device-DOWN,Andrew-Corp-DOWN,

Computer-Assoc-DOWN,Circuit-City-DOWN, Compaq-DOWN, EMC-Corp-DOWN, Gen-Inst-DOWN,

Motorola-DOWN,Microsoft-DOWN,Scientific-Atl-DOWN

Technology2-DOWN

3 Fannie-Mae-DOWN,Fed-Home-Loan-DOWN, MBNA-Corp-DOWN,Morgan-Stanley-DOWN

Financial-DOWN

4 Baker-Hughes-UP,Dresser-Inds-UP,Halliburton-HLD-UP, Louisiana-Land-UP,Phillips-Petro-UP,Unocal-UP,

Schlumberger-UP

Oil-UP

Agrupamiento para la precipitación en Australia

¿Qué no es Análisis de Cluster?

Clasificación SupervisadaTiene etiquetas de información de la clase

Segmentación SimpleDividir los estudiantes en grupos diferentes de registro alfabéticamente por apellido.

Resultados de una consultaLos agrupamientos son resultados de una especificación externa

Partición GráficoExiste cierta importancia y sinergia mutua, pero las áreas no son idénticas

Page 215: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

211

La Noción de Cluster puede ser ambigua

¿Cuántos clusters hay?

Cuatro ClustersDos Clusters

Seis Clusters

Agenda¿Qué es el análisis de Cluster?

Aplicaciones del Análisis de Cluster¿Qué no es Análisis de Cluster?

Similitud y DisimilitudSimilitud /Disimilitud para Atributos SimplesDistancia EuclidianaDistancia MinkowskiDistancia de MahalanobisPropiedades de una DistanciaPropiedades comunes de una similitudSimilitud entre Vectores BinariosEjemplo: SMC versus JaccardSimilitud por coseno Coeficiente Extendido de Jaccard (Tanimoto)CorrelaciónEvaluación Gráfica de la CorrelaciónAproximación General para Combinar SimilitudesUso de Pesos para Combinar SimilitudesDensidadDensidad Euclidiana - Basada en CeldasDensidad Euclidiana – Basada en el CentroTipos de Agrupamientos

Page 216: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

212

Similitud y DisimilitudSimilitud

Medida numérica de semejanza entre objetosValor alto para objetos parecidosA menudo definida en el intervalo [0,1]

DisimilitudMedida numérica de diferencia entre objetosValor bajo para objetos parecidosVaria entre [0, ∞)Usualmente es una distancia

ProximidadSe refiere a similitud o disimilitud

Similitud /Disimilitud para Atributos Simples

p y q son los valores de los atributos para dos objetos de datos.

Similitud y disimilitud para atributos simples

Page 217: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

213

Distancia Euclidiana

n es la dimensión (numero de atributos)pk y qk son los k- ésimos atributos de los datos p y q.

Se realiza normalización si las escalas de los atributos difieren.

∑=

−=n

kkk qpdist

1

2)(

0

1

2

3

0 1 2 3 4 5 6

p1

p2

p3 p4

punto x yp1 0 2p2 2 0p3 3 1p4 5 1

Matriz de Distancias

p1 p2 p3 p4p1 0 2.828 3.162 5.099p2 2.828 0 1.414 3.162p3 3.162 1.414 0 2p4 5.099 3.162 2 0

Distancia Euclidiana

Page 218: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

214

Generalización de la distancia Euclidiana mediante el parámetro r

r = 1. Distancia Manhattan (taxi, norma L1). Ejemplo típico: Distancia de Hamming: Numero de bits diferentes entre dos arreglos de bits

r = 2. Distancia Euclidianar → ∞. Distancia “supremo” (norma Lmax o L∞).

La máxima diferencia entre los atributos

rn

k

rkk qpdist

1

1)||( ∑

=−=

Distancia Minkowski

Matriz de Distancias

punto x yp1 0 2p2 2 0p3 3 1p4 5 1

L1 p1 p2 p3 p4p1 0 4 4 6p2 4 0 2 4p3 4 2 0 2p4 6 4 2 0

L2 p1 p2 p3 p4p1 0 2.828 3.162 5.099p2 2.828 0 1.414 3.162p3 3.162 1.414 0 2p4 5.099 3.162 2 0

L∞ p1 p2 p3 p4p1 0 2 3 5p2 2 0 1 3p3 3 1 0 2p4 5 3 2 0

Distancia Minkowski

Page 219: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

215

Distancia de MahalanobisTqpqpqpsmahalanobi )()(),( 1 −∑−= −

Para los puntos rojos, la distancia Euclidiana es 14.7, mientras que la distancia de Mahalanobis es 6.

Σ es la matriz de covarianzas de los datos de entrada X

∑=

−−−

=Σn

ikikjijkj XXXX

n 1, ))((

11

Distancia de MahalanobisMatriz de Covarianza:

⎥⎦

⎤⎢⎣

⎡=Σ

3.02.02.03.0

B

A

C

A: (0.5, 0.5)

B: (0, 1)

C: (1.5, 1.5)

Mahal(A,B) = 5

Mahal(A,C) = 4

Page 220: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

216

Una métrica d es una función que tiene las siguientes propiedades.

1. d(p, q) ≥ 0 para todos p y q y d(p, q) = 0solamente si p = q. (Definida positiva)

2. d(p, q) = d(q, p) para todos p y q. (Simetría)3. d(p, r) ≤ d(p, q) + d(q, r) para todos p, q, y r.

(Desigualdad triangular)

Toda distancia satisface las propiedades de una métrica

Propiedades de una Distancia

Propiedades comunes de una similitud

Las similitudes tienen algunas características bien conocidas:

1. s(p, q) = 1 (o máxima similitud) solo si p = q.

2. s(p, q) = s(q, p) para todo p y q. (Simétrica)

Donde s(p, q) es la similitud entre puntos (objetos de datos), p y q.

Page 221: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

217

Similitud entre Vectores Binarios

Una situación común es que los objetos, p y q, tienen solo atributos binariosSimilitudes de cálculo usando las cantidades siguientes:

M01 = el número de atributos donde p es 0 y q es 1M10 = el número de atributos donde p es 1 y q es 0M00 = el número de atributos donde p es 0 y q es 0M11 = el número de atributos donde p es 1 y q es 1

Correspondencia simple (SMC) y Coeficientes de Jaccard (J)

SMC = (M11 + M00) / (M01 + M10 + M11 + M00)

J = (M11) / (M01 + M10 + M11)

Ejemplo: SMC versus Jaccard

p = 1 0 0 0 0 0 0 0 0 0 q = 0 0 0 0 0 0 1 0 0 1

M01 = el número de atributos donde p es 0 y q es 1M10 = el número de atributos donde p es 1 y q es 0M00 = el número de atributos donde p es 0 y q es 0M11 = el número de atributos donde p es 1 y q es 1

SMC = (M11 + M00)/(M01 + M10 + M11 + M00) = (0+7) / (2+1+0+7) = 0.7

J = (M11) / (M01 + M10 + M11) = 0 / (2 + 1 + 0) = 0

Page 222: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

218

Similitud por cosenoÚtil para vectores documentales

cos( d1, d2 ) = (d1 • d2) / ||d1|| ||d2|| ,

Ejemplo:

d1 = 3 2 0 5 0 0 0 2 0 0 d2 = 1 0 0 0 0 0 0 1 0 2

d1•d2=3*1 +2*0 +0*0 + 5*0 + 0*0 + 0*0 + 0*0 + 2*1 + 0*0 + 0*2 = 5||d1||=(3*3+2*2+0*0+5*5+0*0+0*0+0*0+2*2+0*0+0*0)0.5 = (42) 0.5

||d1|| = 6.481||d2|| = (1*1+0*0+0*0+0*0+0*0+0*0+0*0+1*1+0*0+2*2) 0.5 = (6) 0.5

||d2|| = 2.245

cos( d1, d2 ) = .3150

Coeficiente Extendido de Jaccard (Tanimoto)

Variación de Jaccard para atributos continuos o de conteo

Reduce el coeficiente Jaccard para atributos binarios

Page 223: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

219

Correlación

La correlación cuantifica la relación lineal entre objetosPara calcular la correlación, se estandarizan los objetos, p y q, y luego se efectúa el producto punto

)(/))(( pstdpmediapp kk −=′

)(/))(( qstdqmediaqq kk −=′

qpqpncorrelació ′•′=),(

Densidad

El agrupamiento basado en densidad, requiere entender el concepto de densidad:Ejemplos:

Densidad Euclidiana:Densidad Euclidiana = número de puntos por unidad

de volumen

Densidad de Probabilidad

Graficas basadas en densidad

Page 224: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

220

Densidad Euclidiana -Basada en Celdas

La aproximación más simple es dividir la región en un número de celdas rectangulares de igual volumen y donde su densidad se define como el número de puntos que contiene la celda.

Densidad basada en celdas Conteo de puntos para dada celda de la malla

Densidad Euclidiana – Basada en el Centro

La densidad Euclidiana es el número de puntos dentro de un radio específico al punto.

Densidad Basada en el Centro

Page 225: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

221

AgendaTipos de Agrupamientos

Agrupamiento de Partición (Partitional Clustering)Agrupamiento JerárquicoOtras distinciones entre los conjuntos de ClustersCaracterísticas importantes de la entradas de datos

Algoritmos de AgrupamientoK-means y sus variantesAgrupamiento jerárquicoAgrupamiento basado en densidad

Tipos de Agrupamientos

Un agrupamiento es un grupo de clusters

Agrupamiento JerárquicoEs un conjunto de clusters anidados, organizados como un árbol jerárquico

Agrupamiento de ParticiónUna división de objetos de datos en conjuntos no superpuestos (clusters), donde cada objeto de dato es exactamente un subconjunto.

Page 226: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

222

Agrupamiento de Partición (Partitional Clustering)

Puntos Originales Un agrupamiento de partición

Agrupamiento Jerárquico(Hierarchical Clustering)

p4p1

p3

p2

p4p1

p3

p2

p4p1 p2 p3

p4p1 p2 p3

Agrupamiento Tradicional Jerárquico

Agrupamiento Jerárquico No - Tradicional Dendrograma No tradicional

Dendrograma Tradicional

Page 227: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

223

Otras distinciones entre los conjuntos de Clusters

Exclusivo vs. no - exclusivoEn los agrupamientos no exclusivos, los puntos pueden pertenecer a múltiples clusters.Se puede representar múltiples clases o puntos frontera.

Difuso vs. no - difusoEn el agrupamiento difuso, un punto pertenece a todo cluster con algún peso entre 0 y 1.Los pesos deben sumar 1.El agrupamiento probabilístico tiene características similares.

Otras distinciones entre los conjuntos de Clusters

Parcial vs. completoEn algunos casos, solo se necesita agrupar algunos de los datos.

Heterogéneo vs. homogéneo Agrupamiento generalmente de diferentes tamaños, formas y densidades.

Page 228: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

224

Tipos de Clusters

Clusters bien separados Clusters basados en el centroClusters contiguos Clusters basados en densidadDe propiedad o ConceptualDescrito por una Función Objetivo

Tipos de Clusters: Bien Separados

Un cluster es un conjunto de puntos en el que cualquier punto en el cluster es más cercano a cualquier otro punto en el cluster que cualquier otro punto que no esté en el cluster

3 clusters bien separados

Page 229: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

225

Tipos de Clusters: Basados en el centro

Un cluster es un conjunto de objetos en el que un objeto está más cerca al centro del cluster, que al centro de otro cluster.

El centro de un cluster frecuentemente es llamado centroide, el promedio de todos los puntos en el cluster o el “medoid”, el punto más representativo del cluster.

4 clusters basados en el centro

Tipos de Clusters:Clusters contiguos

Un cluster es un conjunto de puntos donde un punto en el cluster está más próximo a otro punto o puntos en el cluster que a cualquier otro punto que no pertenezca al cluster.

8 clusters contiguos

Page 230: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

226

Tipos de Clusters:Basados en Densidad

Un cluster es una región densa de puntos, separados por regiones de baja densidad, de otras regiones de alta densidad.Se usan cuando los clusters son irregulares o entrelazados, y cuando se presenta ruido y datos atípicos

6 clusters basados en densidad

Tipos de Clusters: Clusters Conceptuales

De propiedad compartida o clusters conceptuales

Son clusters que tienen propiedad compartida o representan un concepto particular

.

2 Círculos entrelazados

Page 231: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

227

Tipos de Clusters: De Función Objetivo

Clusters Definidos por una Función ObjetivoSon clusters que minimizan o maximizan una función objetivoEnumeran todas las posibles formas de dividir los puntos dentro de un cluster y evalúan la “bondad” de cada conjunto potencial de clusters usando una función objetivo dada (NP Hard)

Características importantes de la entradas de datos

Tipo de proximidad o medida de la densidadEs una medida derivada, pero básica para el agrupamiento.

Poca densidadDicta el tipo de similitudAgrega eficiencia

Tipo de atributoDicta el tipo de similitud

Tipo de DatosDicta el tipo de similitudOtra característica: auto-correlación

DimensionalidadRuido y datos atípicos (Outliers)Tipo de Distribución

Page 232: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

228

Algoritmos de Agrupamiento

K-means y sus variantes

Agrupamiento jerárquico

Agrupamiento basado en densidad

Agrupamiento K-means

Aproximación al agrupamiento por particiónCada cluster está asociado con un centroide (punto central)Cada punto es asignado al cluster más cercano al centroideEl número de clusters “K” debe ser especificadoEl algoritmo básico es muy simple

1: Seleccionar K puntos como los centroides iniciales2: Repetir3: Desde K clusters asignar todos los puntos al centroide más cercano4: Recalcular el centroide de cada cluster5: Hasta El centroide no cambia

Page 233: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

229

Detalles del Agrupamiento K-means

Los centroides iniciales se escogen aleatoriamente.Los clusters generados varían de una ejecución a otra.

El centroide generalmente es igual al número de puntos en el cluster.

La proximidad es medida por la distancia Euclidiana, la similitud por coseno, correlación, etc.K-means convergerá a una medida de similitud común mencionada anteriormente.La mayoría de la convergencia ocurre en las primeras iteraciones:

Frecuentemente la condición para parar es cambiada por “Hasta que algunos puntos cambien de cluster”

La complejidad es: O( n * K * I * d )n = número de puntos, K = número de clustersI = número de iteraciones, d = número de atributos

Dos Agrupamientos diferentes con K-means

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Agrupamiento Sub- óptimo

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Agrupamiento Óptimo

Puntos Originales

Page 234: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

230

Importancia de la elección de los centroides iniciales

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 4

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 6

Importancia de la elección de los centroides iniciales

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 4

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 5

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 6

Page 235: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

231

Evaluando los Clusters K-means

La medida más común es la suma del Error Cuadrático (SSE)Cada punto, el error es la distancia del cluster más cercano.Para obtener el SSE, se elevan al cuadrado los errores y se suman.

x es un punto en el cluster Ci y mi es el punto representativo para el cluster Ci

Se puede mostrar que mi corresponde al centro (promedio) del clusterDados dos clusters, se puede elegir uso con el menor errorUna manera fácil de reducir el SSE es incrementar K, el número de clusters

Un buen agrupamiento con K pequeño, puede tener un SSE más bajo que un agrupamiento con un K grande

∑ ∑= ∈

=K

i Cxi

i

xmdistSSE1

2 ),(

Importancia de la elección de los centroides iniciales

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 4

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 5

Page 236: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

232

Importancia de la elección de los centroides iniciales

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 1

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 2

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 3

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

yIteration 4

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2

0

0.5

1

1.5

2

2.5

3

x

y

Iteration 5

Problemas con Selección Inicial de Puntos

Si hay K clusters reales, luego la posibilidad de seleccionar un centroide desde cualquier cluster es pequeña

La probabilidad es relativamente pequeña cuando K es grande.Si los clusters son del mismo tamaño, n, entonces

Por ejemplo, si K = 10, entonces la probabilidad es = 10!/1010 = 0.00036A veces los centroides iniciales se reajustarán solos en la forma adecuada, y a veces no.

KK

K

KK

KnnKP

centroidesKrseleccionaparaformasdenúmeroclustercadadesdecentroideunrseleccionaparaformasdenúmeroP

!)(

!==

=

Page 237: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

233

Ejemplo con 10 Clusters

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 1

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 2

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 3

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 4 Comenzando con dos centroides iniciales en un cluster para cada par de clusters

Ejemplo con 10 Clusters

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 1

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 2

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 3

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 4

Comenzando con dos centroides iniciales en un cluster para cada par de clusters

Page 238: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

234

Ejemplo con 10 Clusters

Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 1

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 2

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 3

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 4

Ejemplo con 10 Clusters

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 1

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 2

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 3

0 5 10 15 20

-6

-4

-2

0

2

4

6

8

x

y

Iteration 4

Comenzando con algunos pares de clusters teniendo tres centroides iniciales, mientras los otros tienen solo uno

Page 239: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

235

Soluciones al problema de los centroides iniciales

Múltiples ejecucionesAyuda, pero la probabilidad no está de su lado

Agrupamiento de prueba y agrupamiento jerárquico para determinar los centroides inicialesSeleccionar mas de un K inicial de centroides y luego seleccionar entre estos los centroides iniciales

Seleccionarlos ampliamente separados

PostprocesamientoBisectar K-means

No se recomienda para inicialización

Manejo de Clusters vacíos

El algoritmo básico K-means puede eliminar clusters vacíos.

Algunas estrategiasElegir el punto que contribuya más al SSEElegir el punto desde el cluster con el mayor SSESi hay varios clusters vacíos, el paso anterior puede repetirse varias veces.

Page 240: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

236

Pre-procesamiento y Post-procesamiento

Pre-procesamientoNormaliza los datosElimina los datos atípicos (outliers)

Post-procesamientoElimina los clusters pequeños que pueden representar los datos atípicosDivide los clusters “flojos”, es decir, los que tienen un SSE relativamente altoCombina los clusters que están “cerrados” y que tienen un SSE relativamente bajoSe pueden usar estos paso durante el proceso de agrupamiento

ISODATA

Bisectar K-means

Algoritmo Bisectar K-meansVariación del K-means que produce un agrupamiento de partición o jerárquico

1: Inicializar la lista de clusters para reducir el cluster que contiene todos los puntos 2: Repetir3: Seleccionar un cluster de la lista de clusters4: Para i = 1 hasta número_de_iteraciones Hacer5: Bisectar el cluster seleccionado usando el K-means6: Fin_para7: Adicionar los dos clusters de la bisección con el menor SSE a la lista de clusters8: Hasta La lista de clusters tiene K clusters

Page 241: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

237

Ejemplo de Bisectar K-means

Limitaciones del K-means

K-means tiene problemas cuando los clusters difieren en:

TamañoDensidadFormas no globulares

K-means tiene problemas cuando los datos tienen datos atípicos

Page 242: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

238

Limitaciones del K-means: Diferentes Tamaños

Puntos Originales K-means (3 Clusters)

Limitaciones del K-means: Densidad Diferente

Puntos Originales K-means (3 Clusters)

Page 243: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

239

Limitaciones del K-means: Formas no globulares

Puntos Originales K-means (2 Clusters)

Limitación del K-means superada

Una solución es usar muchos clusters.Encontrar partes de clusters, pero se necesita ponerlas todas

Puntos Originales K-means Clusters

Page 244: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

240

Limitación del K-means superada

Puntos Originales K-means Clusters

Limitación del K-means superada

Puntos Originales K-means Clusters

Page 245: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

241

Agrupamiento Jerárquico

Produce un conjunto de clusters anidados organizados como árboles jerárquicosPuede ser visualizado como un dendrograma

Un árbol como un diagrama que recuerda la secuencia de combinación o división

1 3 2 5 4 60

0.05

0.1

0.15

0.2

1

2

3

4

5

6

1

23 4

5

Fortalezas del Agrupamiento Jerárquico

No se asume un número particular de clusters

El número deseado de clusters se obtiene seleccionando el nivel adecuado del dendograma

Puede corresponder a taxonomías significativas

Ejemplo: en biología (reino animal, reconstrucción de filogenia)

Page 246: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

242

Agrupamiento JerárquicoLos dos tipos principales de agrupamiento jerárquico:

Aglomerado: Comienza con los puntos como clusters individualesEn cada paso, se combinan los pares de clusters más cercanos hasta que solo uno (o k clusters) queda

Divisivo: Comienza con uno, todos los clusters inclusivos En cada paso, se divide un clusters hasta que cada cluster contiene un punto (o hay k clusters)

Los algoritmos jerárquicos tradicionales usan una similitud o matriz de distancia

Combina o divide un cluster a la vez

Algoritmo de Agrupamiento Aglomerado

Es la técnica más popular de agrupamiento jerárquicoEl algoritmo básico es directo:

1. Calcula la matriz de proximidad2. Se deja que cada punto sea un cluster3. Repetir4. Combinar los dos clusters más cercanos

Actualizar la matriz de proximidad1. Hasta solo un cluster simple se obtiene

La operación clave es el cálculo de la proximidad de dos clusters

Los diversos acercamientos a definir la distancia entre los clusters distingue a los distintos algoritmos

Page 247: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

243

Situación Inicial

Comienza con los clusters individuales y la matriz de proximidad

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

. Matriz de Proximidad

Situación IntermediaLuego de algunos pasos de combinación, se obtienen algunos clusters

C1

C4

C2 C5

C3

C2C1

C1

C3

C5

C4

C2

C3 C4 C5

Matriz de Proximidad

Page 248: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

244

Situación IntermediaSe necesita combinar dos de los clusters más cercanos (C2 y C5 y actualizar la matriz de proximidad)

C2C1

C1

C3

C5

C4

C2

C3 C4 C5

C1

C4

C2 C5

C3

Matriz de Proximidad

Después de CombinarLa pregunta es “¿Cómo se puede actualizar la matriz de proximidad?”

C1

C4

C2 U C5

C3

? ? ? ?

?

?

?

C2 U C5C1

C1

C3

C4

C2 U C5

C3 C4

Matriz de Proximidad

Page 249: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

245

¿Cómo definir la similitud entre clusters?

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.

MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo

El método de Ward usa el error cuadrático

¿Similitud?

Matriz de Proximidad

¿Cómo definir la similitud entre clusters?

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

. Matriz de Proximidad

MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo

El método de Ward usa el error cuadrático

Page 250: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

246

¿Cómo definir la similitud entre clusters?

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

. Matriz de Proximidad

MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo

El método de Ward usa el error cuadrático

¿Cómo definir la similitud entre clusters?

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

. Matriz de Proximidad

MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo

El método de Ward usa el error cuadrático

Page 251: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

247

p1

p3

p5

p4

p2

p1 p2 p3 p4 p5 . . .

.

.

.

× ×

MINMAXPromedio del GrupoDistancia entre CentroidesOtros métodos se guían por una función objetivo

El método de Ward usa el error cuadrático

¿Cómo definir la similitud entre clusters?

Matriz de Proximidad

Similitud de Cluster: MIN o Enlace simple

La similitud de dos cluster se basa en los dos puntos más similares (cercanos) en dos clusters

Es determinado por un par de puntos, es decir, un enlace en la gráfica de proximidad

I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5

Page 252: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

248

Agrupamiento Jerárquico: MIN

Clusters Anidados Dendrogram

1

2

3

4

5

6

12

3

4

5

3 6 2 5 4 10

0.05

0.1

0.15

0.2

Fortaleza de MIN

Puntos Originales Dos Clusters

•Puede manejar formas no elípticas

Page 253: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

249

Limitaciones de MIN

Dos Clusters

• Sensitivo al ruido y a los datos atípicos (outliers)

Puntos Originales

Similitud de Cluster: MAX o Enlace completo

La similitud de dos clusters se basa en al menos los dos puntos similares (más distantes) en los dos clusters

Está determinado por todos los pares de puntos en los dos clusters

I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5

Page 254: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

250

Similitud de Cluster: MAX

Clusters Anidados Dendrograma

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

1

2

3

4

5

61

2 5

3

4

Fortaleza de MAX

Dos Clusters

•Menos susceptible al ruido y a los datos atípicos

Puntos Originales

Page 255: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

251

Limitaciones de MAX

Dos Clusters

•Tiende a romper los clusters grandes

•Predispuesto para clusters globulares

Puntos Originales

Similitud de Cluster: Promedio de Grupo

La proximidad de dos cluster es el promedio de la proximidad por parejas entre los puntos de dos clusters

Es necesario usar el promedio para la conectividad y escalabilidad debido a que el total favorece es a los grandes clusters.

||Cluster||Cluster

)p,pproximity(

)Cluster,Clusterproximity(ji

ClusterpClusterp

ji

jijjii

∗=

∑∈∈

I1 I2 I3 I4 I5I1 1.00 0.90 0.10 0.65 0.20I2 0.90 1.00 0.70 0.60 0.50I3 0.10 0.70 1.00 0.40 0.30I4 0.65 0.60 0.40 1.00 0.80I5 0.20 0.50 0.30 0.80 1.00 1 2 3 4 5

Page 256: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

252

Clusters Anidados Dendrograma

3 6 4 1 2 50

0.05

0.1

0.15

0.2

0.25

1

2

3

4

5

61

2

5

3

4

Similitud de Cluster: Promedio de Grupo

Similitud de Cluster: Promedio de Grupo

Compromete tanto el acoplamiento singular como el completo.

FortalezasMenos susceptible al ruido y a los datos atípicos

LimitacionesPredispuesto para clusters globulares

Page 257: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

253

Similitud de Cluster: Método de Ward

La similitud de dos clusters se basa en el incremento del error cuadrático cuando dos clusters se combinan

De igual manera que el promedio de grupo, si la distancia entre puntos es la distancia cuadrática

Menos susceptible al ruido y a los datos atípicos

Predispuesto para clusters globularesJerarquía análoga al K - means

Puede ser usada para inicializar K- means

Agrupamiento Jerárquico: Comparación

Promedio de Grupo

Método de Ward

1

23

4

5

61

2

5

3

4

MIN

1

23

4

5

61

2

5

34

MAX

1

23

4

5

61

2

5

3

41

23

4

5

61

2

3

4

5

Page 258: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

254

Agrupamiento Jerárquico: Requerimientos de Tiempo y Espacio

Espacio de orden O(N2) debido a que usa la matriz de proximidad.

N es el número de puntos.

El tiempo es de orden O(N3) en muchos casos

Hay N pasos y cada paso tiene un tamaño de N2, la matriz de proximidad debe ser hallada y actualizadaLa complejidad del tiempo puede reducirse a O(N2 log(N) en algunas aproximaciones

Agrupamiento Jerárquico: Problemas y Limitaciones

Una vez que se toma una decisión para combinar dos clusters, no puede ser deshacerseLa función objetivo no es directamente minimizadaLos esquemas diferentes tienen problemas con uno o más de los siguientes factores:

Sensibilidad al ruido y a los datos atípicosDificultad para manejar clusters de diferente tamaño y formas convexasRompimiento de clusters grandes

Page 259: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

255

MST: Agrupamiento Jerárquico Divisivo

Construir MST (Minimum Spanning Tree, Árbol de Mínima cobertura)

Comenzar con un árbol que consiste en cualquier puntoEn los pasos sucesivos, buscar el par de puntos más cercanos (p, q), el punto “p” está en el árbol actual pero el otro “q” no lo estaAdicionar q al árbol y colocar un enlace entre p y q.

MST: Agrupamiento Jerárquico Divisivo

Se usa el MST para construir jerarquías de clusters

Algoritmo para el MST Agrupamiento Jerárquico Divisivo

1: Calcular el árbol de mínima cobertura para la gráfica de proximidad2: Repetir3: Crear un nuevo cluster por rompimiento de enlace correspondiente a la distancia más grande (menor similitud)4:Hasta Solo queda un cluster con un único elemento

Page 260: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

256

DBSCAN

DBSCAN es un algoritmo basado en densidadDensidad = número de puntos dentro de un radio específico(Eps)

Un punto es un punto nuclear si este tiene mas de un número específico de puntos (MinPts) dentro del Eps

Estos son puntos que están en el interior del cluster

Un punto frontera tiene menos de MinPts dentro del Eps, pero en su vecindad es un punto nuclear

Un punto de ruido es cualquier punto que no es un punto nuclear o un punto frontera

DBSCAN: Puntos nucleares, frontera, ruido

Page 261: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

257

Algoritmo DBSCANEliminar los puntos de ruidoHacer agrupamiento en los puntos restantes

DBSCAN: Puntos nucleares, frontera, ruido

Puntos OriginalesTipo de puntos: nuclear, borde y ruido

Eps = 10, MinPts = 4

Page 262: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

258

¿Cuándo funciona mejor DBSCAN?

Clusters

• Resistencia al Ruido

•Puede manejar clusters de diferentes formas y tamaños

Puntos Originales

¿Cuándo no funciona bien DBSCAN?

(MinPts=4, Eps=9.75).

(MinPts=4, Eps=9.92)

• Densidades que varían

• Alta dimensionalidad de los datos

Puntos Originales

Page 263: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

259

DBSCAN: Determinando EPS y MinPts

La idea es que para los puntos en un cluster, sus k-ésimas vecindades más cercanas estén a la misma distancia.Los puntos de ruido tienen la k-ésima vecindad más cercana a una distancia más lejana. Se grafica la distancia ordenada de cada punto a su k-ésima vecindad más cercana

Data Mining: Cluster Analysis: Basic Concepts and AlgorithmsLecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar

Bibliografía

Page 264: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

260

Minería de DatosII - 2007

AGRUPAMIENTOEVALUACIÓN Y SOM

Page 265: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

261

AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)

AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)

Page 266: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

262

Validación de clustersDiferentes medidas para evaluar modelos supervisados:

accuracy, precision, recall Para análisis de clusters, la pregunta es: ¿Cómo evaluar la “bondad” de los clusters resultantes?Pero “los clusters están en el ojo del observador”!¿Por qué se quiere evaluarlos?

Para evitar encontrar patrones en el ruidoPara comparar los algoritmos de agrupamientoPara comparar dos conjuntos de clustersPara comparar dos clusters

Clusters encontrados en Datos Aleatorios

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Puntos Aleatorios

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

K-means

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

DBSCAN

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Enlace Completo

Page 267: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

263

1. Determinar la tendencia del agrupamiento de un grupo de datos, i.e., identificar si una estructura no aleatoria existe en los datos.

2. Comparar los resultados de un análisis de cluster con resultados externos conocidos, e.g, con etiqeutas de clases dadas externamente.

3. Evaluar que tan bien los resultados de un análisis de cluster se ajustan a los datos sin referirse a información externa.

4. Comparar los resultados de dos conjuntos diferentes de análisis de cluster para determinar cuál es mejor.

5. Determinar el número correcto de clusters

Para 2, 3 y 4 podemos además distinguir si se quiere evaluar el agrupamiento completo o solo unos clusters individuales

Aspectos principales para la Validación de Clusters

Las medidas numéricas que son aplicadas para juzgar varios aspectos de la validación de cluster, son clasificadas en los siguientes tres tipos:

Índice Externo: usado para medir el grado en que las etiquetas de cluster coinciden con etiquetas de clases externas.

Entropía Índice Interno: usado para medir la “bondad” de un estructura agrupada sin tener información de referencia externa

Sum of Squared Error (SSE)Índice Relativo: usado para comparar dos agrupamientos diferentes o clusters

Frecuentemente se usa un índice externo o interno para esta función, e.g., SSE o Entropía

Medidas de Validación de Cluster

Page 268: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

264

Dos matrices:Matriz de proximidadMatriz de “incidencia”

Una fila y una columna para cada datoUna entrada es 1 si el par de datos pertenecen al mismo clusterUna entrada es 0 si el par de datos pertenecen a diferentes clusters.

Calcular la correlación entre dos matricesSi dos matrices son simétricas, solo la correlación entre

n (n-1)/2 entradas necesita ser calculada.

Una alta correlación indica que los puntos que pertenecen al mismo cluster son cercanos entre sí.No es una medida buena para algunos clusters basados en densidad o en cercanía.

Medidas de Validación de Cluster a través de Correlación

Medidas de Validación de Cluster a través de Correlación

Correlación para las matrices de incidencia y de proximidad para agrupamientos con K – means para los siguientes conjuntos

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Corr = -0.9235 Corr = -0.5810

Page 269: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

265

Ordenar la matriz de similaridad respecto a las etiquetas de agrupamiento e inspeccionar visualmente.

Usando Matriz de Similitud para Validación de Cluster

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Points

Poin

ts

20 40 60 80 100

10

20

30

40

50

60

70

80

90

100Similarity

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Usando Matriz de Similitud para Validación de Cluster

Los agrupamientos en datos aleatorios no son tan bien definidos.

Points

Poin

ts

20 40 60 80 100

10

20

30

40

50

60

70

80

90

100Similarity

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

DBSCAN

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Page 270: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

266

Points

Poin

ts

20 40 60 80 100

10

20

30

40

50

60

70

80

90

100Similarity

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Usando Matriz de Similitud para Validación de Cluster

Los agrupamientos en datos aleatorios no son tan bien definidos.

K-means

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Usando Matriz de Similitud para Validación de Cluster

Los agrupamientos en datos aleatorios no son tan bien definidos

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Points

Poin

ts

20 40 60 80 100

10

20

30

40

50

60

70

80

90

100Similarity

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Complete Link

Page 271: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

267

Usando Matriz de Similitud para Validación de Cluster

1 2

3

5

6

4

7

DBSCAN

0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

500 1000 1500 2000 2500 3000

500

1000

1500

2000

2500

3000

Los clusters en figuras más complicadas no son bien separadosÍndice interno: se usa para medir la bondad de una estructura de agrupamiento sin tener información de referencia externa

SSE (suma de errores cuadráticos)SSE es una bueno para comparar dos agrupamientos o dos grupos (SSE promedio)Puede usarse para estimar el número de clusters

Medidas Internas: SSE

2 5 10 15 20 25 300

1

2

3

4

5

6

7

8

9

10

K

SSE

5 1 0 15

-6

-4

-2

0

2

4

6

Page 272: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

268

Medidas Internas: SSE

Curva SSE para conjuntos de datos más complicados

1 2

3

5

6

4

7

SSE de clusters encontrados usando K-means

Se necesita un marco para interpretar cualquier medidaPor ejemplo, si nuestras medidas de evaluación tienen el valor, 10, es bueno, justo o pobre?

La estadística provee un marco para validación de clustersEntre más “atípico” es el resultado del agrupamiento, es más probable que represente una estructura válida en los datosSe puede comparar los valores de un índice que resulte del agrupamiento de datos aleatorios contra los resultados de un agrupamiento dado.

Si el valor del índice es poco probable, los resultados del cluster son válidos

Estas aproximaciones son más complicadas y difíciles de entender.Para comparar los resultados de dos agrupamientos diferentes, un marco es menos necesario:

Sin embargo, hay una pregunta de si la diferencia entre dos valores del índice es significativo.

Marco para Validación de Cluster

Page 273: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

269

EjemploComparar SSE de 0.005 contra tres clusters en datos aleatoriosEl histograma muestra el SSE de tres cluster en 500 conjuntos de datos aleatorios de tamaño 100 distribuidos en un rango de 0.2 – 0.8 para valores de X y Y

Marco Estadístico para SSE

0.016 0.018 0.02 0.022 0.024 0.026 0.028 0.03 0.032 0.0340

5

10

15

20

25

30

35

40

45

50

SSE

Cou

nt

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

En las siguientes gráfica se muestra la correlación de las matrices de incidencia y proximidad para los agrupamientos de con K – Means, para dos conjuntos de datos.

Marco Estadístico para Correlación

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

x

y

Corr = -0.9235 Corr = -0.5810

Page 274: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

270

Cohesión del Cluster: Medidas de qué tan estrechamente relacionados están los objetos dentro de un cluster

Ejemplo: SSE

Separación del Cluster: Medida de que tan distinto o separado está un cluster de otros clusters

Ejemplo: Error cuadráticoLa cohesión es medida por la suma de los cuadrados dentro del cluster (SSE)

La separación es medida por la suma de los cuadrados entre clusters

Donde |Ci| es el tamaño del cluster i

Medidas Internas: Cohesión y Separación

∑∑∈

−i iCx

i )m(x=WSS 2

| |∑ −i

ii )m(mC=BSS 2

Medidas Internas: Cohesión y Separación

Ejemplo: SSEBSS + WSS = constante

1 2 3 4 5× ××m1 m2

m

1091934.521.532

14.554.541.521.5122

2222

=+=Total=)(+)(=BSS

=)(+)(+)(+)(=WSS−×−×

−−−−K=2 clusters:

100100334

10353432312

2222

=+=Total=)(=BSS

=)(+)(+)(+)(=WSS−×

−−−−K=1 cluster:

Page 275: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

271

Una gráfica de proximidad puede también ser usada para cohesión y separación.

Cohesión de cluster es la suma de los pesos de todos los enlaces dentro del cluster.La separación del cluster es la suma de los pesos entre los nodos en el cluster y los nodos fuera del cluster

Medidas Internas: Cohesión y Separación

cohesión separación

Combina ideas tanto de cohesión como de separación, pero para puntos individuales, así como para clusters y agrupamientos.

Medidas Internas: Coeficiente de Perfil

Page 276: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

272

Para un punto individual, iCalcular a = promedio de la distancia de i a los puntos en su cluster.Calcular b = min (promedio de la distancia de ia los puntos en otro cluster)El coeficiente de perfil para un punto es dado por:

s = 1 – a/b si a < b, (o, s = b/a - 1 si, a ≥ b,

no es el caso usual)

Típicamente entre 0 y 1El que es cercano a 1 es mejor

Medidas Internas: Coeficiente de Perfil

ab

Se puede calcular la amplitud del Perfil Promedio para un cluster o un agrupamiento.

Medidas Internas: Coeficiente de Perfil

Page 277: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

273

“La validación de estructuras de agrupamiento es la parte de mayor dificultad y frustración del análisis de cluster.

Sin un esfuerzo fuerte en esta dirección, el análisis de cluster seguirá siendo un arte negro accesible solamente a esos creyentes verdaderos que tengan experiencia y gran coraje ”

Algorithms for Clustering Data, Jain and Dubes

Comentario Final

AgendaValidación de agrupamiento (clustering)Self Organizing Maps (SOM)

Page 278: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

274

Entradas

Neuronas

También llamadas Mapas AutoorganizativosSelf Organizing Maps = SOM

Modelo de una red de Kohonen

Características de la Red de Kohonen

Los nodos de entrada están conectados a cada neurona.La neurona “ganadora” es la que cuyos pesos son más similares a la entrada.Las neuronas funcionan con un comportamiento “la ganadora toma todo”

La salida de la ganadora es un 1 y las demás 0Solo los pesos de la ganadora y sus vecinas son adaptadas

Page 279: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

275

TopologíaLas neuronas de la capa de salida están conectadas de acuerdo con la topología que se quiere inducir en el espacioGeneralmente se trabaja con topologías en 1-D o 2-DLa topología 1-D más usual es la lineal, cada neurona tiene 1 o dos vecinasLas topologías 2-D corresponden a retículos que pueden tener vecindades cuadradas o hexagonales

Ecuaciones de la Red: SimilitudLa similitud es cuantificada usando la distancia Euclidiana desde un vector patrón de entrada.

El vector de pesos w[i] representa todos los pesos a la neurona i; por lo tanto, w[i][j] es el peso de la unión de la entrada j con la neurona i.

La ganadora tiene el valor más pequeño de s

( )∑ −=−=j

ppp jentradajientradaiis 2][][][||][||][ ww

Page 280: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

276

Ecuaciones de la Red: Adaptación de Peso

Suponiendo que la neurona ganadora tiene como índice αPara una entrada j y una neurona i, el cambio de peso Δw[i][j] y el nuevo valor de peso w[i][j] son:

Δw[i][j] = η (entrada[j] – w[i][j] ) NbdWt(α, i)w[i][j] = w[i][j] + Δw[i][j]

Dondeη es la rata de aprendizaje y NbdWt(α, i) es la función de peso de la vecindad

Ecuaciones de la Red: Función de Peso de la Vecindad

La función de peso de la vecindad tiene la siguiente forma:

Donde s es un escalar que establece la amplitud de la función de peso.

2),(1

1),(⎟⎠⎞

⎜⎝⎛+

=

sid

iNbdWtα

α

2),(

),(⎟⎠⎞

⎜⎝⎛−

= sid

eiNbdWtα

α

Page 281: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

277

VecindadOn-center Off-surround

Es un campo que: Refuerza el estímulo “junto” al centro.Atenúa los efectos en una región alrededor del centro.Disminuye rápidamente el exterior la región atenuante

Contribuye al control de ruido y localiza la representaciónComplementario al “off- center on-surround”

VecindadOn-center Off-Surround

On-center Off-surround Neighborhood Weighting

-1

-0,5

0

0,5

1

1,5

1 8 15 22 29 36 43 50 57 64 71 78

g1g2dogOCOS

Page 282: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

278

Vecindad Sombrero mejicano

.0 donde )()(:por dadaser puede mejicano sombrero defunción UnaGaussiana.

diferencia una ),()()( Siendo .0 donde

)(y )(

Gaussianasfunciones dos doConsideran

21

12

21

2

2

2

1

>⋅+=

−=>>

==⎟⎟⎠

⎞⎜⎜⎝

⎛−⎟⎟

⎞⎜⎜⎝

⎛−

αα xh xgicano(x)SobreroMej

xgxgxhss

exgexg

i

sx

sx

Algoritmo Básico de Entrenamiento

Se inicializan los pesos desde los nodos de entrada a las neuronas.Se escoge la función de vecindadMientras (los patrones de entrada tengan pesos desajustados)

Encontrar una ganadoraAdaptar los pesos en la vecindad de la ganadora

Desarrollar una interpretación para la codificación identificando cuales neuronas codifican que patrones

Page 283: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

279

VisualizaciónLas rede se Kohonen son muy útiles como herramienta para visualizar datos multidimensionales

La capa de salida sirve como una representación en 1D-2D de los datos de entrada

Data Mining: Cluster Analysis: Basic Concepts and AlgorithmsLecture Notes for Chapter 8: “Introduction to Data Mining by Tan, Steinbach, Kumar

Gene Tagliarini, Artificial Intelligence Course, Notes in SOM, http://people.uncw.edu/tagliarinig/courses/415/Lectures/Kohonen%20Self-organizing%20Feature%20Maps.ppt

Bibliografía

Page 284: Este documento se desarrolló a partir de otras fuentes que ...dis.unal.edu.co/profesores/jgomez/courses/data_mining/Mineria.pdf · 2.3 CRISP-DM 3 Preparación de datos 56 3.1 Introducción

280

NOTAS

NOTAS