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 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:

No entanto, também é necessário escolher o valor a ser imputado.

A abordagem mais comum é imputar valores numéricos ausentes com a média e valores categóricos ausentes com a moda (o valor mais frequente), pois essa imputação minimiza o impacto na distribuição dos valores.

A abordagem pode ser controlada utilizando o 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 o número constante especificado no parâmetro fill_value.

O parâmetro missing_values controla quais valores são considerados ausentes. Por padrão, é NaN, mas em diferentes conjuntos de dados, pode ser uma string vazia '' ou qualquer outro valor.

Ao utilizar o método .fit_transform() do SimpleImputer, o resultado é um array 2D. No entanto, ao atualizar uma única coluna em um DataFrame do pandas, é necessário um array 1D (ou uma Series).

df['column'] = ...  # 1D array or Series expected

imputer.fit_transform(df[['column']])  # Returns a 2D array

Para converter o array 2D em um array 1D adequado para atribuição à coluna do DataFrame, pode-se aplicar o método .ravel(). Esse método achata o array. Veja como atualizar uma coluna após a imputação:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Essa abordagem garante que os valores imputados estejam corretamente formatados e atribuídos de volta ao DataFrame.

Tarefa

Swipe to start coding

Sua tarefa é imputar os valores NaN da coluna 'sex' utilizando o SimpleImputer. Como você está lidando com uma coluna categórica, irá substituir os valores nulos pelo valor mais frequente (a abordagem mais comum).

  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

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 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:

No entanto, também é necessário escolher o valor a ser imputado.

A abordagem mais comum é imputar valores numéricos ausentes com a média e valores categóricos ausentes com a moda (o valor mais frequente), pois essa imputação minimiza o impacto na distribuição dos valores.

A abordagem pode ser controlada utilizando o 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 o número constante especificado no parâmetro fill_value.

O parâmetro missing_values controla quais valores são considerados ausentes. Por padrão, é NaN, mas em diferentes conjuntos de dados, pode ser uma string vazia '' ou qualquer outro valor.

Ao utilizar o método .fit_transform() do SimpleImputer, o resultado é um array 2D. No entanto, ao atualizar uma única coluna em um DataFrame do pandas, é necessário um array 1D (ou uma Series).

df['column'] = ...  # 1D array or Series expected

imputer.fit_transform(df[['column']])  # Returns a 2D array

Para converter o array 2D em um array 1D adequado para atribuição à coluna do DataFrame, pode-se aplicar o método .ravel(). Esse método achata o array. Veja como atualizar uma coluna após a imputação:

df['column'] = imputer.fit_transform(df[['column']]).ravel()

Essa abordagem garante que os valores imputados estejam corretamente formatados e atribuídos de volta ao DataFrame.

Tarefa

Swipe to start coding

Sua tarefa é imputar os valores NaN da coluna 'sex' utilizando o SimpleImputer. Como você está lidando com uma coluna categórica, irá substituir os valores nulos pelo valor mais frequente (a abordagem mais comum).

  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