Getting the data right is the first step in any AI or machine learning project -- and it's often more time-consuming and complex than crafting the machine learning algorithms themselves. Advanced planning to help streamline and improve data preparation in machine learning can save considerable work down the road. It can also lead to more accurate and adaptable algorithms.
"La préparation des données est l'action de la collecte des données dont vous avez besoin, de les masser dans un format lisible par ordinateur et compréhensible, et de lui poser des questions difficiles pour la vérifier pour l'exhaustivité et les biais", a déclaré Eli Finkelshteyn, fondateur et PDG de Constructeur.IO, qui fabrique un moteur de recherche basé sur l'IA pour les sites Web de produits.
Il est tentant de se concentrer uniquement sur les données elle-même, mais c'est une bonne idée de considérer d'abord le problème que vous essayez de résoudre.Cela peut aider à simplifier les considérations sur le type de données à rassembler, comment s'assurer qu'il correspond à l'objectif prévu et comment le transformer en format approprié pour un type spécifique d'algorithme.
Une bonne préparation des données peut conduire à des algorithmes plus précis et efficaces, tout en facilitant la pivotage de nouveaux problèmes d'analyse, s'adaptez lorsque la précision du modèle dérive et sauve des scientifiques des données et des utilisateurs professionnels beaucoup de temps et d'efforts sur la ligne.
L'importance de la préparation des données dans l'apprentissage automatique
"Être un excellent scientifique des données, c'est comme être un grand chef", a déclaré Donncha Carroll, partenaire de Consultancy Axiom Consulting Partners."Pour créer un repas exceptionnel, vous devez créer une compréhension détaillée de chaque ingrédient et réfléchir à la façon dont ils se compléteront pour produire un plat équilibré et mémorable. Pour un scientifique des données, ce processus de découverte crée les connaissances nécessaires pour mieux comprendreRelations complexes, ce qui compte et ce qui ne fait pas, et comment adapter l'approche de préparation des données nécessaire pour jeter les bases d'un excellent modèle ML. "
Les gestionnaires doivent apprécier la manière dont les données façonnent le développement d'applications machine différemment par rapport au développement des applications coutumières."Contrairement à la programmation traditionnelle basée sur des règles, l'apprentissage automatique se compose de deux parties qui composent l'algorithme exécutable final - l'algorithme ML lui-même et les données à apprendre", a expliqué Felix Wick, vice-président d'entreprise de la science des données à la plate-forme de gestion de la chaîne d'approvisionnementfournisseur bleu là-bas."Mais les données brutes ne sont souvent pas prêtes à être utilisées dans les modèles ML. Ainsi, la préparation des données est au cœur de la ML."
La préparation des données se compose de plusieurs étapes, qui consomment plus de temps que d'autres aspects du développement d'applications d'apprentissage automatique.Une étude 2021 du fournisseur de plate-forme de science des données Anaconda a révélé que les scientifiques des données passent en moyenne 22% de leur temps à la préparation des données, ce qui est plus que le temps moyen passé sur d'autres tâches comme le déploiement de modèles, la formation de modèles et la création de visualisations de données.
Bien qu'il s'agisse d'un processus prolongé, les scientifiques des données doivent prêter attention à diverses considérations lors de la préparation des données pour l'apprentissage automatique.Voici six étapes clés qui font partie du processus.
1. Formulation de problème
La préparation des données pour la construction de modèles d'apprentissage automatique est bien plus que le nettoyage et la structuration des données.Dans de nombreux cas, il est utile de commencer par reculer des données pour réfléchir au problème sous-jacent que vous essayez de résoudre."Pour construire un modèle ML réussi", a conseillé Carroll, "vous devez développer une compréhension détaillée du problème pour informer ce que vous faites et comment vous le faites."
Commencez par passer du temps avec les personnes qui opèrent dans le domaine et ayez une bonne compréhension de l'espace de problème, synthétisant ce que vous apprenez à travers des conversations avec eux et en utilisant votre expérience pour créer un ensemble d'hypothèses qui décrivent les facteurs et les forces impliquées.Cette étape simple est souvent sautée ou sous-investie, a noté Carroll, même si cela peut faire une différence significative pour décider quelles données capturer.Il peut également fournir des conseils utiles sur la façon dont les données doivent être transformées et préparées pour le modèle d'apprentissage automatique.
Un client juridique Axiom, par exemple, voulait savoir comment différents éléments de la prestation de services ont un impact sur la rétention et la croissance du compte.L'équipe de Carroll a collaboré avec les avocats pour développer une hypothèse selon laquelle les comptes servis par les professionnels du droit expérimentés dans leur industrie ont tendance à être plus heureux et à continuer en tant que clients plus longtemps.Pour fournir ces informations comme contribution à un modèle d'apprentissage automatique, ils ont regardé en arrière au cours de la carrière de chaque professionnel et ont utilisé des données de facturation pour déterminer le temps qu'ils ont passé à servir les clients dans cette industrie.
"En fin de compte," a ajouté Carroll, "il est devenu l'un des prédicteurs les plus importants de la rétention des clients et quelque chose que nous n'aurions jamais calculé sans passer du temps à l'avance pour comprendre ce qui compte et comment cela compte."
2. Collecte et découverte de données
Une fois qu'une équipe de science des données a formulé le problème d'apprentissage automatique à résoudre, il doit inventaire les sources de données potentielles au sein de l'entreprise et des tiers externes.Le processus de collecte de données doit considérer non seulement ce que les données sont censées représenter, mais aussi pourquoi elles ont été collectées et ce que cela pourrait signifier, en particulier lorsqu'elle est utilisée dans un contexte différent.Il est également essentiel de prendre en compte des facteurs qui peuvent avoir biaisé les données.
"Pour réduire et atténuer les biais dans les modèles d'apprentissage automatique", a déclaré Sophia Yang, un scientifique principal des données chez Anaconda ", les scientifiques des données doivent se demander où et comment les données ont été collectées pour déterminer s'il y avait des biais importants qui auraient pu être capturés."Pour former un modèle d'apprentissage automatique qui prédit le comportement des clients, par exemple, consultez les données et garantissez que l'ensemble de données a été collecté auprès de personnes, de zones géographiques et de perspectives.
"L'étape la plus importante souvent manquée dans la préparation des données pour l'apprentissage automatique consiste à poser des questions critiques sur les données qui semblent autrement correctes", a déclaré Finkelshteyn.En plus d'enquêter sur les biais, il a recommandé de déterminer s'il y a des raisons de croire que d'importantes données manquantes peuvent conduire à une image partielle de l'analyse effectuée.Dans certains cas, les équipes d'analyse utilisent des données qui fonctionnent techniquement mais produisent des résultats inexacts ou incomplets, et les personnes qui utilisent les modèles résultants s'appuient sur ces apprentissages défectueux sans savoir que quelque chose ne va pas.
3. Exploration des données
Les scientifiques des données doivent bien comprendre les données avec lesquelles ils travaillent au début du processus pour cultiver des informations sur sa signification et son applicabilité."Une erreur courante consiste à se lancer dans la construction de modèles sans prendre le temps de vraiment comprendre les données que vous avez disputées", a déclaré Carroll.
L'exploration des données signifie examiner des éléments tels que le type et la distribution des données contenues dans chaque variable, les relations entre les variables et la façon dont elles varient par rapport au résultat que vous prédisez ou intéressé à réaliser.
Cette étape peut mettre en évidence des problèmes tels que la colinéarité - des variables qui se déplacent ensemble - ou des situations où la normalisation des ensembles de données et d'autres transformations de données est nécessaire.Il peut également faire surface des opportunités d'améliorer les performances du modèle, comme la réduction de la dimensionnalité d'un ensemble de données.
Les visualisations des données peuvent également aider à améliorer ce processus."Cela peut sembler une étape supplémentaire qui n'est pas nécessaire", a conjecturé Yang, "mais nos cerveaux sont excellents pour repérer les modèles ainsi que des données qui ne correspondent pas au modèle."Les scientifiques des données peuvent facilement voir les tendances et explorer correctement les données en créant des visualisations appropriées avant de tirer des conclusions.Les outils de visualisation des données populaires incluent Tableau, Microsoft Power BI, D3.JS et les bibliothèques Python telles que Matplotlib, Bokeh et la pile Holoviz.
4. Nettoyage et validation des données
Diverses techniques de nettoyage et de validation des données peuvent aider les équipes analytiques à identifier et à rectifier des incohérences, des valeurs aberrantes, des anomalies, des données manquantes et d'autres problèmes.Les valeurs de données manquantes, par exemple, peuvent souvent être traitées avec des outils d'imputation qui remplissent les champs vides avec des substituts statistiquement pertinents.
Mais la mèche de Blue Yonder a averti que la signification sémantique est un aspect souvent négligé des données manquantes.Dans de nombreux cas, la création d'une catégorie dédiée pour capturer la signification des valeurs manquantes peut aider.Dans d'autres, les équipes peuvent considérer explicitement les valeurs manquantes comme neutres pour minimiser leur impact sur les modèles d'apprentissage automatique.
Une large gamme d'outils commerciaux et open source peut être utilisé pour nettoyer et valider les données pour l'apprentissage automatique et assurer des données de bonne qualité.Les technologies open source telles que les excellentes attentes et la PANDERA, par exemple, sont conçues pour valider les cadres de données couramment utilisés pour organiser les données d'analyse en tableaux bidimensionnels.Des outils qui valident le code et les workflows de traitement des données sont également disponibles.L'un d'eux est Pytest, qui, a déclaré Yang, les scientifiques des données peuvent utiliser pour appliquer un état d'esprit d'unité de développement logiciel et écrire manuellement des tests de leurs flux de travail.
5. Structuration des données
Une fois que les équipes de science des données sont satisfaites de leurs données, elles doivent considérer les algorithmes d'apprentissage automatique utilisés.La plupart des algorithmes, par exemple, fonctionnent mieux lorsque les données sont divisées en catégories, telles que les tranches d'âge, plutôt que laissées comme des nombres bruts.
Deux astuces de prétraitement des données souvent manquées, a déclaré Wick, sont le binning de données et le lissage des caractéristiques continues.Ces méthodes de régularisation des données peuvent réduire la variance d'un modèle d'apprentissage automatique en l'empêchant d'être induit en erreur par des fluctuations statistiques mineures dans un ensemble de données.
Les données de lutte dans différents groupes peuvent être effectuées soit de manière équidistante, avec la même "largeur" pour chaque bac, soit méthode Equi-statistique, avec approximativement le même nombre d'échantillons dans chaque bac.Il peut également servir de condition préalable à l'optimisation locale des données dans chaque bac pour aider à produire des modèles d'apprentissage automatique à faible biais.
Le lissage des fonctionnalités continues peut aider à "dénicher" des données brutes.Il peut également être utilisé pour imposer des hypothèses causales sur le processus de génération de données en représentant des relations dans les ensembles de données ordonnés en tant que fonctions monotoniques qui préservent l'ordre entre les éléments de données.
D'autres actions que les scientifiques prennent souvent dans la structuration des données pour l'apprentissage automatique comprennent les éléments suivants:
6. Caractéristiques d'ingénierie et de sélection
La dernière étape de la préparation des données avant de développer un modèle d'apprentissage automatique est l'ingénierie des fonctionnalités et la sélection des fonctionnalités.
Wick a déclaré que l'ingénierie des fonctionnalités, qui implique d'ajouter ou de créer de nouvelles variables pour améliorer la sortie d'un modèle, est le principal métier de scientifiques des données et se présente sous diverses formes.Les exemples incluent l'extraction des jours de la semaine ou d'autres variables d'un ensemble de données, de décomposition des variables en caractéristiques distinctes, d'agrégation des variables et de fonctionnalités de transformation en fonction des distributions de probabilité.
Les scientifiques des données doivent également aborder la sélection des fonctionnalités - le choix des fonctionnalités pertinentes pour analyser et éliminer les fonctionnalités non pertinentes.De nombreuses fonctionnalités peuvent sembler prometteuses, mais entraînent des problèmes tels que la formation et le sur-ajustement du modèle étendu, ce qui limite la capacité d'un modèle à analyser avec précision les nouvelles données.Des méthodes telles que la régression de Lasso et la détermination de la pertinence automatique peuvent aider à la sélection des fonctionnalités.