Desafio: Imputação de Valores Ausentes
A classe SimpleImputer
foi projetada para lidar com dados ausentes, substituindo automaticamente os valores faltantes.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Ao ser inicializada, ela pode ser customizada por meio da configuração de seus parâmetros:
missing_value
: especifica o marcador para os valores ausentes. Por padrão, énp.nan
;strategy
: a estratégia utilizada para imputar os valores ausentes. O valor padrão é'mean'
;fill_value
: Especifica o valor a ser utilizado para preencher valores ausentes quando astrategy
é'constant'
. Por padrão, éNone
.
Por ser um transformador, possui os seguintes métodos:
Também é necessário decidir quais valores utilizar para a imputação.
Uma abordagem comum é substituir valores numéricos ausentes pela média e valores categóricos ausentes pela moda (valor mais frequente), pois isso distorce minimamente a distribuição dos dados.
A escolha é controlada pelo parâmetro strategy
:
strategy='mean'
: imputa com a média de cada coluna;strategy='median'
: imputa com a mediana de cada coluna;strategy='most_frequent'
: imputa com a moda de cada coluna;strategy='constant'
: imputa com um valor constante especificado no parâmetrofill_value
.
O parâmetro missing_values
define quais valores são tratados como ausentes. Por padrão, é NaN
, mas em alguns conjuntos de dados pode ser uma string vazia ''
ou outro marcador.
O SimpleImputer
e muitos outros transformadores funcionam apenas com DataFrames, não com pandas Series. Selecionar uma única coluna de um DataFrame usando df['column']
retorna uma Series. Para evitar isso, utilize colchetes duplos df[['column']]
para garantir que seja retornado um DataFrame:
imputer.fit_transform(df[['column']])
Quando o método .fit_transform()
do SimpleImputer
é aplicado, ele retorna um array 2D. A atribuição de valores a uma única coluna em um DataFrame do pandas requer um array 1D (ou Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
O método .ravel()
pode ser utilizado para achatar o array em 1D antes da atribuição:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Isso garante que os valores imputados estejam devidamente formatados e armazenados na coluna do DataFrame.
Swipe to start coding
Impute os valores ausentes na coluna 'sex'
utilizando o SimpleImputer
. Como esta é uma coluna categórica, substitua os valores NaN
pelo valor mais frequente.
- Importe o
SimpleImputer
. - Crie um objeto
SimpleImputer
com astrategy
desejada. - Impute os valores ausentes da coluna
'sex'
utilizando o objetoimputer
.
Solução
Ótimo! Lidamos com o problema de valores ausentes em nosso conjunto de dados. Removemos as linhas com mais de um valor nulo e imputamos a coluna 'sex'
com o valor mais frequente – MALE
.
Obrigado pelo seu feedback!
single
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo
Awesome!
Completion rate improved to 3.13
Desafio: Imputação de Valores Ausentes
Deslize para mostrar o menu
A classe SimpleImputer
foi projetada para lidar com dados ausentes, substituindo automaticamente os valores faltantes.
from sklearn.impute import SimpleImputer
imputer = SimpleImputer()
Ao ser inicializada, ela pode ser customizada por meio da configuração de seus parâmetros:
missing_value
: especifica o marcador para os valores ausentes. Por padrão, énp.nan
;strategy
: a estratégia utilizada para imputar os valores ausentes. O valor padrão é'mean'
;fill_value
: Especifica o valor a ser utilizado para preencher valores ausentes quando astrategy
é'constant'
. Por padrão, éNone
.
Por ser um transformador, possui os seguintes métodos:
Também é necessário decidir quais valores utilizar para a imputação.
Uma abordagem comum é substituir valores numéricos ausentes pela média e valores categóricos ausentes pela moda (valor mais frequente), pois isso distorce minimamente a distribuição dos dados.
A escolha é controlada pelo parâmetro strategy
:
strategy='mean'
: imputa com a média de cada coluna;strategy='median'
: imputa com a mediana de cada coluna;strategy='most_frequent'
: imputa com a moda de cada coluna;strategy='constant'
: imputa com um valor constante especificado no parâmetrofill_value
.
O parâmetro missing_values
define quais valores são tratados como ausentes. Por padrão, é NaN
, mas em alguns conjuntos de dados pode ser uma string vazia ''
ou outro marcador.
O SimpleImputer
e muitos outros transformadores funcionam apenas com DataFrames, não com pandas Series. Selecionar uma única coluna de um DataFrame usando df['column']
retorna uma Series. Para evitar isso, utilize colchetes duplos df[['column']]
para garantir que seja retornado um DataFrame:
imputer.fit_transform(df[['column']])
Quando o método .fit_transform()
do SimpleImputer
é aplicado, ele retorna um array 2D. A atribuição de valores a uma única coluna em um DataFrame do pandas requer um array 1D (ou Series).
df['column'] = ... # Requires 1D array or Series
imputer.fit_transform(df[['column']]) # Produces 2D array
O método .ravel()
pode ser utilizado para achatar o array em 1D antes da atribuição:
df['column'] = imputer.fit_transform(df[['column']]).ravel()
Isso garante que os valores imputados estejam devidamente formatados e armazenados na coluna do DataFrame.
Swipe to start coding
Impute os valores ausentes na coluna 'sex'
utilizando o SimpleImputer
. Como esta é uma coluna categórica, substitua os valores NaN
pelo valor mais frequente.
- Importe o
SimpleImputer
. - Crie um objeto
SimpleImputer
com astrategy
desejada. - Impute os valores ausentes da coluna
'sex'
utilizando o objetoimputer
.
Solução
Ótimo! Lidamos com o problema de valores ausentes em nosso conjunto de dados. Removemos as linhas com mais de um valor nulo e imputamos a coluna 'sex'
com o valor mais frequente – MALE
.
Obrigado pelo seu feedback!
Awesome!
Completion rate improved to 3.13single