Técnicas de
Aprendizaje Automático
José María Escalante Fernández
Tema 3. Datos ausentes y
normalización
Universidad Internacional de La Rioja
Etapas en un proyecto de Machine Learning
Obtención Entrenamiento y Optimización
de los datos validación del modelo del modelo
Definido un
problema
Testeo
Preparación y del modelo
Comprensión de los datos
2
Obtención Entrenamiento y Optimización
de los datos validación del modelo del modelo
Testeo
Preparación y del modelo
Comprensión de
los datos
Temas 2 y 3
3
Atributos
redundantes
¿Cómo gestionarlos?
4
Atributos redundantes
Aplicando la lógica
Nombre es_hombre es_mujer Nombre sexo
Angie 0 1 Angie 1
Juan 1 0 Juan 0
Diego 1 0 Diego 0
Pedro 1 0 Pedro 0
Ana 0 1 Ana 1
Jose 1 0 Jose 0
Carolina 0 1 Carolina 1
Variables Simplifico los datos, por lo
excluyentes
que simplifico mi modelo sin
eliminar información
5
Atributos redundantes
En la mayoría de los casos, los
datos contienen más información
de la necesaria.
La selección de atributos es una de las
principales etapas para la creación de
modelos de aprendizaje automático
CALIDAD EFICIENCIA
DEL MODELO COMPUTACIONAL
TIEMPOS DE CAPACIDAD DE
COMPUTO ALMACENAMIENTO
6
Dos tipos de relaciones
X1, X2, X3, …, Xn; Y
Atributos o
Variable objetivo
Características
En un dataset, hay dos tipos de relaciones entre las variables que hay en el:
entre las variables características y la variable objetivo
entre las variables características en si
7
Atributos redundantes
Para medir la relación entre las variables características y la variable objetivo, aplicábamos
esta serie de criterios matemáticos:
Aplicando Criterios Matemáticos
Covarianza y ANOVA Chi cuadrado (2)
Correlación
Continua - Continua Continua - Discreta Discreta - Discreta
8
Atributos redundantes
Para medir la relación entre las variables características, aplicábamos esta serie de criterios
matemáticos:
Aplicando Criterios Matemáticos
Covarianza y
Correlación Chi cuadrado (2)
Continua - Continua Discreta - Discreta
¿Por qué no aplicamos ANOVA?
¿Por qué no vemos la relación entre características DISCRETAS y CONTINUAS?
9
Atributos redundantes
Aplicando Criterios Matemáticos: Covarianza y Correlación
La covarianza y la correlación son medidas estadísticas que me permite el grado de
variación conjunto entre dos variables.
Y = f(X1, X2, X3)
Y Y Y
Y = f(X2, X3)
X1 X2 X3
10
Atributos redundantes
Aplicando Criterios Matemáticos: Covarianza y Correlación
La covarianza y la correlación son medidas estadísticas que me permite el grado de
variación conjunto entre dos variables.
Y = f(X2, X3)
X3 Simplifico mi modelo
Y = f(X2)
sin eliminar información
X2
11
Atributos redundantes
Aplicando Criterios Matemáticos: Covarianza y Correlación
La covarianza y la correlación son medidas estadísticas que me permite el grado de
variación conjunto entre dos variables.
12
Atributos redundantes
Aplicando Criterios Matemáticos: Prueba de hipótesis Chi cuadrado (2)
• Es una técnica estadística utilizada para evaluar
si existe una relación significativa entre variables
cualitativas. (Frecuencias observadas)
• 2 comprueba la hipótesis de si X1 y X2 son
independientes. Si puedo rechazar esa hipótesis,
entonces X1 y X2 están correlacionadas, no son
estadísticamente independientes.
• En función del valore de 2 podría prescindir de
una de esas variables.
13
Atributos redundantes
Aplicando Criterios Matemáticos: Prueba de hipótesis Chi cuadrado (2)
Ejemplo estudio que analiza si existe una relación entre el tipo de tienda (categoría 1) y el
tipo de producto preferido (categoría 2) por los clientes.
IMPORTANTE!!!
La hipótesis nula H0 implica que ambas variables categóricas son independientes.
Dos casos de tablas de contingencia (frecuencias observadas en variables categóricas nominales)
Ver ejemplo:Chi_2_ejemplo_NO_RECHAZO.py Ver ejemplo: Chi_2_ejemplo_RECHAZO.py
14
Datos
duplicados
¿Cómo gestionarlos?
15
DETECCION DE REGISTROS DUPLICADOS
Datos duplicados son aquellos que tienen valores que coinciden en todas las variables.
También Datos duplicados son aquellos que, a pesar de tener contenidos diferentes, deberían ser
los mismo.
La existencia de estos datos de debe a la manipulación incorrecta de datos.
Ver ejemplo: Datos_duplicados.py
16
Datos
ausentes o faltantes
¿Cómo gestionarlos?
17
Supongamos el siguiente
problema
Faltan datos,
¿qué se puede hacer?
18
MECANICMSO PARA REEMPLAZAR DATOS
AUSENTES (GESTIÓN DATOS FALTANTES)
DATOS AUSENTE o FALTANTE: son atributos
que no se introdujeron o se perdieron en el
proceso de registro.
Este tipo de datos puede implicar ciertos
problemas, como:
• Dificultar el análisis
• Introducción de Sesgos
• Conclusiones erróneas
• Limitación en la generalización de resultados
19
MECANICMSO PARA REEMPLAZAR DATOS
AUSENTES (GESTIÓN DATOS FALTANTES)
DETECCION DE DATOS AUSENTE o FALTANTE
• Resumen del conjunto de datos [Link]()
• Detectar atributos cuyo valor mínimo es 0, lo cual carece de sentido
• Valores ausentes (en Python viene indicados por “NaN”, “None”, “-”) [Link]() o [Link]()
• Calcular el número total de valores ausentes [Link]().sum() o [Link]().sum()
20
MECANICMSO PARA REEMPLAZAR DATOS
AUSENTES (GESTIÓN DATOS FALTANTES)
¿Qué hacer con los datos ausentes o faltantes?
ELIMINACIÓN REEMPLAZO
21
MECANICMSO PARA REEMPLAZAR DATOS
AUSENTES (GESTIÓN DATOS FALTANTES)
ELIMIANCIÓN - Mecanismo de imputación por
eliminación
• Eliminación de las filas con datos ausentes.
Práctico cuando el numero de datos ausentes
es relativamente pequeño.
• Eliminación de la columna con datos ausentes.
Practico cuando la columna (variable no tiene
un gran peso en el futuro modelo).
22
MECANICMSO PARA REEMPLAZAR DATOS
AUSENTES (GESTIÓN DATOS FALTANTES)
REEMPLAZO – Imputación de datos ausentes con estimados
• Técnicas de interpolación.
• Sustitución de valores faltantes por la media, la mediana o la moda. ¿Cómo lo harías?
• Usar modelos como k-nearest neighbour (KNN)
• Usar modelos de clsutering
• Imputación basada en SVM El usuario puede seleccionar el método más
adecuado a cada situación que afronta
• Algoritmo esperanza maximización (EM)
• Método de imputación múltiple (IM)
23
ESCALADO
DE DATOS
¿Qué es y para qué sirve?
24
ESCALADO
DE CARACTERÍSTICAS o ATRIBUTOS
En la mayoría de los casos, los conjuntos de datos contienen
atributos que varían altamente en magnitudes, unidades y rangos.
Esto provoca que las diferentes variables contribuyan
de manera no equitativa en el modelo matemático.
Es necesario aplicar técnicas de escalado de características, las técnicas
mas comunes son las de NORMALIZACIÓN y ESTANDARIZACION
25
ESCALADO
DE CARACTERÍSTICAS o
ATRIBUTOS
PROBLEMAS!!!
26
ESCALADO: NORMALIZACIÓN y ESTANDARIZACIÓN
Normalización (MÍN-MÁX)
• Conocida como escalamiento de características, reajusta los valores de una variable a un rango
específico, generalmente entre 0 y 1 (también entre -1 y 1).
• Útil cuando la distribución de los datos no se conoce.
• Asegura que todas las variables estén dentro del mismo rango, evitando que una variable individual
domine el análisis debido a su magnitud más grande.
• La normalización preserva la forma de distribución original, pero cambia la escala.
En Python → función MinMaxScaler
27
ESCALADO: NORMALIZACIÓN y ESTANDARIZACIÓN
Estandarización (Z-score)
• Conocida como normalización z-score, transforma los valores de una variable para que tengan
una media de μ = 0 y una desviación estándar de σ = 1.
• Asume que los datos siguen una distribución gaussiana.
• Facilita su interpretación y comparación de los datos que tienen diferentes unidades o escalas.
En Python → función StandardScaler
28
NORMALIZACIÓN y ESTANDARIZACIÓN
Ver ejemplo: Norm_Standar.py y Norm_Standar_Wine_dataset.py
29
De NOMINAL a BINARIO
¿Qué es y para qué sirve?
30
Variables y sus tipos
Definición
Una variable es una característica o atributo de un objeto que puede ser observables, es
susceptible de variación y por lol tanto medible.
31
De NOMINAL a BINARIO
Muchos algoritmos de aprendizaje automático que vamos a ver no pueden lidiar correctamente con
los atributos nominales (no numéricos).
• La presencia de estas características en un conjunto de datos puede resultar problemática.
• Necesidad de transformar variable nominal a variable numérica. Una opción pude ser codificando
cada valor nominal mediante un número entero.
• Esta opción no es recomendable para variables NOMINALES debido a que se asume un
orden de jerarquía que no existe en los valores del atributo. No obstante, si es valida para
variables ORDINALES.
Color_cat Color_num
Rojo 1
Azul 2
Verde 3
32
De NOMINAL a BINARIO
One-Hot-Encoding
Es una técnica de transformación de datos categóricos en la que se convierten las categorías en un
formato numérico binario. Es ampliamente utilizada en el preprocesamiento de datos para que las
variables categóricas puedan ser utilizadas en algoritmos de aprendizaje automático, que
generalmente no pueden manejar datos categóricos directamente.
Color_cat Color_num
Rojo [1, 0, 0]
Azul [0, 1, 0]
Verde [0, 0, 1]
Ver ejemplo: One_Hot_Encoding.py
33
[Link]