Taille et qualité d'un ensemble de données

"Des ordures ménagères

L'adage précédent s'applique au machine learning. En effet, la qualité de votre modèle dépend de celle de vos données. Mais comment mesurer et améliorer la qualité de votre ensemble de données ? De quelle quantité de données avez-vous besoin pour obtenir des résultats utiles ? Les réponses dépendent du type de problème que vous résolvez.

Taille d'un ensemble de données

En règle générale, votre modèle devrait s'entraîner sur au moins un ordre de grandeur plus grand que des paramètres entraînables. Les modèles simples sur de grands ensembles de données sont généralement plus performants que les modèles sophistiqués sur de petits ensembles de données. Google a rencontré un grand succès en entraînant des modèles de régression linéaire simples sur des ensembles de données volumineux.

Qu'est-ce qui compte comme beaucoup ? Cela dépend du projet. Considérez la taille relative de ces ensembles de données:

Ensemble de données Taille (nombre d'exemples)
Ensemble de données "fleur d'iris" 150 (total)
MovieLens (ensemble de données de 20 M) 20 000 263 (total)
Réponse suggérée Google Gmail 238 000 000 (ensemble d'entraînement)
Google Livres Ngram 468 000 000 000 (total)
Google Traduction mille milliards

Comme vous pouvez le voir, il existe différentes tailles d'ensembles de données.

Qualité d'un ensemble de données

Il est inutile d'avoir beaucoup de données si ce sont de mauvaises données ; la qualité compte aussi. Mais qu'est-ce qui compte comme une "qualité" ? C'est un terme vague. Envisagez une approche empirique et choisissez l'option qui produit le meilleur résultat. Avec cet état d'esprit, un ensemble de données de qualité est celui qui vous permet de résoudre le problème métier qui vous intéresse. En d'autres termes, les données sont bonnes si elles exécutent la tâche souhaitée.

Toutefois, lors de la collecte des données, il peut être utile d'avoir une définition plus concrète de la qualité. Certains aspects de la qualité correspondent généralement à des modèles plus performants:

  • fiabilité
  • représentation de caractéristiques
  • réduire le décalage

Fiabilité

La fiabilité fait référence au degré de fiabilité des données. Un modèle entraîné sur un ensemble de données fiable a plus de chances de générer des prédictions utiles qu'un modèle entraîné sur des données non fiables. Pour mesurer la fiabilité, vous devez déterminer:

  • À quelle fréquence les erreurs d'étiquette sont-elles indiquées ? Par exemple, si vos données sont étiquetées par des humains, des humains font parfois des erreurs.
  • Vos fonctionnalités sont-elles bruyantes ? Par exemple, les mesures GPS varient. Un peu de bruit ne pose pas de problème. Vous ne supprimerez jamais tous les ensembles de données. Vous pouvez également collecter d'autres exemples.
  • Les données sont-elles correctement filtrées ? Par exemple, votre ensemble de données doit-il inclure des requêtes de recherche provenant de bots ? Si vous mettez en place un système de détection du spam, la réponse est probablement "Oui", mais si vous essayez d'améliorer les résultats de recherche pour les humains, ce n'est pas le cas.

Qu'est-ce qui rend les données peu fiables ? Comme nous l'avons vu dans le Cours d'initiation au Machine Learning, de nombreux exemples d'ensembles de données ne sont pas fiables pour une ou plusieurs des raisons suivantes:

  • Valeurs omises. Par exemple, une personne a oublié de saisir une valeur pour l'âge d'une maison.
  • Exemples en double. Par exemple, un serveur a importé par erreur les mêmes journaux deux fois.
  • Libellés incorrects. Par exemple, une personne a confondu une image d'un chêne avec un érable.
  • Valeurs de caractéristiques incorrectes. Par exemple, quelqu'un a saisi un chiffre en trop ou un thermomètre a été laissé au soleil.

Google Traduction s'est concentré sur la fiabilité pour choisir le "meilleur sous-ensemble" de ses données. Autrement dit, certaines données étaient associées à des libellés de meilleure qualité que d'autres.

Représentation des caractéristiques

Comme nous l'avons vu dans le Cours d'initiation au Machine Learning, nous associons des données à des caractéristiques utiles. Voici les questions que vous pouvez vous poser:

  • Comment les données sont-elles présentées au modèle ?
  • Devriez-vous normaliser les valeurs numériques ?
  • Comment devez-vous gérer les anomalies ?

La section Transformer vos données de ce cours se concentre sur la représentation des caractéristiques.

Entraînement et prédiction

Disons que vous obtenez d'excellents résultats hors connexion. Les résultats de votre test en direct ne s'appliquent pas. Que peut-il se passer ?

Ce problème suggère un décalage entraînement/inférence, c'est-à-dire que des résultats différents sont calculés pour vos métriques au moment de l'entraînement et de la diffusion. Les causes du décalage peuvent être subtiles, mais avoir des effets mortels sur vos résultats. Tenez toujours compte des données disponibles pour votre modèle au moment de la prédiction. Pendant l'entraînement, n'utilisez que les caractéristiques disponibles pour la diffusion et assurez-vous que l'ensemble d'entraînement est représentatif du trafic de diffusion.