En datos reales, casi nunca todo viene completo.
A veces faltan valores en variables:
Un valor faltante no es lo mismo que un cero.
Tampoco es lo mismo que una categoría vacía.
Muchos modelos no aceptan valores faltantes directamente.
Así que antes de modelar, hay que decidir qué hacer con ellos.
Detectarlos.
Hay distintas estrategias.
Depende del tipo de variable.
Dos estrategias muy comunes:
Media o mediana
Media o mediana cuando el valor faltante puede aproximarse con el centro de la variable.
Constante como -999
Constante como -999 cuando queremos marcar explícitamente que faltaba información.
Eso no significa que -999 sea un valor real.
Significa:
“aquí faltaba el dato”
También hay dos estrategias típicas:
Categoría más frecuente
Categoría más frecuente si creemos que el faltante se parece al comportamiento general.
Nueva categoría como MISS
Nueva categoría como MISS si queremos conservar la información de que el dato faltaba.
Numéricas
Categóricas
from sklearn.impute import SimpleImputer
# Imputadores numéricos
mean_imputer = SimpleImputer(strategy="mean")
constant_num_imputer = SimpleImputer(strategy="constant", fill_value=-999)
# Imputadores categóricos
frequent_imputer = SimpleImputer(strategy="most_frequent")
constant_cat_imputer = SimpleImputer(strategy="constant", fill_value="MISS")Imputar sin mirar la variable
No toda variable debe tratarse igual.
Una variable sesgada puede preferir mediana.
Una variable categórica puede beneficiarse más de MISS que de la moda.
Imputar no es “rellenar por rellenar”.
Es decidir qué significado tendrá el faltante dentro del modelo.
Primero transformamos variables.
Después codificamos categorías.
Y también necesitamos tratar los faltantes.