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

bookLidando com Valores Ausentes

Apenas um número limitado de modelos de aprendizado de máquina consegue lidar com valores ausentes, portanto, é necessário verificar o conjunto de dados para garantir que não restem lacunas. Se houver valores ausentes, eles podem ser tratados de duas maneiras:

  • Remover as linhas que contêm valores ausentes;
  • Preencher as células vazias com valores substitutos, um processo conhecido como imputação.

Identificação de Valores Ausentes

Para exibir informações gerais sobre o conjunto de dados e verificar a existência de valores ausentes, pode-se utilizar o método .info() de um DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

O conjunto de dados possui 344 entradas, mas as colunas 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' e 'sex' contêm menos de 344 valores não nulos cada, indicando a presença de dados ausentes.

Note
Nota

Null é outro nome para valores ausentes.

Para identificar o número de valores ausentes em cada coluna, aplique o método .isna() e, em seguida, utilize .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Linhas contendo valores ausentes podem ser exibidas com: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Remoção de Linhas

A primeira e a última linhas contêm apenas os valores da variável alvo ('species') e de 'island', fornecendo informações insuficientes para serem úteis. Essas linhas podem ser removidas mantendo apenas aquelas com menos de dois valores NaN e reatribuindo-as ao df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Em contraste, as linhas restantes contêm informações úteis, com valores NaN aparecendo apenas na coluna 'sex'. Em vez de remover essas linhas, os valores ausentes podem ser imputados. Uma abordagem comum é utilizar o transformador SimpleImputer, que será abordado no próximo capítulo.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3

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 more about how imputing works?

What are some other ways to handle missing values besides removing or imputing?

Why is it important to handle missing values before training a machine learning model?

Awesome!

Completion rate improved to 3.13

bookLidando com Valores Ausentes

Deslize para mostrar o menu

Apenas um número limitado de modelos de aprendizado de máquina consegue lidar com valores ausentes, portanto, é necessário verificar o conjunto de dados para garantir que não restem lacunas. Se houver valores ausentes, eles podem ser tratados de duas maneiras:

  • Remover as linhas que contêm valores ausentes;
  • Preencher as células vazias com valores substitutos, um processo conhecido como imputação.

Identificação de Valores Ausentes

Para exibir informações gerais sobre o conjunto de dados e verificar a existência de valores ausentes, pode-se utilizar o método .info() de um DataFrame.

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.info())
copy

O conjunto de dados possui 344 entradas, mas as colunas 'culmen_depth_mm', 'flipper_length_mm', 'body_mass_g' e 'sex' contêm menos de 344 valores não nulos cada, indicando a presença de dados ausentes.

Note
Nota

Null é outro nome para valores ausentes.

Para identificar o número de valores ausentes em cada coluna, aplique o método .isna() e, em seguida, utilize .sum().

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df.isna().sum())
copy

Linhas contendo valores ausentes podem ser exibidas com: df[df.isna().any(axis=1)]

12345
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') print(df[df.isna().any(axis=1)])
copy

Remoção de Linhas

A primeira e a última linhas contêm apenas os valores da variável alvo ('species') e de 'island', fornecendo informações insuficientes para serem úteis. Essas linhas podem ser removidas mantendo apenas aquelas com menos de dois valores NaN e reatribuindo-as ao df.

123456
import pandas as pd df = pd.read_csv('https://codefinity-content-media.s3.eu-west-1.amazonaws.com/a65bbc96-309e-4df9-a790-a1eb8c815a1c/penguins.csv') df = df[df.isna().sum(axis=1) < 2] print(df.head(8))
copy

Em contraste, as linhas restantes contêm informações úteis, com valores NaN aparecendo apenas na coluna 'sex'. Em vez de remover essas linhas, os valores ausentes podem ser imputados. Uma abordagem comum é utilizar o transformador SimpleImputer, que será abordado no próximo capítulo.

Tudo estava claro?

Como podemos melhorá-lo?

Obrigado pelo seu feedback!

Seção 2. Capítulo 3
some-alt