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 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 a strategy é '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â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 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.

Tarefa

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.

  1. Importe a classe SimpleImputer de sklearn.impute.
  2. Crie um objeto SimpleImputer com o parâmetro strategy definido como 'most_frequent'.
  3. Aplique o imputer à coluna 'sex' para substituir todos os valores ausentes.
  4. Atualize a coluna 'sex' no DataFrame df com 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.

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

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 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 a strategy é '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â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 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.

Tarefa

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.

  1. Importe a classe SimpleImputer de sklearn.impute.
  2. Crie um objeto SimpleImputer com o parâmetro strategy definido como 'most_frequent'.
  3. Aplique o imputer à coluna 'sex' para substituir todos os valores ausentes.
  4. Atualize a coluna 'sex' no DataFrame df com 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.

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!

Seção 2. Capítulo 4
single

single

some-alt