Exemple de répartition des données

Une fois vos données collectées et échantillonnées si nécessaire, l'étape suivante consiste à les diviser en ensembles d'entraînement, ensembles de validation et ensembles de test.

Lorsque la répartition aléatoire n'est pas la meilleure approche

Bien que la répartition aléatoire soit la meilleure approche pour de nombreux problèmes de ML, elle n'est pas toujours la bonne solution. Prenons l'exemple d'ensembles de données dans lesquels les exemples sont naturellement regroupés dans des exemples similaires.

Supposons que vous souhaitiez que votre modèle classe le sujet à partir d'un article de presse. Pourquoi une répartition aléatoire serait-elle problématique ?

Quatre groupes d'articles distincts (nommés "Histoire 1", "Histoire 2", "Histoire 3" et "Histoire 4") s'affichent dans une chronologie. Figure 1. Les actualités sont regroupées.

Les actualités s'affichent dans des clusters: plusieurs articles traitant du même sujet sont publiés à peu près au même moment. Par conséquent, si nous répartissons les données de manière aléatoire, l'ensemble de test et l'ensemble d'entraînement contiendront probablement les mêmes histoires. Dans les faits, cela ne fonctionnerait pas de cette manière, car toutes les histoires viendraient en même temps. Le fractionnement pourrait donc provoquer un décalage.

Les mêmes articles de la figure 1 ne figurent plus dans la chronologie. Au lieu de cela, les articles sont maintenant divisés de manière aléatoire en un ensemble d'entraînement et un ensemble de test. L'ensemble d'entraînement et l'ensemble de test contiennent chacun une combinaison d'exemples différents issus des quatre histoires. Figure 2. Une répartition aléatoire divisera un cluster entre les ensembles, ce qui entraînera un décalage.

Pour résoudre ce problème, une méthode simple consiste à diviser nos données en fonction de la date de publication de l'article, peut-être par jour. Les articles du même jour sont alors placés dans la même répartition.

La chronologie d'origine de la figure 1 est maintenant divisée en un ensemble d'entraînement et un ensemble de test. Tous les articles des articles "Histoire 1" et "Histoire 2" figurent dans l'ensemble d'entraînement, tandis que les articles des articles 3 et 4 figurent dans l'ensemble de test. Figure 3. La division temporelle permet aux clusters de se terminer principalement dans le même ensemble.

Avec des dizaines de milliers d'articles ou plus, un pourcentage peut être réparti sur plusieurs jours. Mais ce n'est pas grave, car en réalité, ces histoires ont été divisées en deux jours. Vous pouvez également jeter les données à une certaine distance de votre heure d'arrêt afin d'éviter tout chevauchement. Par exemple, vous pouvez vous entraîner sur des histoires pour le mois d'avril, puis utiliser la deuxième semaine de mai comme ensemble de test, l'intervalle hebdomadaire évitant les chevauchements.