Preprocesamiento Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Preprocesado de Datos • ¿Por qué es necesario? • Limpieza • Integración y Transformación • Reducción • Discretización y Generalización Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Por qué es necesario? • Los datos reales están “sucios” Incompletos: Se han perdido valores de atributos, atributos de interés o los datos están resumidos Ruido: errores y “outliers” Inconsistentes: hay discrepancias en los nombres y/o en los valores Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Por qué es necesario? • calidad de los datos calidad en los resultados de Data Mining. • Las decisiones de calidad se basan en datos con calidad. Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Principales tareas de preprocesado Limpieza de los datos Completar valores nulos, identificar y/o eliminar los outliers, resolver inconsistencias, tratar valores con ruido Integración de datos Integración de distintas bases de datos, archivos, … Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Principales tareas de preprocesado Transformación de los datos Normalización y agregación Reducción de los datos Se obtiene representación reducida produce los mismos ( o similares) resultados después de su análisis Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Principales tareas de preprocesado Discretización de los datos Es un caso especial de la reducción con especial importancia cuando se tratan atributos numéricos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Limpieza de los datos Tareas de la limpieza Completar valores nulos Identificar outliers y suavizar el ruido Corregir los datos inconsistentes Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Valores nulos Los datos no siempre están disponibles Ej. muchas tuplas no tienen el valor del ingreso del cliente en la base de datos de ventas Es posible que se tenga que inferir un valor Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Valores nulos Los valores nulos se pueden deber a: Mal funcionamiento del equipo Inconsistencias con otros datos almacenados No se insertan por no enteder el significado No se consideraron importantes en el momento de la captura Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Como tratar los nulos? Ignorar la tupla— no es muy efectivo si el porcentaje de valores nulos por atributo varia considerablemente Completar valor manualmente: tedioso y de dudosa fiabilidad Usar una constante para completar el valor e.g., “desconocido” Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Como tratar los nulos? Utilizar la media para completar todos los valores Utilizar la media dentro de la clase: mas eficaz?? Utilizar el valor más probable: mediante un árbol de decisión, Bayes, … Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Datos con ruido Ruido: error aleatorio en una variable Los valores incorrectos se pueden deber Error en la captura Problemas en la transformación Limitación de la tecnología Inconsistencia en el nombrado de los valores Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Datos con ruido Otros problemas que requieren limpieza Registros duplicados Datos inconsistentes Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Como tratar el ruido? Método de los cubos (binning): Ordenar los datos y dividirlos en cubos de igul longitud Después se suaviza cada cubo por la media, la mediana, la varianza, los límites del cubo, etc. Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación ¿Como tratar el ruido? Clustering: detecta y elimina los outliers Combinar tratamiento automático con métodos manuales Regresión: suaviza el ruido mediante la función obtenida Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Método de los cubos (I) Particionamiento de igual ancho (distancia) Divide el rango en N intervalos de igual tamaño Si A y B son los valores mínimo y máximo del atributo, el ancho de los intervalos es W = (B-A)/N Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Método de los cubos (I) Es el método más directo Hace que los outliers dominen No es aconsejable con distribuciones muy heterogéneas Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Método de los cubos (II) Particionamiento de igual profundidad (frecuencia) : Divide el rango en N intervalos, cada uno conteniendo aproximadamente el mismo número de ejemplos El tratamiento de los datos categóricos es complejo con este método Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Ejemplo del método de los intervalos Datos ordenados de precio: 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 Intervalos de igual número de elementos: Bin 1: 4, 8, 9, 15 Bin 2: 21, 21, 24, 25 Bin 3: 26, 28, 29, 34 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Ejemplo del método de los intervalos Partición por la media: Bin 1: 9, 9, 9, 9 Bin 2: 23, 23, 23, 23 Bin 3: 29, 29, 29, 29 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Ejemplo de discretización (II) Datos: 4, 8, 9, 15, 21, 21, 24, 25, 26, 28, 29, 34 Intervalos basados en los límites Bin 1: 4, 4, 4, 15 Bin 2: 21, 21, 25, 25 Bin 3: 26, 26, 26, 34 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Análisis mediante cluster Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Regresión y Y1 y=x+1 Y1’ X1 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación x Integración de Datos Integración de datos: Combina datos de fuentes diversas Integración de esquemas Integra metadatos de distintas fuentes Problema de identificación de entidades: A. códigocli B. cliente# Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Integración de Datos Detección y resolución de los conflictos Para la misma entidad los valores de diferentes fuentes son diferentes Razones: distintas representaciones, métricas, escalas, …. Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Datos redundantes La redundancia se da cuando se integran múltiples bases de datos El mismo atributo tiene distintos nombres Un atributo es un atributo derivado en otra tabla e.g., beneficio anual Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Datos redundantes Se pueden detectar por medio de análisis de correlación La integración cuidadosa puede ayudar a prevenir/reducir las redundancias e inconsistencias mejorando los resultados. Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Transformación Eliminar el ruido Agregados: construcción de cubos de datos Generalización Construcción de nuevos atributos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Transformación Normalización: escalar los valores para que caigan en un rango específico min-max z-score Normalización basada en escalamiento decimal Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Transformación de datos: Normalización min-max v − minA (new _ maxA − new _ minA) + new _ minA v'= maxA − minA v − mean z-score v' = A stand _ devA Normalización decimal v v'= j 10 Where j is the smallest integer such that Max(| v ' |)<1 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Reducción de datos Reducción de datos Obtiene una representación reducida del conjunto de datos que es mucho más pequeña en volumen pero produce los mismos (o casi los mismo ) resultados Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Reducción de datos Estrategias de reducción de datos Agregados Reducción de dimensiones Discretización y generación jerarquias de conceptos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación de Reducción de atributos Selección de caracteríticas: Métodos heurísticos Selección hacia delante Selección hacia atrás Combinación de estrategias Árboles de decisión Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Compresión de datos Compresión de cadenas Existen numerosos algoritmos Generalmente sin pérdidas Compresión de Audio/video Generalmente se pierde información Se puede reconstruir parte de la señal Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Compresión de datos Datos originales Original Data Approximated Datos Comprimidos Sin pérdida é p n o C r a d i d Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Análisis de las componentes principales Dados N vectores de k-dimensiones, encontrar c ≤ K vectores ortogonales que se pueden utilizar para representar los datos El conjunto original de datos se reduce a uno de N vectores sobre c componentes principales Cada vector es una combinación lineal de los c vectores de componentes principales (dimensiones resucidas) Solo se puede usar con datos numéricos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Análisis de componentes principales X2 Y1 Y2 X1 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Histogramas Técnica popular de reducción Divide los datos en cubos y almacena la media (suma) de cada cubo 40 35 30 25 20 15 10 5 0 10000 30000 50000 Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación 70000 90000 Muestreo Elegir un subconjunto representativo de los datos El muestreo aleatorio puede ser peligroso dependiendo de la distribución de los datos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Muestreo Desarrollar un métodos de muestreo adaptativos Muestreo estratificado Que exista el mismo (o aproximado) porcentaje de cada cada clase (o subpoblación de interés) que en la base de datos total Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Muestreo o e r t s mue to n e i sin plazam r ee m Datos Con reemp lazam iento Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Muestreo Datos originales Muestra estratificada Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización Tres tipos de atributos Nominal — valores en un conjunto no ordenado Ordinal — valores en un conjunto ordenado Continuo — números reales Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización Discretización Divide el rango en de un atributo en intervalos Algunos algoritmos de clasificación sólo aceptan atributos categóricos Se reduce el tamaño del conjunto de datos Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización y jerarquias de conceptos Discretización Reduce el número de valores de un atributo continuo dividiendo el rango del atributo en intervalos. Las etiquetas de los intervalos se pueden usar para reemplazar los valores reales Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización y jerarquias de conceptos Jerarquías de Conceptos Reduce los datos mediante la sustitución de los valores particulares por conceptos mas generales. Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización para datos numéricos Intervalos (“cubos”) Análisis de histogramas Análisis de cluster Discretización basada en la entropía Segmentación por particionamiento natural Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Discretización basada en la entropia Dado un conjunto de ejemplos S, si S se divide en dos intervalos S1 y S2 de manera que se minimize la entropía E (S ,T ) = | S 1| |S| Ent ( S 1) + |S 2| |S| Ent ( S 2) El proceso se aplica de manera recursiva hasta que se encuentre un criterio de finalización Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Jerarquías para datos categóricos Se pueden generar automáticamente basándose en el número de valores distintos de cada atributo. El atributo con más valores se sitúa como hoja del árbol pais 15 valores ciudad 3500 valores calle 674.339 valores Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación Resumen La preparación de los datos en importantísima en cualquier proceso de análisis de datos Incluye Limpieza e integración Reducción Discretización Facultad de Ingeniería Escuela de Ingeniería de Sistemas y Computación