1
resposta

[Dúvida] Por que usar .isnull(0)?

Olá, boa tarde.

Eu gostaria de saber se numa aplicação real de um dataset como esse para o treinamento de uma ML se seria adequado fazer a troca dos valores de NaN para 0. O que eu penso é que o modelo treinado vai ser atrapalhado por estes dados de IPTU, condomínio, etc. sendo iguais a 0, já que não são esses os valores que temos na vida real. Eles existem, mas são desconhecidos, ou seja, podem ou não ser 0. Vocês ensinaram isso só como exemplo para fazer o tratamento de dados nulos, né?

Atenciosamente, Guilherme Louro

1 resposta

Oi, Guilherme, tudo bem?

Você levantou um ponto muito importante. Na verdade, a substituição de valores NaN por 0 é uma estratégia bastante comum na preparação de dados para modelos de Machine Learning, mas, como você mencionou, pode não ser a melhor abordagem em todas as situações.

No contexto específico do curso, a substituição por 0 foi usada como uma maneira simples e direta de lidar com os dados faltantes. No entanto, em um cenário real, você pode querer considerar outras abordagens, dependendo da natureza dos dados e do problema que você está tentando resolver.

Por exemplo, em vez de substituir os valores NaN por 0, você pode substituí-los pela média ou mediana dos valores da coluna. Isso pode ser uma boa estratégia quando você tem razões para acreditar que os valores faltantes são aleatórios e não estão correlacionados com outros dados.

Outra estratégia seria excluir as linhas ou colunas que contêm valores NaN, embora isso possa resultar em perda de informação se muitos dos seus dados estiverem faltando.

Aqui estão alguns exemplos de como você poderia implementar essas estratégias usando pandas:

# substituir NaN pela média da coluna
df.fillna(df.mean(), inplace=True)

# substituir NaN pela mediana da coluna
df.fillna(df.median(), inplace=True)

# excluir linhas que contêm NaN
df.dropna(inplace=True)

# excluir colunas que contêm NaN
df.dropna(axis=1, inplace=True)

Lembre-se de que a melhor estratégia para lidar com valores faltantes depende do seu conjunto de dados específico e do problema que você está tentando resolver. Em alguns casos, pode até fazer sentido substituir os valores faltantes por 0, como no exemplo do curso.

Espero ter ajudado. Caso tenha dúvidas, conte com o fórum. Abraços!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software