Começaremos com a seguinte citação:
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 dados – treino 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”
[…] 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 […]