Aprenda como evitar data-leakage e perda de tempo no gerenciamento de dados para Machine Learning

Pedro Chagas
Data Scientist
Publicado em
4/5/2023
Compartilhar

Existem algumas manhas de desenvolvimento de modelos de Machine Learning que só se pegam com o tempo. É tanta coisa para testar, resolver e aprender que muitas vezes focamos apenas no conseguir rodar um modelo com AUC > 0.7. E assim muitos detalhes acabam sendo deixados de lado.

O problema é que um erro no início do projeto, como na divisão dos conjuntos de treino e teste, pode fazer você perder muito tempo. Você acabaria desperdiçando horas fazendo experimentos, análises e desenvolvendo modelos com um conjunto de dados enviesado. Isso se chama data-leakage e afeta todos os cientistas de dados pelo menos uma vez na vida (quer eles saibam ou não).

O data-leakage pode causar uma falsa sensação de sucesso, levando a modelos com desempenhos superestimados, que falham ao lidar com dados reais. Mas não precisa ser assim.

A seguir vão alguns insights sobre gerenciamento de dados para o desenvolvimento de modelos que teriam me poupado muito tempo se eu soubesse deles antes:

  • Divisões Baseadas em Tempo: se há um aspecto temporal em seus dados, divida-os por tempo em conjuntos de treino/validação/teste, ao invés de fazer isso aleatoriamente, para refletir melhor os cenários do mundo real.

  • Oversampling Pós-Divisão: realize o oversampling dos dados após a divisão do conjunto de dados para evitar a introdução de viés no seu modelo.

  • Escalonamento & Normalização: escale e normalize seus dados após a divisão para evitar o data-leakage.

  • Exploração Apenas da Divisão de Treino: explore, visualize e gere estatísticas para imputação de valores ausentes apenas com o conjunto de treino.

  • Conhecimento da Geração de Dados: entenda como seus dados são gerados, coletados e processados. Envolva especialistas no assunto, se necessário.

  • Linhagem de Dados: mantenha o controle da linhagem de seus dados (de onde vieram, o que acontece com eles e para onde são enviados) para garantir transparência e reprodutibilidade.

  •  Importância dos Atributos: reconheça a importância e o significado de cada atributo no seu modelo para otimizar seu desempenho.

  • Atributos Generalizáveis: use atributos que generalizem bem em diferentes cenários para tornar seu modelo mais robusto.

  • Remover Features Não Utilizadas: revise e remova regularmente features que não contribuem mais para o desempenho do seu modelo.

  •  Validação Cruzada: sempre que possível, utilize a validação cruzada (k-fold cross-validation) para garantir uma avaliação mais precisa e confiável do desempenho do seu modelo em diferentes subconjuntos de dados.

Nosso blog é um canal para você acessar diversos conteúdos de qualidade sobre temas como: ciência de dados, machine learning, tendências e inovações do mercado. E se você quer ficar por dentro dos melhores conteúdos sobre Inteligência Artificial do momento, basta clicar no link ou assinar a Newsletter.

Mais artigos da Datarisk

Ver todos os artigos
© Copyright 2017 - 2022 | Datarisk.io | Todos os direitos reservados