Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprenda Desafio: Imputação de Valores Ausentes | Pré-Processamento de Dados com Scikit-Learn
Introdução ao ML com Scikit-learn

bookDesafio: 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 a strategy é '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âmetro fill_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.

Note
Nota

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.

Tarefa

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.

  1. Importe o SimpleImputer.
  2. Crie um objeto SimpleImputer com a strategy desejada.
  3. Impute os valores ausentes da coluna 'sex' utilizando o objeto imputer.

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.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 4
single

single

Pergunte à IA

expand

Pergunte à IA

ChatGPT

Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo

Suggested prompts:

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?

close

Awesome!

Completion rate improved to 3.13

bookDesafio: 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 a strategy é '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âmetro fill_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.

Note
Nota

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.

Tarefa

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.

  1. Importe o SimpleImputer.
  2. Crie um objeto SimpleImputer com a strategy desejada.
  3. Impute os valores ausentes da coluna 'sex' utilizando o objeto imputer.

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.

Switch to desktopMude para o desktop para praticar no mundo realContinue de onde você está usando uma das opções abaixo
Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

close

Awesome!

Completion rate improved to 3.13
Seção 2. Capítulo 4
single

single

some-alt