Le dataset : la matière première du Machine Learning
Qu'est ce qu'un dataset?
Un
dataset (ou jeu de données) est un ensemble structuré de données utilisé pour entraîner, valider et tester les modèles d’apprentissage automatique. Il se présente généralement sous forme de tableau où chaque ligne représente une observation (ou un exemple). Les données d'un dataset sont généralement liées à un sujet ou à un projet spécifique. Ils peuvent inclure différents types d'informations, comme des chiffres, du texte, des images etc...
Selon le type d’apprentissage (supervisé, non supervisé, par renforcement), le dataset peut contenir des annotations explicites, des données brutes ou des retours d’interaction. Bien le comprendre et le préparer est une étape cruciale dans tout projet d’intelligence artificielle.
Cette figure illustre un exemple (simplifié) de dataset structuré avec 3 variables explicatives (features) et une étiquette (label). Ce dataset est principalement adapté à un apprentissage supervisé:
Une variable explicative est une caractéristique utilisée pour prédire ou influencer une autre variable appelée variable cible (ou variable dépendante). Elle joue le rôle d’entrée dans un modèle de Machine Learning ou une étude statistique.
Structure d'un dataset
Les datasets sont généralement organisés sous forme de tableaux similaires à des feuilles de calcul ou des tables de bases de données. Dans cette structure :
- Chaque ligne correspond à une observation ou un enregistrement individuel.
- Chaque colonne représente une variable ou un attribut spécifique. Par exemple, dans un dataset de ventes, on peut retrouver des colonnes telles que "ID produit", "Prix", "Date d’achat"...
- Chaque cellule contient une valeur unique. Il s'agit de la donnée elle même.
Les jeux de données peuvent être classés selon leur structure et leur contenu, ce qui influence directement leur traitement et leur usage en Machine Learning :
- Données structurées: Organisées dans un format rigide et prédéfini, comme des tableaux avec lignes et colonnes. Ce type est idéal pour l’analyse statistique et les applications classiques de business intelligence.
- Données non structurées: Ne suivent aucun schéma fixe. Elles incluent des textes libres, des images, des sons ou des vidéos. Ces données sont essentielles pour entraîner des modèles avancés d’intelligence artificielle.
- Données semi-structurées: Représentent un compromis entre les deux types précédents. Elles utilisent des balises ou des marqueurs (comme dans les fichiers JSON ou XML) pour organiser l’information sans respecter une structure relationnelle stricte.
- Données numériques: Composées uniquement de valeurs quantitatives comme des relevés de température, des mesures physiques ou des données financières.
- Données catégorielles: Représentent des groupes ou des classes discrètes, comme le sexe, la couleur, ou le type de produit. Elles sont souvent encodées pour être utilisées dans les modèles de Machine Learning.
- Séries temporelles: Enregistrent des données à intervalles réguliers sur une période donnée. Elles permettent d’analyser les tendances, les variations et les prévisions (par exemple: évolution des cours boursiers, estimation du chiffre d'affaire d'une entreprise...).
Nous aborderons plus loin dans ce cours le processus d’encodage et de transformation des données qui constituent une étapes essentielles avant leur présentation à un modèle de Machine Learning. Ces manipulations font partie intégrante de ce qu’on appelle le feature engineering, c’est-à -dire l’art d’optimiser les variables explicatives pour améliorer la performance des algorithmes.
Où trouver les datasets pour entrainer les modèles de Machine Learning?
Les datasets sont disponibles sur de nombreuses plateformes ouvertes ou spécialisées, selon le domaine d’application. Les plus connues sont:
- Kaggle: Plateforme collaborative avec des milliers de datasets publics, souvent accompagnés de codes (notebooks) et de discussions. Il s'agit certainement de la plateforme la plus populaire au milieu des datascientists.
- UCI Machine Learning Repository: Collection historique de datasets académiques utiles pour tester des algorithmes classiques.
- OpenML: Plateforme ouverte pour partager, explorer et comparer des datasets et des modèles.
- Google Dataset Search: Moteur de recherche de Google qui facilite aux chercheurs de localiser les datasets sur le Web.
- Hugging Face Datasets: Bibliothèque Python pour accéder à des datasets NLP, vision, audio, etc. Compatible avec PyTorch et TensorFlow (deux écosystèmes largement utilisées pour le Deep Learning).
Il existe également des sources institutionnelles et gouvernementales comme:
- data.gouv.fr: Plateforme de diffusion de données publiques (open data) de l'État français lancée la première fois en 2011.
- World Bank Open Data: La plateforme principale de la Banque mondiale pour accéder aux données mondiales sur le développement.
Données dynamiques extraites du Web - Web scraping
Certaines données ne sont pas disponibles sous forme de fichiers statiques prêts à l'emplois, mais peuvent être extraites en temps réel depuis des plateformes en ligne grâce à des APIs ou des techniques de web scraping. Ces méthodes permettent de collecter des informations actualisées.
Les données extraites sont souvent utiles pour des projets en traitement du langage naturel (NLP) ou en analyse comportementale. Les API les plus populaires sont:
- Twitter API: Pour récupérer des tweets, hashtags, profils ou tendances et analyser les opinions ou les dynamiques sociales.
- Reddit API: Utile pour explorer des discussions communautaires, des votes ou des contenus textuels riches.
- Yelp API: Permet d’obtenir des avis de millions de clients à travers le monde, des informations sur les commerces et des données géolocalisées.