Minería de Datos y el proceso de KDD
Fayyad (1996)
Vamos a trabajar en la preparación de los
datos para obtener la “vista minable”
Fase de Preparación de los Datos
La información almacenada siempre tiene
Datos faltantes
Valores extremos
Inconsistencias
Ruido
Tareas a realizar
Limpieza (ej: resolver outliers e inconsistencias)
Transformación (ej:discretización)
Limpieza de los datos
En primer lugar, debe tenerse en cuenta que hay distintos
tipos de variables o atributos.
Para cada tipo se deberá realizar un análisis de sus valores.
Luego, se procederá a limpiarlos
Eliminando los valores con ruido
Determinando qué hacer con los valores faltantes.
Eliminando inconsistencias
Limpieza - Variables con ruido
Las variables con ruido tendrán valores que caen fuera del
rango de sus valores esperados llamados outliers.
Por qué se originan?
Error humano en la carga de datos (ej: una persona puede
aparecer con una altura de 5 metros).
Determinados cambios operacionales no han sido registrados en
el proceso.
Es preciso analizar los metadatos
Limpieza - Valores faltantes
Qué hacer con los valores nulos?
Ignorar la tupla.
Rellenar la tupla manualmente.
Usar una constante global para rellenar el valor nulo.
Utilizar el valor de la media u otra medida de centralidad
para rellenar el valor.
Utilizar el valor de la media u otra medida de centralidad de
los objetos que pertenecen la misma clase.
Utilizar alguna herramienta de Minería de Datos para calcular
el valor más probable.
Hay datos faltantes
¿cómo los completamos?
Reemplazando los valores faltantes
Replace Missing Values
Todos los atributos se completarán con
el promedio o la moda
Se pueden indicar
reemplazos específicos
EJECUTE y verifique cómo se
completaron los atributos
nominations y release
Atributo GENRE1
Observe que hay muchos valores
de la variable GENRE1 con muy
pocos ejemplos
Atributo GENRE1
Vamos a reunir estas
opciones como “OTROS”
Usaremos el operador MAP
Atributo GENRE1
Atributo GENRE1
Atributo GENRE1
Atributo GENRE1
En lugar de mapear cada valor a
Atributo GENRE1 OTRO se puede utilizar una
expresión regular
Adventure|Action|Romance|Mystery|Thriller
Atributo GENRE1
Transformación de atributos
Es una de las etapas más importantes porque de ella
depende el éxito del proceso.
Los atributos serán transformados según las necesidades del
algoritmo a aplicar.
Es probable que deban derivarse variables nuevas.
También es posible que se reduzcan variables convirtiéndolas
en información más significativa.
Transformación de atributos
Según el algoritmo a aplicar, las transformaciones más habituales
son:
Reducción de dimensionalidad
Aumento de dimensionalidad
Discretización de atributos numéricos
Numerización de atributos nominales
Normalización de atributos
Transformación de atributos
Reducción de dimensionalidad
Cambia el espacio de entrada por otro que tiene menor dimensión.
Se busca mejorar la relación entre la cantidad de ejemplos y la cantidad
de atributos.
Ejemplos
Análisis
de componentes principales (PCA)
Red SOM (self-organizing maps)
Transformación de atributos
Aumento de la dimensionalidad a través de la creación de
características
Atributosnuméricos : se utiliza suma, resta, producto, división, máximo,
mínimo, media, cuadrado, raíz cuadrada, seno, coseno, etc.
Fechas: brindan poca información si se las usa directamente.
«Mes» : 9
«Fecha»
«DiaSem» : lunes
03/09/2012
«DiaHabil» : TRUE
Transformación de atributos
Aumento de la dimensionalidad a través de la creación de
características
Atributos nominales:
Seutilizan las operaciones lógicas, igualdad o desigualdad, condiciones
M-de-N (TRUE si al menos M de las N condiciones son verdaderas).
Se puede generar un valor numérico a partir de valores nominales, por
ejemplo, las variables X-de-N (retorna el entero X de las N condiciones
que son ciertas)
Ejemplo de creación de atributos
Atributo derivado Fórmula
Indice de obesidad Altura2 / peso
Hombre familiar Casado, varón e (hijos > 0)
Síntomas SARS 3-de-5 (fiebre alta, vómitos, tos, diarrea, dolor de cabeza)
Riesgo de póliza X-de-N (edad<25, varón, años que conduce<2, vehículo deportivo)
Beneficios Brutos Ingresos – Gastos
Beneficios netos Ingresos – Gastos – Impuestos
Desplazamiento Pasajeros * kilómetro
Duración media Segundos de llamada / número de llamadas
Densidad Población / Area
Retardo compra Fecha compra – Fecha campaña
Ejercicio
Genere un nuevo atributo
largaDuracion cuyo valor será
“SI” si la película tiene una
duración superior a 2 horas y
“NO” en caso contrario.
Grafique este nuevo atributo
utilizando un diagrama de
barras.
Generando un nuevo atributo
Generemos un nuevo atributo
utilizando el componente
Generate Attributes
Generando un nuevo atributo
Operador Generate Attributes
Antes de ejecutarlo
haga click aquí para
configurarlo
Generación de un nuevo atributo
Nombre del definición
nuevo atributo
Generación de un nuevo atributo
if(duration>120,"SI","NO")
Diagrama de barras del atributo generado
Transformación de atributos
DISCRETIZACION
Algunos algoritmos de minería de datos sólo operan con atributos
cualitativos. La discretización convierte los atributos numéricos en ordinales.
NUMERIZACION
Esel proceso contrario a la discretización. Convierte atributos cualitativos en
numéricos.
NORMALIZACION
Permiteexpresar los valores de los atributos sin utilizar las unidades de
medida originales facilitando su comparación y uso conjunto.
Discretización
Convierte un valor numérico en un nominal ordenado (que
representa un intervalo o "bin")
Ejemplo: Podemos transformar
la edad de la persona en categorías: [0,12] niño, (12-21)
joven, [21,65] adulto y >65 anciano.
Lacalificación de un alumno en: [4,10] aprobado o [0,4)
desaprobado
Discretización
Puede discretizarse en un número fijo de intervalos. El ancho del
intervalo se calcula
Dividiendo el rango en partes iguales
Dividiendo la cantidad de ejemplos en partes iguales (igual
frecuencia)
Indicando los límites de cada intervalo en forma manual.
Averigüe por otras variantes de discretización
Discretización por rango
El objetivo es dividir el rango del atributo (intervalo entre el máximo y
el mínimo) en una cierta cantidad k de partes iguales.
Los valores comprendidos en una misma parte serán asociados al
mismo valor ordinal.
Ejemplo: k=4
Máximo
Mínimo (Máximo – Mínimo) / k
Discretización por rango
Ejemplo: Discretizar el atributo DURATION en 4 intervalos de igual
longitud
DURATION toma valores entre 69 y 238 mintos. Si dividimos el rango en 4 partes
iguales, cada una tendría una longitud de (238-69)/4 = 42.25
69+42.25 = 111.25 238
69 153.5 195.75
Discretización por rango
Ejemplo: Discretizar el atributo DURATION en 4 intervalos de igual
longitud
69 111.25 153.5 195.75 238
Valor Intervalo Frecuencia
range1 [-∞ - 111.25] 75
range3 (111.25 – 153.5] 86
range2 (153.5 – 195.75] 15
range4 (195.75 - ∞] 2
Discretización por rango
DURATION discretizado en 4 intervalos de igual longitud
Discretización por frecuencia
El objetivo es dividir los valores del atributo numérico en k partes con
la misma cantidad de valores en cada una de ellas.
Nótese que el atributo debe tener al menos k valores diferentes.
Ejemplo: Discretizar DURATION en 4 intervalos de igual frecuencia
Valor Intervalo Frecuencia
range1 [-∞ - 104.5] 45
range3 (115.5 - 130] 45
range2 (104.5 - 115.5] 44
range4 (130 - ∞] 44
Discretización por frecuencia
DURATION discretizado en 4 intervalos de igual frecuencia
Discretización especificada por el usuario
Se indican los umbrales a utilizar en forma manual
[Link]
Vamos a discretizar el atributo DURACION
utilizando el operador
Discretize by User Specification
Discretización especificada por el usuario
Operador Discretize by User Specification
Se selecciona el atributo
DURATION
Discretización especificada por el usuario
Operador Discretize by User Specification
Aquí se indican los intervalos
Discretización especificada por el usuario
Operador Discretize by User Specification
Aquí se indican los intervalos
Discretización especificada por el usuario
Si DURATION <= 100, BREVE
Si (DURATION> 100) y
(DURATION<=136), NORMAL
Si (DURATION>136), LARGA
Numerización
En ocasiones los atributos nominales u ordinales deben convertirse en
números.
Para los nominales suele utilizarse una representación binaria y para
los ordinales suele utilizarse una representación entera.
Es importante considerar que si se numeran en forma correlativa los
valores de un atributo nominal se agrega un orden que
originalmente no está presente en la información disponible.
Numerización Binaria (dummy)
La numerización binaria reemplaza al atributo nominal por tantos
atributos numéricos binarios como valores distintos pueda tomar.
Las denominaciones de estos nuevos atributos surgen de igualar el
nombre original con cada uno de los posibles valores.
Para un mismo ejemplo sólo uno de estos nuevos atributos tendrá valor
1 y el resto 0.
Nominal to Numerical
Numerización Binaria de SEX
Normalización
Se aplica según el modelo que se va a construir.
La más común es la normalización lineal uniforme
Es muy sensible a valores fuera de rango (outliers).
Si se recortan los extremos se obtiene valor negativos y/o mayores a 1.
Normalización
Existen otras transformaciones. Por ejemplo, si los datos tienen
distribución normal se pueden tipificar
De esta forma los datos se distribuyen normalmente alrededor de 0
con desviación 1.
Normalización – Operador Normalize
Resumen
PREPARACION DE LOS DATOS
Completar datos faltantes
Operador MAP
Generación de características o atributos nuevos
Transformaciones
Discretización
por rango, por frecuencia e indicada por el usuario
Numerización: codificación entera y codificación binaria
Normalización: Lineal y Estandarización