1
resposta

Ele utilizar o Bag of Words no Df do resenha não está causando um data leakage?

Nosso bag of words não deveria ser feito utilizando somente os dados de treino?

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

Olá, Cristiano! Tudo bem com você?

Desculpe pela demora em dar um retorno.

A criação do modelo Bag of Words (BoW) deve ser feita após a separação dos dados de treino e teste. Isso ocorre porque o conjunto de dados de teste serve como um "mundo desconhecido" para o modelo, que simula como o modelo lidará com novos dados no futuro para avaliações mais precisas de como o modelo irá se sair para dados nunca antes vistos.

Se você criar o BoW antes da divisão, estará utilizando informações do conjunto de teste (como as palavras presentes nesse conjunto) para treinar o modelo, o que é conhecido como vazamento de dados (data leakage), como você mencionou. Isso pode levar a uma avaliação superestimada do desempenho do modelo, pois ele teria informações durante o treinamento que não deveria ter e assim vai nos retornar resultados mais otimista do que a realidade.

Portanto as etapas recomendadas seriam:

  1. Divida seus dados em conjuntos de treino e teste.
  2. Realize todas as etapas de pré-processamento necessárias em ambos os conjuntos de dados. Isso pode incluir limpeza de texto, remoção de stop words, stemização ou lematização, entre outros.
  3. Crie o BoW utilizando apenas o conjunto de treino. Este BoW deve então ser aplicado aos dados de teste. Isso significa que você irá transformar os dados de teste em vetores de acordo com o BoW criado com os dados de treino, sem alterar o BoW. Se houver palavras nos dados de teste que não estão no BoW (porque não estavam nos dados de treino), estas serão ignoradas.

A razão para seguir a abordagem acima é evitar o vazamento de informações do conjunto de teste para o conjunto de treinamento. Ao separar primeiro os dados e aplicar o BoW apenas no conjunto de treinamento, você garante que o modelo não tenha acesso às informações do conjunto de teste durante o treinamento.

Os cursos de NLP serão atualizados para remover essas inconsistências e melhorar ainda mais o conteúdo.

Bons estudos.