Un ensemble de données est un ensemble d'exemples.
De nombreux ensembles de données stockent des données dans des tableaux (grilles), par exemple au format CSV (valeurs séparées par des virgules) ou directement à partir de feuilles de calcul ou de tables de base de données. Les tableaux sont un format d'entrée intuitif pour les modèles de machine learning. Vous pouvez considérer chaque ligne du tableau comme un exemple et chaque colonne comme une caractéristique ou une étiquette potentielle. Toutefois, les ensembles de données peuvent également être dérivés d'autres formats, y compris des fichiers journaux et des tampons de protocole.
Quel que soit le format, la qualité de votre modèle de ML dépend des données sur lesquelles il s'entraîne. Cette section examine les principales caractéristiques des données.
Types de données
Un ensemble de données peut contenir de nombreux types de données, y compris, mais sans s'y limiter:
- données numériques, qui sont traitées dans une unité distincte
- données catégorielles, qui sont traitées dans une unité distincte
- la langue humaine, y compris les mots et les phrases individuels, jusqu'aux documents textuels entiers ;
- multimédias (images, vidéos et fichiers audio, par exemple) ;
- les sorties d'autres systèmes de ML ;
- les vecteurs d'embedding, qui seront abordés dans un prochain module
Quantité de données
En règle générale, votre modèle doit s'entraîner sur au moins un ordre de grandeur (ou deux) d'exemples de plus que les paramètres enregistrables. Toutefois, les bons modèles sont généralement entraînés sur un nombre bien plus important d'exemples.
Les modèles entraînés sur de grands ensembles de données avec peu de caractéristiques sont généralement plus performants que les modèles entraînés sur de petits ensembles de données avec beaucoup de caractéristiques. Google a toujours réussi à entraîner des modèles simples sur de grands ensembles de données.
Différents ensembles de données pour différents programmes de machine learning peuvent nécessiter des quantités d'exemples très différentes pour créer un modèle utile. Pour certains problèmes relativement simples, quelques dizaines d'exemples peuvent suffire. Pour d'autres problèmes, un trillion d'exemples peut s'avérer insuffisant.
Il est possible d'obtenir de bons résultats à partir d'un petit ensemble de données si vous adaptez un modèle existant déjà entraîné sur de grandes quantités de données du même schéma.
Qualité et fiabilité des données
Tout le monde préfère la qualité à la médiocrité, mais la qualité est un concept si vague qu'il peut être défini de différentes manières. Ce cours définit la qualité de manière pragmatique:
Un ensemble de données de haute qualité aide votre modèle à atteindre son objectif. Un ensemble de données de mauvaise qualité empêche votre modèle d'atteindre son objectif.
Un ensemble de données de haute qualité est généralement également fiable. La fiabilité fait référence au degré de confiance que vous pouvez accorder à vos données. Un modèle entraîné sur un ensemble de données fiable est plus susceptible de générer des prédictions utiles qu'un modèle entraîné sur des données peu fiables.
Pour mesurer la fiabilité, vous devez déterminer:
- Quelle est la fréquence des erreurs de libellé ? Par exemple, si vos données sont libellées par des humains, à quelle fréquence vos évaluateurs ont-ils commis des erreurs ?
- Vos fonctionnalités sont-elles bruyantes ? Autrement dit, les valeurs de vos éléments géographiques contiennent-elles des erreurs ? Soyez réaliste : vous ne pouvez pas supprimer tout bruit de votre ensemble de données. Un certain bruit est normal. Par exemple, les mesures GPS de n'importe quel emplacement fluctuent toujours un peu d'une semaine à l'autre.
- Les données sont-elles correctement filtrées pour votre problème ? Par exemple, votre ensemble de données doit-il inclure les requêtes de recherche des robots ? Si vous créez un système de détection du spam, la réponse est probablement oui. Toutefois, si vous essayez d'améliorer les résultats de recherche pour les utilisateurs, ce n'est pas le cas.
Voici les causes courantes de données peu fiables dans les ensembles de données:
- Valeurs omises : une personne a oublié de saisir une valeur pour l'âge d'une habitation, par exemple.
- Exemples en double : un serveur a importé par erreur les mêmes entrées de journal deux fois, par exemple.
- Valeurs de caractéristique erronées : une personne a saisi un chiffre en trop, ou un thermomètre a été laissé au soleil, par exemple.
- Étiquettes incorrectes : une personne a étiqueté l'image d'un chêne comme étant celle d'un érable, par exemple.
- Sections de données incorrectes. Par exemple, une certaine fonctionnalité est très fiable, sauf ce jour où le réseau a continué de planter.
Nous vous recommandons d'utiliser l'automatisation pour signaler les données non fiables. Par exemple, les tests unitaires qui définissent ou s'appuient sur un schéma de données formel externe peuvent signaler les valeurs qui ne sont pas comprises dans une plage définie.
Exemples complets et incomplets
Dans un monde idéal, chaque exemple est complet, c'est-à-dire qu'il contient une valeur pour chaque caractéristique.
Malheureusement, les exemples concrets sont souvent incomplets, ce qui signifie qu'au moins une valeur de caractéristique est manquante.
N'entraînez pas un modèle sur des exemples incomplets. Corrigez ou éliminez les exemples incomplets en procédant comme suit:
- Supprimez les exemples incomplets.
- Impute les valeurs manquantes, c'est-à-dire convertir l'exemple incomplet en un exemple complet en fournissant des suppositions raisonnées pour les valeurs manquantes.
Si l'ensemble de données contient suffisamment d'exemples complets pour entraîner un modèle utile, envisagez de supprimer les exemples incomplets. De même, si une seule caractéristique manque d'une quantité importante de données et qu'elle ne peut probablement pas aider le modèle, envisagez de supprimer cette caractéristique des entrées du modèle et de voir dans quelle mesure la qualité est perdue par sa suppression. Si le modèle fonctionne tout aussi bien sans elle, c'est parfait. À l'inverse, si vous ne disposez pas d'assez d'exemples complets pour entraîner un modèle utile, vous pouvez envisager d'imputer des valeurs manquantes.
Vous pouvez supprimer des exemples inutiles ou redondants, mais pas des exemples importants. Malheureusement, il peut être difficile de faire la différence entre des exemples inutiles et utiles. Si vous ne parvenez pas à décider de supprimer ou d'imputer, envisagez de créer deux ensembles de données: l'un formé en supprimant les exemples incomplets et l'autre en effectuant une imputation. Déterminez ensuite quel ensemble de données entraîne le meilleur modèle.
Un algorithme courant consiste à utiliser la moyenne ou la médiane comme valeur imputée. Par conséquent, lorsque vous représentez une caractéristique numérique avec des scores z, la valeur imputée est généralement 0 (car 0 est généralement le score z moyen).
Exercice: Vérifiez votre compréhension
Voici deux colonnes d'un ensemble de données triées par Timestamp
.
Horodatage | Température |
---|---|
8 juin 2023 09h00 | 12 |
8 juin 2023 10h00 | 18 |
8 juin 2023, 11h00 | missing |
8 juin 2023 12:00 | 24 |
8 juin 2023 13h00 | 38 |
Quelle valeur raisonnable pourriez-vous imputer à la valeur manquante de Température ?