Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Gestión de Valores Faltantes | Fundamentos de Limpieza de Datos
Preprocesamiento de Datos y Diseño de Características

bookGestión de Valores Faltantes

Los datos faltantes son comunes en los conjuntos de datos del mundo real y pueden afectar el análisis o los modelos. Los tres tipos principales de datos faltantes son:

  • Completamente Ausentes al Azar (MCAR): la ausencia no está relacionada con ningún dato;
  • Ausentes al Azar (MAR): la ausencia está relacionada solo con los datos observados;
  • Ausentes No al Azar (MNAR): la ausencia depende de los propios valores faltantes.

La elección de la estrategia adecuada para tratar los valores faltantes depende del tipo de ausencia. Un manejo inadecuado puede causar resultados sesgados, análisis menos sólidos y predicciones poco confiables.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definición

Imputación es el proceso de reemplazar valores faltantes por valores sustitutos, como la media, mediana o moda, entre otros. La imputación ayuda a preservar la estructura y el tamaño del conjunto de datos para su posterior análisis o modelado.

Tipos de métodos de imputación

Diferentes tipos de datos requieren estrategias de imputación específicas para manejar los valores faltantes de manera efectiva:

  • Imputación por media: se utiliza para características numéricas; reemplaza los valores faltantes con el promedio de los valores observados;
  • Imputación por mediana: se utiliza para características numéricas, especialmente cuando los datos están sesgados; reemplaza los valores faltantes con la mediana;
  • Imputación por moda: se utiliza para características categóricas; reemplaza los valores faltantes con la categoría o valor más frecuente;
  • Imputación por valor constante: se utiliza tanto para características numéricas como categóricas; rellena los valores faltantes con un valor fijo como 0, -1 o 'unknown';
  • Relleno hacia adelante (ffill): se utiliza para series temporales o datos ordenados; propaga la última observación válida hacia adelante para cubrir los huecos;
  • Relleno hacia atrás (bfill): se utiliza para series temporales o datos ordenados; utiliza la siguiente observación válida para cubrir los huecos hacia atrás;
  • Interpolación: se utiliza para características numéricas, especialmente en series temporales; estima los valores faltantes en función de los puntos de datos vecinos utilizando métodos lineales u otros métodos matemáticos.

Selecciona el método de imputación que mejor se adapte al tipo de dato y al contexto de tu análisis.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Nota

Eliminar valores faltantes es rápido y sencillo, pero puede llevar a la pérdida de datos valiosos, especialmente cuando la ausencia de datos es generalizada. La imputación ayuda a conservar más datos, pero puede introducir sesgos si no se elige cuidadosamente. Considera la cantidad y el patrón de los valores faltantes, así como la importancia de la característica, antes de decidir si eliminar o imputar.

question mark

¿Cuál de los siguientes escenarios es más apropiado para eliminar filas con valores faltantes en lugar de imputarlas?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 2

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Awesome!

Completion rate improved to 8.33

bookGestión de Valores Faltantes

Desliza para mostrar el menú

Los datos faltantes son comunes en los conjuntos de datos del mundo real y pueden afectar el análisis o los modelos. Los tres tipos principales de datos faltantes son:

  • Completamente Ausentes al Azar (MCAR): la ausencia no está relacionada con ningún dato;
  • Ausentes al Azar (MAR): la ausencia está relacionada solo con los datos observados;
  • Ausentes No al Azar (MNAR): la ausencia depende de los propios valores faltantes.

La elección de la estrategia adecuada para tratar los valores faltantes depende del tipo de ausencia. Un manejo inadecuado puede causar resultados sesgados, análisis menos sólidos y predicciones poco confiables.

12345678
import pandas as pd import seaborn as sns titanic = sns.load_dataset("titanic") # Find missing values in each column print("Missing values per column:") print(titanic.isnull().sum())
copy
Note
Definición

Imputación es el proceso de reemplazar valores faltantes por valores sustitutos, como la media, mediana o moda, entre otros. La imputación ayuda a preservar la estructura y el tamaño del conjunto de datos para su posterior análisis o modelado.

Tipos de métodos de imputación

Diferentes tipos de datos requieren estrategias de imputación específicas para manejar los valores faltantes de manera efectiva:

  • Imputación por media: se utiliza para características numéricas; reemplaza los valores faltantes con el promedio de los valores observados;
  • Imputación por mediana: se utiliza para características numéricas, especialmente cuando los datos están sesgados; reemplaza los valores faltantes con la mediana;
  • Imputación por moda: se utiliza para características categóricas; reemplaza los valores faltantes con la categoría o valor más frecuente;
  • Imputación por valor constante: se utiliza tanto para características numéricas como categóricas; rellena los valores faltantes con un valor fijo como 0, -1 o 'unknown';
  • Relleno hacia adelante (ffill): se utiliza para series temporales o datos ordenados; propaga la última observación válida hacia adelante para cubrir los huecos;
  • Relleno hacia atrás (bfill): se utiliza para series temporales o datos ordenados; utiliza la siguiente observación válida para cubrir los huecos hacia atrás;
  • Interpolación: se utiliza para características numéricas, especialmente en series temporales; estima los valores faltantes en función de los puntos de datos vecinos utilizando métodos lineales u otros métodos matemáticos.

Selecciona el método de imputación que mejor se adapte al tipo de dato y al contexto de tu análisis.

123456789101112131415161718
import pandas as pd import seaborn as sns # Load Titanic dataset titanic = sns.load_dataset("titanic") # Fill missing values in 'age' (numerical) with the mean titanic['age'] = titanic['age'].fillna(titanic['age'].mean()) # Fill missing values in 'deck' (categorical) with the mode titanic['deck'] = titanic['deck'].fillna(titanic['deck'].mode()[0]) # Drop 'embarked' and 'embark_town' columns (only 2 missing values each) titanic = titanic.drop(['embarked', 'embark_town'], axis=1) # Display the number of missing values after processing print("Missing values after processing:") print(titanic.isnull().sum())
copy
Note
Nota

Eliminar valores faltantes es rápido y sencillo, pero puede llevar a la pérdida de datos valiosos, especialmente cuando la ausencia de datos es generalizada. La imputación ayuda a conservar más datos, pero puede introducir sesgos si no se elige cuidadosamente. Considera la cantidad y el patrón de los valores faltantes, así como la importancia de la característica, antes de decidir si eliminar o imputar.

question mark

¿Cuál de los siguientes escenarios es más apropiado para eliminar filas con valores faltantes en lugar de imputarlas?

Select the correct answer

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 1. Capítulo 2
some-alt