# Vazamento de dados (aprendizagem de máquina)

Em estatística e aprendizado de máquina, vazamento (do inglês leakage, também conhecido como vazamento de dados ou vazamento de alvo) é o uso de informações no processo de treinamento do modelo que não se esperaria que estivessem disponíveis no momento da previsão, fazendo com que as pontuações das predições (métricas) superestimem a utilidade que o modelo teria ao ser executado em um ambiente de produção.
O vazamento geralmente é sutil e indireto, dificultando a detecção e eliminação. O vazamento pode fazer com que um estatístico ou modelador selecione um modelo abaixo do ideal, que pode ser superado por um modelo sem vazamento.

## Modos de vazamento

O vazamento pode ocorrer em muitas etapas do processo de aprendizado de máquina. As causas de vazamento podem ser subclassificadas em duas possíveis fontes de vazamento para um modelo: as características e os exemplos de treinamento.

### Vazamento de características

O vazamento de características ou por colunas é causado pela inclusão de colunas que são uma das seguintes: uma duplicação do rótulo, um proxy para o rótulo ou o próprio rótulo. Essas características, conhecidas como anacronismos, não estarão disponíveis quando o modelo for usado para previsões e resultarão em vazamento se incluídos quando o modelo for treinado.
Por exemplo, incluindo uma coluna "SalárioMensal" ao prever "SalárioAnual"; ou "MinutosDeAtraso" ao prever "EstáAtrasado"; ou mais sutilmente "NúmeroDePagamentosAtrasados" ao prever "DeveriaFornecerEmpréstimo".

### Vazamento de exemplos de treinamento

O vazamento por linhas é causado pelo compartilhamento inadequado de informações entre linhas de dados. Os tipos de vazamento por linha incluem:
* Construção prematura de características; vazamento por construção de características prematuramente antes da divisão de CV/Treino/Teste (deve-se ajustar MinMax/ngrams/etc apenas na divisão de treino, e depois transformar o conjunto de teste)
* Duplicar linhas entre treino/validação/teste (por exemplo, ao fazer a sobreamostragem de um conjunto de dados para ampliar seu tamanho antes da divisão; por exemplo, diferentes rotações/aumentações de uma única imagem; amostragem por bootstrap antes da divisão; ou duplicação de linhas para ampliar as amostras da classe minoritária)
* Dados não independentes e identicamente distribuídos
** Vazamento temporal (por exemplo, dividir um conjunto de dados de série temporal aleatoriamente em vez de colocar os dados mais recentes no conjunto de teste em uma divisão de treino e teste ou validação cruzada com origem deslizante)
** Vazamento de grupo -- não incluindo uma coluna de divisão de agrupamento (por exemplo, o grupo de Andrew Ng fez 100 mil radiografias de 30 mil pacientes, o que significa ~3 imagens por paciente. O jornal usou divisão aleatória em vez de garantir que todas as imagens de um paciente estivessem na mesma divisão. Assim, o modelo memorizou parcialmente os pacientes em vez de aprender a reconhecer pneumonia em radiografias de tórax.)
Para conjuntos de dados dependentes do tempo, a estrutura do sistema em estudo evolui ao longo do tempo (ou seja, é "não estacionário"). Isso pode introduzir diferenças sistemáticas entre os conjuntos de treinamento e validação. Por exemplo, se um modelo para prever o valores de ações for treinado em dados para um determinado período de cinco anos, não é realista tratar o período de cinco anos subsequente como uma amostra da mesma população. Como outro exemplo, suponha que um modelo seja desenvolvido para prever o risco de um indivíduo ser diagnosticado com uma determinada doença no próximo ano.