Pour de nombreuses organisations, les données constituent un tsunami d'informations. Il s'agit d'un ensemble désordonné duquel il est impossible de tirer un quelconque avantage. Grâce à l'ingénierie des caractéristiques, les entreprises peuvent donner du sens à leurs données et les transformer en avantage.
Le terme « feature engineering », ou ingénierie des caractéristiques, fait référence au processus qui consiste à appliquer des connaissances du domaine aux données en générant des caractéristiques qui transforment les données pour les rendre plus faciles à comprendre et interpréter. Cela se produit généralement après le processus de collecte et de nettoyage des données, et avant l'entraînement des modèles de machine learning.
La feature engineering fait souvent partie du workflow ML de résolution des problématiques :
- Collecter des données
- Les nettoyer
- Effectuer l'ingénierie des caractéristiques
- Définir le modèle
- Entraîner le modèle
- Exécuter des tests
- Prédire les résultats (sortie)
La plupart des informations utilisées par l'intelligence artificielle (IA) sont contenues dans des tables. Chaque ligne est une observation, chaque colonne une caractéristique. Malheureusement, les données sont souvent compliquées, hors sujet, absentes ou en double.
L'ingénierie des caractéristiques fournit un processus pour transformer des données dans un format qui représente mieux le problème sous-jacent. Le but est de rendre les données plus faciles à assimiler en les plaçant dans des catégories afin de mieux refléter un ensemble limité de résultats ou en remplaçant systématiquement les valeurs manquantes par des estimations appropriées.
This process of transforming data with feature engineering is often as much of an art as a science. For example, a
business may want to predict instances of fraud. Raw timestamped transactions could be entered into AI software, but
the output may not be meaningful or actionable. However, a bit of domain expertise helps the data scientist. The
scientist, using their knowledge of retail, creates a new feature that differentiates between the work week and
weekends, as there are always spikes in retail activity during the weekend. Once that context is manually established,
models are better able to spot anomalies, with fewer false positives. That’s the ‘art’ of feature engineering.
Bien exécuté, le feature engineering amplifie la puissance prédictive des algorithmes de machine learning (ML). Pour ce faire, il fabrique des caractéristiques à partir des données brutes qui alimentent et facilitent le processus ML. C'est ce qui peut différencier un bon modèle de données d'un mauvais.
Plus précisément, la feature engineering comporte les étapes suivantes :
- Réfléchir à de nouvelles caractéristiques possibles pour le modèle
- Créer les caractéristiques
- Tester l'efficacité de ces caractéristiques avec le modèle
- Ajuster les caractéristiques, répéter ou revenir en arrière si besoin
- Faire en sorte que les caractéristiques fonctionnent bien avec le modèle
Feature engineering should not be considered a one-time step. It can be used throughout the data science process to
either clean data or enhance existing results. Feature engineering is an iterative process that is interwoven between
data selection, model evaluation, and re-evaluation. The process continues until the data is in a format that is
ingestible by ML models and enables those models to output actionable results.
Exemples de feature engineering pour le machine learning
Les algorithmes de ML apprennent des solutions à des problèmes spécifiques en utilisant les données de l'échantillon qui leur est présenté. L'ingénierie des caractéristiques aide une entreprise à obtenir la meilleure représentation de ses données d'entraînement pour donner au modèle la possibilité d'apprendre la solution pour tout problème spécifique.
Dans la feature engineering, la représentation et les relations sont importantes, et il existe quatre stratégies d'ingénierie courantes :
- Rééchantillonnage de données déséquilibrées
- Création de nouvelles caractéristiques
- Gestion des valeurs manquantes
- Détection des valeurs aberrantes
Rééchantillonnage des données déséquilibrées
À l'état brut, les données sont généralement déséquilibrées. La plupart du temps, cela peut être facilement résolu à l'aide de techniques de validation.Mais parfois, le déséquilibre peut être important, ce qui affecte les résultats. L'ingénierie des caractéristiques peut résoudre ce problème en générant artificiellement des échantillons pour les groupes minoritaires. Ces échantillons peuvent être utilisés pour pallier la variabilité ou l'incertitude existant dans les données.
Création de nouvelles caractéristiques
La création de nouvelles caractéristiques peut consister simplement à réitérer des données dans un autre format pour les adapter au contexte de la question. Par exemple, une entreprise peut transformer en temps de trajet total des heures de départ et d'arrivée des trains. Combiner des horaires dans une nouvelle caractéristique unique permet à l'algorithme de s'adapter aux besoins et de produire des résultats plus exploitables.
Users can also combine two moderately useful features or two features that by themselves are not useful on their own
to create one feature that helps the machine learn better. An example of this is in healthcare where a variety of risk
factors are present but, on their own, don’t indicate a likelihood of a medical event. For example, age, hypertension,
and being a smoker individually don’t predict having a stroke, but the three factors together do.
La sélection des caractéristiques consiste simplement à choisir les caractéristiques indépendantes qui correspondent le mieux à la caractéristique dépendante. Tous ces éléments se combinent pour créer le meilleur modèle prédictif possible. Les cartes thermiques, la sélection univariée et la méthode ExtraTreesClassifier sont toutes des méthodes éprouvées pour identifier les caractéristiques qui s'associent bien.
L'ingénierie des caractéristiques permet également de choisir les compartiments à créer afin que la machine puisse mapper convenablement les données pertinentes dans le bon compartiment. Cela inclut la suppression et l'élimination des caractéristiques et des éléments indésirables, ce qui contribue à un meilleur fonctionnement du modèle.
Gestion des valeurs manquantes
Missing values are a frequent problem in data, but there are many methods to adequately resolving them during the
data cleansing process.
Il existe également plusieurs techniques d'ingénierie avancée pouvant utiliser les données existantes pour recréer précisément les valeurs manquantes et compléter le jeu de données en veillant à ce que les données soient dans un format plus exploitable pour les modèles.
L'une des méthodes consiste à supprimer des données. Grâce à elle, les ingénieurs peuvent supprimer les échantillons contenant des valeurs manquantes. Cela fonctionne mieux lorsque seuls quelques échantillons sont incomplets. Plus un jeu de données contient de valeurs manquantes, plus cette méthode devient problématique.
Une autre technique consiste à remplacer les données manquantes par une variable de la moyenne ou de la médiane. Bien que cette approche résolve le problème des données manquantes, elle peut fausser les résultats. Si les données ont une distribution gaussienne, les résultats manquants peuvent être imputés (un modèle dans un modèle) de sorte qu'ils correspondent à la distribution normale.
Il s'agit des deux principales méthodes. Bien qu'il existe d'autres méthodes permettant de gérer les valeurs manquantes, l'approche générale consiste à supprimer des données ou à fournir des valeurs estimées.
Détection des valeurs inhabituelles
La détection des valeurs inhabituelles est un autre processus qui franchit la barrière entre le nettoyage et l'ingénierie. Lors de l'étape de nettoyage des données, l'IA peut simplement supprimer les valeurs inhabituelles, suggérant qu'il s'agit d'erreurs, ou d'un échantillon non pertinent pour les données. Cependant, c'est un outil peu efficace qui peut passer à côté d'informations essentielles.
Dans la Data Science, les principaux facteurs qui influencent les performances d'un modèle sont le maniement et le traitement des données. Un modèle sans une gestion appropriée des données aboutit à une précision d'environ 70 %. Avec l'ingénierie des caractéristiques, les performances de ce modèle peuvent considérablement s'améliorer.
Cependant, une bonne compréhension des données reste nécessaire pour l'ingénierie des caractéristiques, car elle permet aux data scientists de définir des seuils où les données restent logiques. Par exemple, une entreprise peut avoir un client âgé de 100 ans, mais certainement pas de 1 000 ans. Une machine peut ignorer les deux points de données, alors qu'un data scientist sait que le zéro supplémentaire est probablement une erreur.
Cette partie du processus d'ingénierie des caractéristiques peut être longue et frustrante, et s'appuyer sur les compétences et l'expertise d'un data scientist. C'est pourquoi certains considèrent l'ingénierie des caractéristiques en ML comme une forme d'art.
Avantages de la feature engineering
Comme le dit l'adage, la qualité des modèles d'IA et de ML dépend de celle des données qu'ils reçoivent. L'intégration de l'ingénierie des caractéristiques dans le processus de modélisation peut garantir que la qualité et la pertinence que les modèles reçoivent les aident à résoudre des problèmes concrets. Voici deux aspects importants à retenir :
- Bien définir la problématique : utiliser les bonnes mesures objectives pour estimer la précision du résultat.
- Interdépendances dans le modèle : structures sous-jacentes inhérentes aux données de l'entreprise. Une bonne structure fournit toujours de bien meilleurs résultats.
Une fois ces éléments pris en compte lors de la sélection ou de la conception des caractéristiques, les avantages de l'ingénierie des caractéristiques sont :
- Plus de flexibilité et moins de complexité dans les modèles
- Traitement plus rapide
- Modèles clairs et faciles à comprendre
- Modèles plus simples et plus faciles à gérer
- Meilleure compréhension du problème sous-jacent
- Meilleure représentation de toutes les données disponibles, utiles pour caractériser le problème sous-jacent
Défis de la feature engineering
Les données sont souvent non structurées et mal organisées, avec des valeurs inhabituelles, en double et manquantes. Étant donné que les données proviennent de sources multiples, les valeurs redondantes et dupliquées sont inévitables. Les données étant le point de départ du ML, l'ingénierie des caractéristiques doit relever les défis suivants :
- D'énormes quantités de données provenant de sources multiples qui doivent être nettoyées, agrégées et analysées
- Les données doivent être organisées dans une structure reconnaissable que les modèles et outils peuvent exploiter
- Le contexte métier et les processus doivent être compris pour discerner les schémas et faciliter l'analyse
- Les insights fournis doivent être pertinents et exploitables pour l'entreprise
- Les données doivent être présentées d'une manière facile à comprendre, par exemple dans des tableaux de bord ou des graphiques
- Les délais peuvent être un problème quand les résultats prennent tellement de temps qu'ils ne sont plus applicables
- Les processus demandent beaucoup de travail et doivent souvent être exécutés par un Data Scientist
L'avenir de la feature engineering
Les technologies modernes améliorent les performances de l'ingénierie des caractéristiques. En tant que sous-ensemble du ML, le deep learning est en passe de redéfinir le processus. Les auto-encodeurs et les machines de Boltzmann restreintes sont prometteurs, car ils apprennent automatiquement la représentation abstraite des caractéristiques.
Plus les ordinateurs « pensent » comme des êtres humains, plus leur ingénierie des caractéristiques devient utile. Le fait de confier à des machines des tâches très manuelles faites par les Data Scientist permet de réduire les contraintes de temps et de coût. Cela signifie que les types de données, telles que les images, les vidéos, les objets et la parole, qui ne sont pas facilement compris par l'IA traditionnelle qui s'appuie sur des tables, pourront prochainement être interprétés correctement par les machines.
Les nouveaux modèles de ML offrent de plus en plus des processus ayant des capacités de raisonnement humain, une meilleure analyse des caractéristiques et une plus grande précision des modèles.
Mais pour l'instant, la balle est toujours dans le camp des Data Scientists. Les meilleures interprétations des données nécessitent non seulement une bonne connaissance de la Data Science, mais aussi une connaissance du secteur ou du domaine, ce qui fait de ce sous-ensemble d'IA un domaine spécialisé. L'interprétation des données est essentielle pour les entreprises qui veulent des prévisions précises, et c'est le meilleur moyen d'obtenir des résultats valides.
Votre entreprise a-t-elle besoin de meilleures prévisions ?
Le module de machine learning d'Alteryx comprend la méthode Deep Feature Synthesis. Elle permet de créer des modèles plus précis en comprenant les relations dans vos données et en détectant des caractéristiques de grande qualité.
Ces algorithmes aident les entreprises qui ont besoin de modèles et de prévisions justes, car ils permettent d'améliorer les explications, la prise de décision et les projets.
Terme suivant
AutoMLRessources connexes
Livre blanc
Meilleures pratiques de déploiement d'Alteryx Server
- Préparation et analytique des données
- Data Science et machine learning
- Server
Cas d'usage
Détection de la fraude financière
- Maturité analytique
- Data Science et machine learning
- Finance