Como dividir seus dados

Como mostrado no exemplo de notícia, uma divisão aleatória pura nem sempre é a abordagem certa.

Uma técnica frequente para sistemas on-line é dividir os dados por tempo, de modo que você:

  • Colete 30 dias de dados.
  • Treinar com dados dos dias 1 a 29.
  • Avalie os dados a partir do 30o dia.

Em sistemas on-line, os dados de treinamento são mais antigos que os de exibição. Portanto, essa técnica garante que seu conjunto de validação espelha o atraso entre o treinamento e a disponibilização. No entanto, divisões com base no tempo funcionam melhor com conjuntos de dados muito grandes, como os que têm dezenas de milhões de exemplos. Em projetos com menos dados, as distribuições acabam sendo muito diferentes entre treinamento, validação e teste.

Lembre-se também da falha na divisão de dados do projeto de literatura de machine learning descrito no Curso intensivo de machine learning. Os dados foram escritos por um dos três autores, então os dados se enquadram em três grupos principais. Como a equipe aplicou uma divisão aleatória, os dados de cada grupo estavam presentes nos conjuntos de treinamento, avaliação e teste. Portanto, o modelo aprendeu com as informações que não teria necessariamente no momento da previsão. Esse problema pode acontecer sempre que seus dados são agrupados, como dados de série temporal ou agrupados por outros critérios. O conhecimento do domínio ajuda a definir como você divide os dados.

Para uma revisão mais detalhada, veja estes módulos do Curso intensivo de machine learning: