Diviser vos données

Comme le montre l'exemple d'article de presse, une répartition aléatoire pure ne convient pas toujours.

Une technique courante pour les systèmes en ligne consiste à diviser les données par heure, de la manière suivante:

  • Recueillir 30 jours de données
  • Entraînement sur les données du 1er au 29e jour.
  • Évaluez les données à partir du jour 30.

Pour les systèmes en ligne, les données d'entraînement sont plus anciennes que les données d'inférence. Cette technique garantit donc que votre ensemble de validation reflète le délai entre l'entraînement et l'inférence. Cependant, les répartitions temporelles fonctionnent mieux avec des ensembles de données très volumineux, tels que ceux comportant des dizaines de millions d'exemples. Dans les projets contenant moins de données, les distributions finissent par être assez différentes entre l'entraînement, la validation et les tests.

Rappelez-vous également la faille de répartition des données du projet de littérature de machine learning décrite dans le cours d'initiation au machine learning. Les données étant composées par l'un des trois auteurs, elles sont tombées dans trois groupes principaux. Comme l'équipe a appliqué une répartition aléatoire, les données de chaque groupe étaient présentes dans les ensembles d'entraînement, d'évaluation et de test. Le modèle a donc appris à partir d'informations qu'il n'avait pas nécessairement au moment de la prédiction. Ce problème peut se produire chaque fois que vos données sont regroupées, que ce soit sous forme de données de séries temporelles ou mises en cluster selon d'autres critères. La connaissance du domaine peut vous aider à répartir vos données.

Pour un examen plus approfondi, consultez les modules suivants du cours d'initiation au Machine Learning: