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 personalizada por meio 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.
Como 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 minimiza a distorção da 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 para 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
Você recebe um DataFrame chamado df que contém informações sobre pinguins. A coluna 'sex' inclui alguns valores ausentes (NaN). Sua tarefa é preencher essas lacunas utilizando a categoria mais comum nesta coluna.
- Importe a classe
SimpleImputerdesklearn.impute. - Crie um objeto
SimpleImputercom o parâmetrostrategydefinido como'most_frequent'. - Aplique o imputer à coluna
'sex'para substituir todos os valores ausentes. - Atualize a coluna
'sex'no DataFramedfcom os dados imputados.
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 personalizada por meio 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.
Como 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 minimiza a distorção da 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 para 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
Você recebe um DataFrame chamado df que contém informações sobre pinguins. A coluna 'sex' inclui alguns valores ausentes (NaN). Sua tarefa é preencher essas lacunas utilizando a categoria mais comum nesta coluna.
- Importe a classe
SimpleImputerdesklearn.impute. - Crie um objeto
SimpleImputercom o parâmetrostrategydefinido como'most_frequent'. - Aplique o imputer à coluna
'sex'para substituir todos os valores ausentes. - Atualize a coluna
'sex'no DataFramedfcom os dados imputados.
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