Desafí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, esnp.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 lastrategy
es'constant'
. Por defecto, esNone
.
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ámetrofill_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.
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.
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.
- Importar
SimpleImputer
. - Crear un objeto
SimpleImputer
con lastrategy
deseada. - Imputar los valores faltantes de la columna
'sex'
usando el objetoimputer
.
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
.
¡Gracias por tus comentarios!
single
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Can you explain how to use SimpleImputer for categorical columns?
What are some best practices for choosing the right imputation strategy?
How do I handle missing values that are not NaN, like empty strings?
Awesome!
Completion rate improved to 3.13
Desafí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, esnp.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 lastrategy
es'constant'
. Por defecto, esNone
.
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ámetrofill_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.
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.
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.
- Importar
SimpleImputer
. - Crear un objeto
SimpleImputer
con lastrategy
deseada. - Imputar los valores faltantes de la columna
'sex'
usando el objetoimputer
.
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
.
¡Gracias por tus comentarios!
Awesome!
Completion rate improved to 3.13single