Valores faltantes y datos sucios
Encuentra y arregla los problemas de los datos reales antes de correr cualquier modelo.
Un valor faltante no tiene que estar en blanco para faltar. A veces es un cero escondido a plena vista.
La trampa de Pima
- Una glucosa, presión arterial, pliegue cutáneo, insulina o BMI de 0 es físicamente imposible.
- Así que un 0 en esas columnas no es una medición — es un valor faltante disfrazado.
- Carga la tabla cruda y tu modelo cree que la mitad de sus pacientes no producen insulina.
- Eso no es un hecho sobre la diabetes. Es un hecho sobre captura de datos.
Tus datos están más sucios de lo que crees
652 celdas faltantes disfrazadas en el benchmark "limpio" de Pima. La insulina es 48.7% falsa.
Las matemáticas
Rellena con la media o la mediana de los valores observados:
xˉ=n1i=1∑nximedian(x)=x((n+1)/2)
Dos reglas de outliers que discrepan a propósito:
z-score: flag ∣xi−xˉ∣/σ>3
IQR: flag xi<Q1−1.5IQR or xi>Q3+1.5IQR
La media y la desviación estándar del z-score están infladas por los mismos outliers que caza, así que marca de menos en una columna sesgada. El IQR no.
Detecta los ceros disfrazados
NaNs reales, más los ceros en las columnas donde el cero es físicamente imposible.
La media queda alta, la mediana cae en el grueso
La insulina es 48.7% ceros falsos y está sesgada a la derecha. El relleno con media se estaciona en 156 en la cola vacía; el relleno con mediana cae en 125 dentro del grueso.
Limpiar no es un botón
Clasificador fijo, una división. Test accuracy — fracción de 192 pacientes reservados clasificados correctamente (sin unidades, 0–1).
Los ceros crudos dan 0.781, la imputación ingenua cae a 0.750 — la ausencia era informativa. Mediana + una bandera de was-missing lo recupera: 0.771.
Conclusiones
- Mira tus datos antes de modelarlos — columna por columna, los ceros que no pueden ser ciertos.
- La ausencia disfrazada está en todos lados donde el cero es un valor legal para una columna que no puede ser cero. La encuentra el conocimiento del dominio, no un chequeo de nulls.
- Imputa con la mediana las columnas sesgadas; la media amontona las suposiciones en la cola vacía.
- Agrega un indicador de was-missing cuando la ausencia carga señal — aquí salvó al modelo limpio.
- Ajusta el relleno con train, aplícalo en todos lados. Basura entra, basura sale le gana a cualquier elección de algoritmo.