Cómo se usa Data Mining hoy? 1 Conocer a los clientes Detectar segmentos Calcular perfiles Cross-selling Detectar buenos clientes Evitar el churning, attrition Detección de morosidad Mejora de respuesta de mailings Campañas de adquisición de clientes
El ciclo de data mining Identificar un problema Medir los resultados Usar data mining para transformar los datos en información Actuar basándonos en la información 2
Importante Meta de Data Mining: encontrar patrones Hallar patrones no es suficiente Necesidad entender patrones, responder a ellos, actuar sobre ellos y convertir los datos en información, información en acción y acción en valor para la organización 3
Data Mining es un proceso 4 proceso centrado en acciones derivadas del descubrimiento de conocimiento no en el mecanismo de en si mismo. algoritmos son importantes, la solución es más que un conjunto de técnicas y herramientas. técnicas aplicadas en el caso correcto sobre datos correctos
El Proceso de KDD INTERPRETACIÓN Y EVALUACIÓN DATA MINING Conocimiento CODIFICACIÓN Modelos LIMPIEZA Datos Transformados SELECCIÓN Datos Procesados Datos Datos objetivo 5
Estándar de proyecto de Data Mining: Crisp-DM Compresión del problema Compresión de los datos. Implantación Preparación de los datos Evaluación Modelado 6
Tipos de datos Cuantitativos Discretos (número de empleados) Continuos (sueldo,...) Cualitativos Nominales (estado civil, género) Ordinales (alto, medio, bajo) 7
Preparación de los datos Construcción conjunto final de datos (datos entrada de los algoritmos de Data mining. Posibilidad tareas múltiples veces y sin orden determinado. Algunas tareas: selección de tablas, atributos, registros, transformación y limpieza de los datos. 8
Preparación de los datos (II) Entradas Conjunto de datos Descripción del conjunto de datos Fases y Salidas: Selección de datos Informe de los motivos de la selección Limpieza de datos Informe de la limpieza de los datos 9
Preparación de los datos (III) Construir el conjunto de datos Atributos derivados Registros generados Integrar los datos Datos integrados Formato de los datos Datos con nuevo formato 10
Preparación de los datos Asegurar calidad de los datos Los datos no fueron recogidos para tareas de Data Mining Datos pobres, inconsistentes Numerosas fuentes, diferentes sistemas Funciones Revisión de los datos Tratamiento de Valores nulos e información incompleta 11
Preparación: Revisión de los datos 12 Métodos estadísticos y de visualización 90 80 70 Variables categóricas: 60 50 Este 40 Oeste 30 Norte Distribución de variables 20 10 0 1er trim. 2do trim. 3er trim. Histogramas 1e r Pie charts 2d o Variables cualitativas 100 90 80 70 60 Este Media, varianza, moda 50 Oeste 40 Norte 30 20 10 0 Scaterplots, boxplots... 0 2 4 6
Preparación: Información incompleta Valores atípicos ( outliers ): tratamiento depende de su naturaleza Se pueden eliminar en el proceso de carga del data warehouse Valores nulos: (ninguna de las técnicas es perfecta) Eliminar las observaciones con nulos Eliminar las variables con muchos nulos Utilizar un modelo predictivo 13
Preparación Transformación Conseguir una la visión integrada, consistente y consolidada de los datos Refinar datos para que cumplan requisitos de entrada de algoritmos Conversión de variables Reducción /adición de variables Discretización / generalización 14
Clasificación
Clasificación vs. Predicción Clasificación Predicción de etiquetas categóricas Clasificar: construir un modelo a partir de un conjunto de datos de entrenamiento y valores de un atributo de clasificación. Utilizar modelo para clasificar nuevos datos 16
Clasificación vs. Predicción Predicción Modelos (funciones) para variables con valores continuos, i.e., predicción de valores desconocidos Aplicaciones típicas Concesión de créditos Campañas de marketing Diagnósticos médicos 17
Clasificación Similar a la experiencia de aprendizaje humana Utilización de la observación para formar un modelo Analizar un conjunto de datos para determinar sus características (creación de un modelo) 18
Clasificación Aprendizaje supervisado El modelo se forma a partir de datos clasificados correctamente de antemano Los modelos construidos en dos fases Entrenamiento Prueba 19
Clasificación Objetivo Obtener modelos que discrimine las instancias de entrada en clases de equivalencia por medio de los valores de diferentes atributos. Y X 20
Clasificación Requisitos Suministrar el atributo decisión o clase (label) El conjunto de valores de este atributo debe ser finito y no excesivamente grande Suministrar los atributos condición Podría requerir datos que no sean numéricos pero existen variedades que tratan con datos numéricos Número máximo de precondiciones Soporte mínimo de las reglas 21
Clasificación Entrada de los algoritmos Atributos condición: usados para describir las clases de equivalencia (por medio del proceso de inducción). Atributos decisión o label: usados para construir las clase de equivalencia en los métodos supervisados (una clase por cada valor o combinación de sus valores). 22
Clasificación Construcción del modelo Describir un conjunto de datos con base en una característica Cada tupla pertenece a una clase predefinida determinada por el atributo de decisión Se utiliza el conjunto de datos de entrenamiento El modelo se representa mediante reglas de clasificación, árboles de decisión o fórmulas matemáticas 23
Clasificación Utilización del modelo Clasificar objetos nuevos de los que se desconoce su clase Determinar precisión del modelo Utilizar modelo para clasificar conjunto de datos de prueba y comparar con etiqueta original Exactitud es el porcentaje de conjunto de datos de prueba que son clasificados correctamente por el modelo El conjunto de datos entrenamiento y el conjunto de datos de prueba disjuntos, para evitar el overfitting 24
Clasificación Representación del error Matriz de Confusión Representación en forma de tabla del número de instancias clasificadas correctamente Predicción A B 1034 56 107 1355 A B Datos reales 25
Clasificación Construcción del modelo Datos de entrenamiento Algoritmos de clasificación Nombre Tipo Años Fijo Alberto Asociado 3 no Maria Asociado 7 si Nacho Titular 2 si Alvaro Asociado 7 si David Asociado 6 no Sonia Asociado 3 no Clasificador (Modelo) IF tipo = Titular OR años > 6 THEN fijo = si 26
Clasificación Técnicas Técnicas simbólicas: árboles de inducción Muy eficientes en tiempo de proceso Resultados intuitivos Particiones lineales Algunos presentan problemas con variables continuas 27
Clasificación Técnicas Redes neuronales Sólo entrada numérica Mas robusto Difícil de entender la salida 28
Clasificación Técnicas 29 Análisis discriminante Permite clasificar nuevas observaciones o elementos en grupos definidos El resultado es una fórmula lineal Interpretación muy intuitiva Variables numéricas o dicotómicas Disponibilidad de una medida del error del modelo
Clasificación Árboles de decisión Árboles de decisión La representación en forma de árbol Los nodos representan la verificación de una condición sobre un atributo Las ramas representan el valor de la condición comprobada en el nodo del cual derivan Los nodos hoja representan las etiquetas de clase 30
Clasificación Árboles de decisión La construcción de los árboles de decisión consta de dos fases Construcción del árbol Al principio, todos las tuplas del conjunto de entrenamiento está en la raíz Se dividen recursivamente en base al atributo seleccionado Poda del árbol Identificar y eliminar las ramas que presentan ruido o outliers 31
Clasificación Árboles de decisión Utilización de los árboles de decisión: clasificar una muestra desconocida Comprobar los valores de los atributos de la nueva muestra con las condiciones del árbol y descubrir su etiqueta de clase 32
Ejemplo Datos de entrenamiento Edad Estudia Crédito Compra alta no aceptable no alta no excelente no alta no aceptable si media no aceptable si baja si aceptable si baja si excelente no baja si excelente si media no aceptable no baja si aceptable si media si aceptable si media si excelente si media no excelente si alta si aceptable si media no excelente no 33
Ejemplo Árbol de decisión Edad? <=30 overcast 30..40 >40 Estudia? si Crédito? no si aceptable excelente no si no si 34
Árbol de decisión: algoritmo 35 Algoritmo básico (voraz) El árbol se construye de forma top-down recursiva utilizando divide y vencerás Al principio, todas las tuplas se encuentran en la raíz Los atributos deben ser categóricos, si son valores continuos hay que discretizarlos previamente Las tuplas se van dividiendo recursivamente con base al atributo seleccionado Los atributos de condición se seleccionan con base en heurísticas o mediante medidas estadísticas, por ejemplo, ganancia de información
Árbol de decisión: algoritmo Condiciones de terminación n de división Todas las muestras en un nodo pertenecen a la misma clase No hay más atributos para futuras particiones. Se puede utilizar votación para clasificar el nodo hoja No quedan más ejemplos 36
Ganancia de información Seleccionar información Si hay dos clases, P y N (ID3/C4.5/C5.0) el atributo con mayor ganancia de Sea el conjunto de ejemplo S que contiene p elementos de la clase P y n elementos de las clase N La cantidad de información, que se necesita para decidir si una muestra cualquiera de S pertenece a P o a N se define como p p n n I( p, n) = log 2 log2 p + n p + n p + n p + n 37
Ganancia de información en árboles de decisión Si se utiliza un atributo A, un conjunto S se dividirá en conjuntos {S 1, S 2,, S v } Si S i contiene p i ejemplos de P y n i ejemplos de N, la entropía, o información necesaria para clasificar objetos en todos los subárboles S i es E( A) p + = ν i i= 1 p + n n i I( p i, n i ) 38
Ganancia de información en árboles de decisión La ganancia de información de la rama A es Gain( A) = I( p, n) E( A) 39
Selección de atributos mediante ganancia de información Clase P: compra = si Clase N: compra = no I(p, n) = I(9, 5) =0.940 Calcular la entropía para edad: edad p i n i I(p i, n i ) <=30 2 3 0,971 30 40 4 0 0 >40 3 2 0,971 E ( edad Así: 5 4 ) = I ( 2,3 ) + I 14 14 5 + I ( 3, 2 ) = 0.971 14 ( 4, 0 Gain( edad) = I( p, n) E( edad) Similitud Gain( ingresos) = Gain( estudia) = 0.029 0.151 Gain( ratio de crédito) = 0.048 ) 40
Extracción de reglas de árboles de decisión Si condición Entonces decisión Se crea una regla por cada camino de la raiz a las hojas Cada par atributo-valor a lo largo del camino representa una conjunción El nodo hoja representa la clase 41
Extracción de reglas de árboles de decisión Si condición Entonces decisión SI edad = <=30 Y estudiante = no ENTONCES compra_computador = no SI edad = <=30 Y estudiante = si ENTONCES compra_computador = SI 42
Evitar el overfitting 43 El árbol generado es posible que sea muy ajustado (exacto) para el conjunto de entrenamiento Demasiadas ramas puede significar que algunas son debidas a ruido o a outliers Poca exactitud en los ejemplos no vistos Dos enfoques para evitarlo Prepoda (Prepruning) Postpoda (Postpruning)
Evitar el overfitting (II) Evitar el crecimiento (Prepruning): no se divide un nodo si la medida de bondad está por debajo de un umbral Dificultad de elegir el umbral 44
Evitar el overfitting (II) Postpruning: Eliminar la ramas de un árbol una vez generado por completo. Utilizar un conjunto de datos diferente al de entrenamiento para decidir cuáles ramas podar. 45
Enfoques para determinar el tamaño final del árbol 46 Separar datos en conjuntos de entrenamiento (2/3) y prueba (1/3) Utilizar validación cruzada e.g. la validación 10-fold Utilizar todos los datos para entrenamiento Pero aplicar un test estadístico (e.g., chi-square) para estimar si expandir o podar un nodo
Enfoques para determinar el tamaño final del árbol Utilizar el principio de mínima longitud de las descripciones Parar el crecimiento cuando se minimice el código 47
Mejoras en los árboles 48 Permitir atributos con valores continuos Se definen dinámicamente los valores discretos que dividen los valores del atributo en un conjunto discreto de intervalos Tratamiento de valores nulos Se asigna el valor mas frecuente Se asigna una probabilidad a cada uno de los posibles valores Creación de nuevos atributos que reduzcan la repetición y la replicación
Clasificación bayesiana por qué? Aprendizaje probabilístico: Calcula hipótesis probabilísticas explícitas. Enfoque común para ciertos tipos de problemas Incremental: Cada ejemplo puede incrementar/decrementar la probabilidad de que una hipótesis sea correcta. La predicción probabilística predice múltiple hipótesis ponderadas 49
Teorema de Bayes Dado un conjunto de datos, la probabilidad a posteriori de una hipótesis h es: P ( h D) = P( D h) P( h) P( D) Dificultad: requiere conocimiento inicial de las probabilidades 50
Clasificador Naïve Bayes Classifier (I) Suposición simplificada: los atributos son condicionalmente independientes : n P( Cj V) P( Cj) P ( vi Cj) i= 1 Reduce costo computacional pues solo tiene en cuenta la distribución de la clase. 51
Clasificador Naive Bayes (II) Dado un conjunto de entrenamiento se puede calcular las probabilidades Tiempo P N Humedad P N soleado 2/9 3/5 alta 3/9 4/5 cubierto 4/9 0 normal 6/9 1/5 lluvia 3/9 2/5 Temperatura Viento calor 2/9 2/5 si 3/9 3/5 suave 4/9 2/5 no 6/9 2/5 fresco 3/9 1/5 52
Redes Neuronales 53 Ventajas La exactitud es generalmente alta Robusto, trabaja bien incluso cuando los datos contienen errores La salida puede ser discreta, valor real, un vector de valores reales Evaluación rápida de la función aprendida Crítica Largo tiempo de entrenamiento Dificultad de entender la función aprendida
Predicción de valores La predicción es similar a la clasificación Regresión lineal y múltiple Regresión no lineal Primero construye un modelo El modelo predice el valor desconocido 54
Predicción de valores La clasificación predice clases de valores categóricos Los modelos de predicción son funciones continuas 55
Algoritmos de Predicción de Valores Para un conjunto de atributos condición: c 1, c 2, c 3,..., c n Se pretende aproximar el atributo X como: X=w 1 c 1 + w 2 c 2 + w 3 c 3 +... + w n c n En otras palabras, calcular el vector de pesos (w 1, w 2, w 3,... w n ) 56
Algoritmos de Predicción de Valores (Regresión) X c1 57
Análisis de regresión 58 Regresión lineal: Y = α + β X Los parámetros α y β determinan la recta y se estiman utilizando los datos. Regresión múltiple: Y = b0 + b1 X1 + b2 X2. Modelos Log-linear: La tabla de probabilidades conjunta se aproxima por el producto de tablas de ordenes inferiores. Probabilidad: p(a, b, c, d) = αab βacχad δbcd
Estimación de los errores División: : Entrenamiento y prueba Conjuntos independientes (2/3), (1/3) Se utiliza cuando se tienen muchos datos Validación n cruzada (Cross-validation) Dividir el conjunto en K muestras Utilizar k-1 muestras como entrenamiento y la restante como prueba (k-fold crossvalidation) Datos con tamaño moderado Bootstrapping (dejar( uno fuera) Datos de tamaño pequeño 59
Boosting y Bagging El Boosting incrementa exactitud clasificación de la Aplicable a árboles de decisión o Clasificadores Bayesianos Se entrenan distintos clasificadores y cada uno aprende de su predecesor Bagging: entrenamiento donde se van eligiendo k elementos con reemplazamiento. Se puede utilizar en la predicción numérica 60
Resumen La clasificación es posiblemente una de las técnicas mas usada Dependiendo del tipo de datos y del tipo de la variable a estimar así se eligen las técnicas Conviene entrenar los datos con distintas técnicas 61