Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Desafío: Imputación de Valores Faltantes | Preprocesamiento de Datos con Scikit-learn
Introducción al ML con Scikit-learn

bookDesafío: Imputación de Valores Faltantes

La clase SimpleImputer está diseñada para manejar datos faltantes reemplazando automáticamente los valores ausentes.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Al inicializarse, también puede personalizarse configurando sus parámetros:

  • missing_value: especifica el marcador de los valores faltantes. Por defecto, es np.nan;
  • strategy: la estrategia utilizada para imputar los valores faltantes. 'mean' es el valor predeterminado;
  • fill_value: especifica el valor que se utilizará para rellenar los valores faltantes cuando la strategy es 'constant'. Por defecto, es None.

Como transformador, dispone de los siguientes métodos:

También es necesario decidir qué valores utilizar para la imputación.

Un enfoque común es reemplazar los valores numéricos faltantes con la media y los valores categóricos faltantes con la moda (valor más frecuente), ya que esto distorsiona mínimamente la distribución de los datos.

La elección se controla mediante el parámetro strategy:

  • strategy='mean': imputa con la media de cada columna;
  • strategy='median': imputa con la mediana de cada columna;
  • strategy='most_frequent': imputa con la moda de cada columna;
  • strategy='constant': imputa con un valor constante especificado en el parámetro fill_value.

El parámetro missing_values define qué valores se tratan como faltantes. Por defecto, es NaN, pero en algunos conjuntos de datos puede ser una cadena vacía '' u otro marcador.

Note
Nota

SimpleImputer y muchos otros transformadores solo funcionan con DataFrames, no con Series de pandas. Seleccionar una sola columna de un DataFrame usando df['column'] devuelve una Serie. Para evitar esto, puede usar doble corchete df[['column']] para asegurarse de que devuelva un DataFrame en su lugar:

imputer.fit_transform(df[['column']])

Cuando se aplica el método .fit_transform() de SimpleImputer, este devuelve un array 2D. Asignar valores a una sola columna en un DataFrame de pandas requiere un array 1D (o Series).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

El método .ravel() puede utilizarse para aplanar el array a 1D antes de la asignación:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Esto asegura que los valores imputados estén correctamente formateados y almacenados en la columna del DataFrame.

Tarea

Swipe to start coding

Imputar los valores faltantes en la columna 'sex' utilizando SimpleImputer. Dado que esta es una columna categórica, reemplazar los valores NaN con el valor más frecuente.

  1. Importar SimpleImputer.
  2. Crear un objeto SimpleImputer con la strategy deseada.
  3. Imputar los valores faltantes de la columna 'sex' usando el objeto imputer.

Solución

¡Excelente! Hemos resuelto el problema de los valores faltantes en nuestro conjunto de datos. Eliminamos las filas con más de un valor nulo e imputamos la columna 'sex' con el valor más frecuente – MALE.

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 2. Capítulo 4
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

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

close

Awesome!

Completion rate improved to 3.13

bookDesafío: Imputación de Valores Faltantes

Desliza para mostrar el menú

La clase SimpleImputer está diseñada para manejar datos faltantes reemplazando automáticamente los valores ausentes.

from sklearn.impute import SimpleImputer
imputer = SimpleImputer()

Al inicializarse, también puede personalizarse configurando sus parámetros:

  • missing_value: especifica el marcador de los valores faltantes. Por defecto, es np.nan;
  • strategy: la estrategia utilizada para imputar los valores faltantes. 'mean' es el valor predeterminado;
  • fill_value: especifica el valor que se utilizará para rellenar los valores faltantes cuando la strategy es 'constant'. Por defecto, es None.

Como transformador, dispone de los siguientes métodos:

También es necesario decidir qué valores utilizar para la imputación.

Un enfoque común es reemplazar los valores numéricos faltantes con la media y los valores categóricos faltantes con la moda (valor más frecuente), ya que esto distorsiona mínimamente la distribución de los datos.

La elección se controla mediante el parámetro strategy:

  • strategy='mean': imputa con la media de cada columna;
  • strategy='median': imputa con la mediana de cada columna;
  • strategy='most_frequent': imputa con la moda de cada columna;
  • strategy='constant': imputa con un valor constante especificado en el parámetro fill_value.

El parámetro missing_values define qué valores se tratan como faltantes. Por defecto, es NaN, pero en algunos conjuntos de datos puede ser una cadena vacía '' u otro marcador.

Note
Nota

SimpleImputer y muchos otros transformadores solo funcionan con DataFrames, no con Series de pandas. Seleccionar una sola columna de un DataFrame usando df['column'] devuelve una Serie. Para evitar esto, puede usar doble corchete df[['column']] para asegurarse de que devuelva un DataFrame en su lugar:

imputer.fit_transform(df[['column']])

Cuando se aplica el método .fit_transform() de SimpleImputer, este devuelve un array 2D. Asignar valores a una sola columna en un DataFrame de pandas requiere un array 1D (o Series).

df['column'] = ...  # Requires 1D array or Series
imputer.fit_transform(df[['column']])  # Produces 2D array

El método .ravel() puede utilizarse para aplanar el array a 1D antes de la asignación:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Esto asegura que los valores imputados estén correctamente formateados y almacenados en la columna del DataFrame.

Tarea

Swipe to start coding

Imputar los valores faltantes en la columna 'sex' utilizando SimpleImputer. Dado que esta es una columna categórica, reemplazar los valores NaN con el valor más frecuente.

  1. Importar SimpleImputer.
  2. Crear un objeto SimpleImputer con la strategy deseada.
  3. Imputar los valores faltantes de la columna 'sex' usando el objeto imputer.

Solución

¡Excelente! Hemos resuelto el problema de los valores faltantes en nuestro conjunto de datos. Eliminamos las filas con más de un valor nulo e imputamos la columna 'sex' con el valor más frecuente – MALE.

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

close

Awesome!

Completion rate improved to 3.13
Sección 2. Capítulo 4
single

single

some-alt