Machine Learning: O Pré-processamento e o vazamento de informações

Começaremos com a seguinte citação:

o Pré-processamento dos dados deve ser realizado após a divisão do Dataset

Mas o que é esse VAZAMENTO DE INFORMAÇÕES?

Imagine que você está treinando um modelo de machine learning para prever se um cliente irá comprar um determinado produto. Durante o pré-processamento, você calcula a média de compras de todos os clientes e utiliza essa média como uma nova feature (variável). Se você fizer isso antes de dividir os dados, a média calculada estará presente tanto no conjunto de treino quanto no conjunto de teste.

Quando você treina o modelo no conjunto de treino, ele “memoriza” essa média e a utiliza para fazer as previsões. Ao avaliar o modelo no conjunto de teste, ele já “conhece” a resposta correta (à média), levando a uma avaliação otimista do desempenho do modelo. Essa situação é chamado de vazamento de informações, pois informações do conjunto de teste estão literalmente “vazando” para o conjunto de treino.

Por que isso é um problema?

Qual a solução?

A solução é realizar o pré-processamento de forma independente para cada conjunto de dadostreino e teste. Isso garante que o modelo não tenha acesso a informações do conjunto de teste durante o treinamento, trazendo maior robustez mais precisão ao modelo.

Para ajudar, no post Automatizar a divisão de treino e teste em um dataset compartilho um scprit para a divisão do datatest

Grande abraço a todos e espero que aproveitem!

Uma resposta para “Machine Learning: O Pré-processamento e o vazamento de informações”

  1. […] Outro detalhe que devemos nos atentar, é que o pré-processamento deve ser realizado após a divisão em conjuntos de treino e teste, conforme apresento no post Machine Learning: O Pré-processamento e o vazamento de informações […]