Un ensemble de données est un ensemble exemples.
De nombreux ensembles de données stockent des données dans des tables (grilles), par exemple valeurs séparées par une virgule (CSV) ou directement à partir de feuilles de calcul ou tables de base de données. Les tableaux constituent un format d'entrée intuitif pour les modèles pour l'apprentissage des modèles. Vous pouvez imaginer chaque ligne de la table comme exemple et chaque colonne comme caractéristique ou étiquette potentielle. Cela dit, les ensembles de données peuvent également être dérivés d'autres formats, y compris les fichiers journaux et les tampons de protocole.
Quel que soit le format, la qualité de votre modèle de ML dépend à partir des données utilisées pour l'entraînement. Cette section examine les principales caractéristiques des données.
Types de données
Un jeu de données peut contenir de nombreux types de données, y compris, mais certainement sans s'y limiter:
- données numériques, qui font l'objet d'une unité
- les données catégorielles, qui font l'objet d'une unité
- du langage humain, y compris des mots et des phrases individuels, jusqu'à des documents texte entiers
- les fichiers multimédias (images, vidéos et fichiers audio, par exemple) ;
- les résultats d'autres systèmes de ML
- vecteurs de représentation vectorielle continue, qui sont abordés dans un module ultérieur
Les types de données précédents peuvent être subdivisés de manière beaucoup plus poussée. Les modules suivants de ce cours (par exemple, le cours Catégoriel Données : détails et sous-catégorie ces types de données.
Quantité de données
En règle générale, votre modèle doit être entraîné sur au moins une commande de magnitude (ou deux) de plus que les paramètres entraînables. Cependant, une bonne les modèles s'entraînent généralement avec beaucoup plus d'exemples que cela.
Modèles entraînés sur de grands ensembles de données avec peu fonctionnalités sont généralement plus performantes que les modèles entraînés sur de petits ensembles de données de nombreuses fonctionnalités. L'entraînement de modèles simples sur des modèles simples de grands ensembles de données.
Différents ensembles de données pour différents programmes de machine learning peuvent nécessiter différentes quantités d'exemples pour créer un modèle utile. Pour certains des problèmes simples, une dizaine d'exemples peuvent suffire. Pour tout autre problème, 1 000 milliards d'exemples pourrait ne pas suffire.
Il est possible d’obtenir de bons résultats à partir d’un petit jeu de données si vous adaptez un modèle existant déjà entraîné sur de grandes quantités de données le même schéma.
Qualité et fiabilité des données
Tout le monde préfère la haute qualité à la mauvaise, mais la qualité est si vague concept qu'elle peut être définie de nombreuses façons différentes. Ce cours définit 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é désigne le degré de confiance à vos données. Un modèle entraîné sur un ensemble de données fiable a plus de chances de produire des résultats 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 d'étiquette ? Par exemple, si vos données sont étiquetées par des humains, à quelle fréquence vos évaluateurs humains ont-ils fait des erreurs ?
- Vos fonctionnalités sont-elles bruyantes ? Autrement dit, les valeurs de vos caractéristiques contient des erreurs ? Soyez réaliste : vous ne pouvez pas supprimer définitivement votre ensemble de données de tout bruit. Il est normal d'observer un certain bruit. par exemple, les mesures GPS les zones géographiques fluctuent toujours 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 des requêtes de recherche provenant de robots ? Si vous utilisez construire 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 destinés aux humains, non.
Voici quelques causes courantes de manque de fiabilité des données dans les ensembles de données:
- Valeurs omises. Par exemple, une personne a oublié de saisir la valeur l'âge de la maison.
- Exemples en double. Par exemple, un serveur a importé par erreur le même deux fois les entrées de journal.
- Valeurs de caractéristique incorrectes. Par exemple, si quelqu'un a saisi un chiffre en trop ou le thermomètre a été laissé au soleil.
- Libellés incorrects. Par exemple, une personne a étiqueté à tort l'image d'un comme un érable.
- Mauvaises sections de données. Par exemple, une certaine fonctionnalité est très fiable, sauf pour le jour où le réseau a continué à planter.
Nous vous recommandons d'utiliser l'automatisation pour signaler les données non fiables. Par exemple : les tests unitaires qui définissent ou reposent sur un schéma de données formel externe peuvent qui se situent en dehors d'une plage définie.
Exemples complets et incomplets
Dans un monde parfait, chaque exemple est complet. c'est-à-dire que chaque exemple contient une valeur pour chaque caractéristique.
Malheureusement, les exemples concrets sont souvent incomplètes, ce qui signifie qu'au au moins une valeur de caractéristique est manquante.
N'entraînez pas un modèle sur des exemples incomplets. Au lieu de cela, corrigez ou éliminez exemples incomplets en effectuant l'une des opérations suivantes:
- Supprimez les exemples incomplets.
- Impute : valeurs manquantes c'est-à-dire convertir l'exemple incomplet en 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, s'il manque une quantité importante de données à une seule caractéristique une caractéristique ne peut probablement pas vraiment aider le modèle, alors envisagez de supprimer à partir des entrées du modèle et constater la perte de qualité ou de suppression. Si le modèle fonctionne exactement ou presque aussi bien sans cela, c'est parfait. À l'inverse, si vous ne disposez pas d'assez d'exemples complets pour entraîner un modèle utile, vous pouvez alors envisager d'imputer les valeurs manquantes.
La suppression d'exemples inutiles ou redondants est acceptable, mais elle est également déconseillée. exemples importants. Malheureusement, il peut être difficile de différencier entre les exemples inutiles et utiles. Si vous ne pouvez pas décider pour supprimer ou imputer, envisagez de créer deux ensembles de données: l'un est formé en supprimant les exemples incomplets et l’autre en imputant. 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 Notes Z, puis la valeur saisie est généralement 0 (car 0 correspond généralement à la note Z moyenne).
Exercice: tester vos connaissances
Voici deux colonnes d'un ensemble de données triées par Timestamp
.
Horodatage | Température |
---|---|
8 juin 2023 09:00 | 12 |
8 juin 2023 10:00 | 18 |
8 juin 2023 11:00 | missing |
8 juin 2023 12:00 | 24 |
8 juin 2023 13:00 | 38 |
Parmi les valeurs suivantes, laquelle serait une valeur raisonnable à imputer pour la valeur manquante de température ?