Apprenez l’ingénierie des fonctionnalités pour la science des données et le ML en 5 minutes

Êtes-vous prêt à apprendre l’ingénierie des fonctionnalités pour l’apprentissage automatique et la science des données ? Vous êtes au bon endroit !

L’ingénierie des fonctionnalités est une compétence essentielle pour extraire des informations précieuses à partir des données, et dans ce guide rapide, je vais la décomposer en morceaux simples et compréhensibles. Alors, plongeons-nous et commençons votre voyage vers la maîtrise de l’extraction de fonctionnalités !

Table des matières

Qu’est-ce que l’ingénierie des fonctionnalités ?

Lorsque vous créez un modèle d’apprentissage automatique lié à un problème commercial ou expérimental, vous fournissez des données d’apprentissage dans des colonnes et des lignes. Dans le domaine de la science des données et du développement ML, les colonnes sont appelées attributs ou variables.

Les données granulaires ou les lignes situées en dessous de ces colonnes sont appelées observations ou instances. Les colonnes ou attributs sont les entités d’un ensemble de données brutes.

Ces fonctionnalités brutes ne sont pas suffisantes ni optimales pour entraîner un modèle ML. Pour réduire le bruit des métadonnées collectées et maximiser les signaux uniques des fonctionnalités, vous devez transformer ou convertir les colonnes de métadonnées en fonctionnalités fonctionnelles via l’ingénierie des fonctionnalités.

Exemple 1 : Modélisation financière

Données brutes pour la formation du modèle ML

Par exemple, dans l’image ci-dessus d’un exemple d’ensemble de données, les colonnes de A à G sont des entités. Les valeurs ou les chaînes de texte dans chaque colonne le long des lignes, comme les noms, le montant du dépôt, les années de dépôt, les taux d’intérêt, etc., sont des observations.

Dans la modélisation ML, vous devez supprimer, ajouter, combiner ou transformer des données pour créer des fonctionnalités significatives et réduire la taille de la base de données globale de formation du modèle. Il s’agit de l’ingénierie des fonctionnalités.

Exemple d’ingénierie de fonctionnalités

Dans le même ensemble de données mentionné précédemment, des fonctionnalités telles que le total de la durée d’occupation et le montant des intérêts sont des entrées inutiles. Ceux-ci prendront simplement plus de place et confondront le modèle ML. Ainsi, vous pouvez réduire deux fonctionnalités sur un total de sept fonctionnalités.

Étant donné que les bases de données des modèles ML contiennent des milliers de colonnes et des millions de lignes, la réduction de deux fonctionnalités a un impact considérable sur le projet.

Exemple 2 : créateur de liste de lecture musicale AI

Parfois, vous pouvez créer une toute nouvelle fonctionnalité à partir de plusieurs fonctionnalités existantes. Supposons que vous créiez un modèle d’IA qui créera automatiquement une liste de lecture de musique et de chansons en fonction de l’événement, des goûts, du mode, etc.

Maintenant, vous avez collecté des données sur les chansons et la musique provenant de diverses sources et créé la base de données suivante :

Il existe sept fonctionnalités dans la base de données ci-dessus. Cependant, puisque votre objectif est d’entraîner le modèle ML pour décider quelle chanson ou musique convient à quel événement, vous pouvez regrouper des fonctionnalités telles que le genre, la note, les rythmes, le tempo et la vitesse dans une nouvelle fonctionnalité appelée Applicabilité.

Désormais, soit par expertise, soit par identification de modèles, vous pouvez combiner certaines instances de fonctionnalités pour déterminer quelle chanson convient à quel événement. Par exemple, des observations telles que Jazz, 4.9, X3, Y3 et Z1 indiquent au modèle ML que la chanson Cras maximus justo et devrait figurer dans la liste de lecture de l’utilisateur s’il recherche une chanson pour dormir.

Types de fonctionnalités dans l’apprentissage automatique

Caractéristiques catégorielles

Il s’agit d’attributs de données qui représentent des catégories ou des étiquettes distinctes. Vous devez utiliser ce type pour baliser des ensembles de données qualitatives.

#1. Caractéristiques catégorielles ordinales

Les fonctionnalités ordinales ont des catégories avec un ordre significatif. Par exemple, les niveaux d’éducation comme le lycée, le baccalauréat, la maîtrise, etc. ont une distinction claire dans les normes, mais il n’y a pas de différences quantitatives.

#2. Caractéristiques catégorielles nominales

Les caractéristiques nominales sont des catégories sans aucun ordre inhérent. Des exemples pourraient être les couleurs, les pays ou les types d’animaux. De plus, il n’y a que des différences qualitatives.

Caractéristiques de la baie

Ce type de fonctionnalité représente des données organisées en tableaux ou en listes. Les data scientists et les développeurs de ML utilisent souvent les fonctionnalités de tableau pour gérer des séquences ou intégrer des données catégorielles.

#1. Intégration des fonctionnalités du tableau

L’intégration de tableaux convertit les données catégorielles en vecteurs denses. Il est couramment utilisé dans les systèmes de traitement du langage naturel et de recommandation.

#2. Liste des fonctionnalités du tableau

Les tableaux de listes stockent des séquences de données, telles que des listes d’éléments dans une commande ou l’historique des actions.

Caractéristiques numériques

Ces fonctionnalités de formation ML sont utilisées pour effectuer des opérations mathématiques car ces fonctionnalités représentent des données quantitatives.

#1. Caractéristiques numériques d’intervalle

Les fonctionnalités d’intervalle ont des intervalles cohérents entre les valeurs mais pas de véritable point zéro (par exemple, les données de surveillance de la température). Ici, zéro signifie température glaciale, mais l’attribut est toujours là.

#2. Caractéristiques numériques des ratios

Les caractéristiques de rapport ont des intervalles cohérents entre les valeurs et un véritable point zéro. Les exemples incluent l’âge, la taille et le revenu.

Importance de l’ingénierie des fonctionnalités dans le ML et la science des données

  • Une extraction efficace des caractéristiques améliore la précision du modèle, rendant les prédictions plus fiables et plus précieuses pour la prise de décision.
  • Une sélection minutieuse des fonctionnalités élimine les attributs non pertinents ou redondants, simplifiant ainsi les modèles et économisant les ressources informatiques.
  • Des fonctionnalités bien conçues révèlent des modèles de données, aidant les data scientists à comprendre les relations complexes au sein de l’ensemble de données.
  • L’adaptation des fonctionnalités à des algorithmes spécifiques peut optimiser les performances du modèle selon diverses méthodes d’apprentissage automatique.
  • Des fonctionnalités bien conçues permettent une formation plus rapide des modèles et une réduction des coûts de calcul, rationalisant ainsi le flux de travail de ML.
  • Nous explorerons ensuite le processus étape par étape d’ingénierie des fonctionnalités.

    Processus d’ingénierie des fonctionnalités étape par étape

  • Collecte de données : la première étape consiste à collecter les données brutes provenant de diverses sources, telles que des bases de données, des fichiers ou des API.
  • Nettoyage des données : une fois que vous avez vos données, vous devez les nettoyer en identifiant et en rectifiant les erreurs, les incohérences ou les valeurs aberrantes.
  • Gestion des valeurs manquantes : les valeurs manquantes peuvent brouiller le magasin de fonctionnalités du modèle ML. Si vous les ignorez, votre modèle sera biaisé. Vous devez donc rechercher davantage pour saisir les valeurs manquantes ou les omettre soigneusement sans affecter le modèle avec biais.
  • Encodage des variables catégorielles : vous devez convertir les variables catégorielles au format numérique pour les algorithmes d’apprentissage automatique.
  • Mise à l’échelle et normalisation : la mise à l’échelle garantit que les caractéristiques numériques sont à une échelle cohérente. Cela empêche les fonctionnalités avec des valeurs élevées de dominer le modèle d’apprentissage automatique.
  • Sélection des fonctionnalités : cette étape permet d’identifier et de conserver les fonctionnalités les plus pertinentes, réduisant ainsi la dimensionnalité et améliorant l’efficacité du modèle.
  • Création de fonctionnalités : parfois, de nouvelles fonctionnalités peuvent être conçues à partir de fonctionnalités existantes pour capturer des informations précieuses.
  • Transformation des fonctionnalités : les techniques de transformation telles que les logarithmes ou les transformations de puissance peuvent rendre vos données plus adaptées à la modélisation.
  • Nous discuterons ensuite des méthodes d’ingénierie des fonctionnalités.

    Méthodes d’ingénierie des fonctionnalités

    #1. Analyse en composantes principales (ACP)

    La PCA simplifie les données complexes en trouvant de nouvelles fonctionnalités non corrélées. C’est ce qu’on appelle les composants principaux. Vous pouvez l’utiliser pour réduire la dimensionnalité et améliorer les performances du modèle.

    #2. Caractéristiques polynomiales

    Créer des fonctionnalités polynomiales signifie ajouter des puissances de fonctionnalités existantes pour capturer des relations complexes dans vos données. Cela aide votre modèle à comprendre les modèles non linéaires.

    #3. Gestion des valeurs aberrantes

    Les valeurs aberrantes sont des points de données inhabituels qui peuvent affecter les performances de vos modèles. Vous devez identifier et gérer les valeurs aberrantes pour éviter des résultats faussés.

    #4. Transformation du journal

    La transformation logarithmique peut vous aider à normaliser les données avec une distribution asymétrique. Il réduit l’impact des valeurs extrêmes pour rendre les données plus adaptées à la modélisation.

    #5. Intégration de voisin stochastique distribué t (t-SNE)

    Le t-SNE est utile pour visualiser des données de grande dimension. Il réduit la dimensionnalité et rend les clusters plus apparents tout en préservant la structure des données.

    Dans cette méthode d’extraction de fonctionnalités, vous représentez les points de données sous forme de points dans un espace de dimension inférieure. Ensuite, vous placez les points de données similaires dans l’espace de grande dimension d’origine et êtes modélisés pour qu’ils soient proches les uns des autres dans la représentation de dimension inférieure.

    Elle diffère des autres méthodes de réduction de dimensionnalité en préservant la structure et les distances entre les points de données.

    #6. Encodage à chaud

    L’encodage One-Hot transforme les variables catégorielles au format binaire (0 ou 1). Ainsi, vous obtenez de nouvelles colonnes binaires pour chaque catégorie. Le codage à chaud rend les données catégorielles adaptées aux algorithmes ML.

    #7. Encodage du nombre

    L’encodage du nombre remplace les valeurs catégorielles par le nombre de fois qu’elles apparaissent dans l’ensemble de données. Il peut capturer des informations précieuses à partir de variables catégorielles.

    Dans cette méthode d’ingénierie des fonctionnalités, vous utilisez la fréquence ou le nombre de chaque catégorie comme nouvelle fonctionnalité numérique au lieu d’utiliser les étiquettes de catégorie d’origine.

    #8. Standardisation des fonctionnalités

    Les caractéristiques des valeurs plus élevées dominent souvent les caractéristiques des petites valeurs. Ainsi, le modèle ML peut facilement être biaisé. La normalisation évite de telles causes de biais dans un modèle d’apprentissage automatique.

    Le processus de normalisation implique généralement les deux techniques courantes suivantes :

    • Standardisation du score Z : cette méthode transforme chaque caractéristique afin qu’elle ait une moyenne (moyenne) de 0 et un écart type de 1. Ici, vous soustrayez la moyenne de la caractéristique de chaque point de données et divisez le résultat par l’écart type.
    • Mise à l’échelle Min-Max : la mise à l’échelle Min-Max transforme les données dans une plage spécifique, généralement entre 0 et 1. Vous pouvez y parvenir en soustrayant la valeur minimale de la caractéristique de chaque point de données et en la divisant par la plage.

    #9. Normalisation

    Grâce à la normalisation, les caractéristiques numériques sont mises à l’échelle selon une plage commune, généralement comprise entre 0 et 1. Cela maintient les différences relatives entre les valeurs et garantit que toutes les caractéristiques sont sur un pied d’égalité.

    #1. Outils de fonctionnalités

    Outils de fonctionnalités est un framework Python open source qui crée automatiquement des fonctionnalités à partir d’ensembles de données temporelles et relationnelles. Il peut être utilisé avec des outils que vous utilisez déjà pour développer des pipelines ML.

    La solution utilise Deep Feature Synthesis pour automatiser l’ingénierie des fonctionnalités. Il dispose d’une bibliothèque de fonctions de bas niveau pour créer des fonctionnalités. Featuretools dispose également d’une API, qui est également idéale pour une gestion précise du temps.

    #2. ChatBoost

    Si vous recherchez une bibliothèque open source combinant plusieurs arbres de décision pour créer un modèle prédictif puissant, optez pour ChatBoost. Cette solution offre des résultats précis avec des paramètres par défaut, vous n’avez donc pas à passer des heures à affiner les paramètres.

    CatBoost vous permet également d’utiliser des facteurs non numériques pour améliorer vos résultats d’entraînement. Grâce à lui, vous pouvez également vous attendre à obtenir des résultats plus précis et des prédictions rapides.

    #3. Moteur de fonctionnalités

    Moteur de fonctionnalités est une bibliothèque Python avec plusieurs transformateurs et certaines fonctionnalités que vous pouvez utiliser pour les modèles ML. Les transformateurs qu’il inclut peuvent être utilisés pour la transformation de variables, la création de variables, les fonctionnalités datetime, le prétraitement, le codage catégoriel, le plafonnement ou la suppression des valeurs aberrantes et l’imputation de données manquantes. Il est capable de reconnaître automatiquement les variables numériques, catégorielles et date/heure.

    Ressources d’apprentissage sur l’ingénierie des fonctionnalités

    Cours en ligne et classes virtuelles

    #1. Ingénierie de fonctionnalités pour l’apprentissage automatique en Python : Datacamp

    Ce camp de données cours sur l’ingénierie des fonctionnalités pour l’apprentissage automatique en Python vous permet de créer de nouvelles fonctionnalités qui améliorent les performances de votre modèle Machine Learning. Il vous apprendra à effectuer l’ingénierie des fonctionnalités et la fusion des données pour développer des applications ML sophistiquées.

    #2. Ingénierie de fonctionnalités pour l’apprentissage automatique : Udemy

    Du Cours d’ingénierie des fonctionnalités pour l’apprentissage automatiquevous apprendrez des sujets tels que l’imputation, le codage de variables, l’extraction de fonctionnalités, la discrétisation, la fonctionnalité datetime, les valeurs aberrantes, etc. Les participants apprendront également à travailler avec des variables asymétriques et à gérer des catégories peu fréquentes, invisibles et rares.

    #3. Ingénierie des fonctionnalités : Pluralsight

    Ce Vue plurielle Le parcours d’apprentissage comprend un total de six cours. Ces cours vous aideront à découvrir l’importance de l’ingénierie des fonctionnalités dans le flux de travail ML, les moyens d’appliquer ses techniques et l’extraction de fonctionnalités à partir de texte et d’images.

    #4. Sélection de fonctionnalités pour l’apprentissage automatique : Udemy

    Avec l’aide de ceci Udemy Au cours de ce cours, les participants peuvent apprendre le brassage de fonctionnalités, les méthodes de filtrage, de wrapper et intégrées, l’élimination de fonctionnalités récursives et la recherche exhaustive. Il aborde également les techniques de sélection de fonctionnalités, notamment celles avec Python, Lasso et les arbres de décision. Ce cours contient 5,5 heures de vidéo à la demande et 22 articles.

    #5. Ingénierie des fonctionnalités pour l’apprentissage automatique : un excellent apprentissage

    Ce cours de Excellent apprentissage vous présentera l’ingénierie des fonctionnalités tout en vous apprenant le suréchantillonnage et le sous-échantillonnage. De plus, il vous permettra d’effectuer des exercices pratiques sur le réglage du modèle.

    #6. Ingénierie des fonctionnalités : Coursera

    Rejoins Coursera cours pour utiliser BigQuery ML, Keras et TensorFlow pour effectuer l’ingénierie des fonctionnalités. Ce cours de niveau intermédiaire couvre également les pratiques avancées d’ingénierie des fonctionnalités.

    Livres numériques ou reliés

    #1. Ingénierie des fonctionnalités pour l’apprentissage automatique

    Ce livre vous apprend à transformer des fonctionnalités en formats pour des modèles d’apprentissage automatique.

    Il vous apprend également les principes d’ingénierie des fonctionnalités et leur application pratique par le biais d’exercices.

    #2. Ingénierie et sélection des fonctionnalités

    En lisant ce livre, vous apprendrez les méthodes de développement de modèles prédictifs à différentes étapes.

    À partir de là, vous pouvez apprendre des techniques pour trouver les meilleures représentations de prédicteurs pour la modélisation.

    #3. L’ingénierie des fonctionnalités simplifiée

    Le livre est un guide pour améliorer le pouvoir de prédiction des algorithmes de ML.

    Il vous apprend à concevoir et à créer des fonctionnalités efficaces pour les applications basées sur le ML en offrant des informations approfondies sur les données.

    #4. Bookcamp d’ingénierie des fonctionnalités

    Ce livre traite d’études de cas pratiques pour vous enseigner des techniques d’ingénierie de fonctionnalités pour de meilleurs résultats de ML et une gestion améliorée des données.

    La lecture de ceci vous permettra d’obtenir de meilleurs résultats sans passer beaucoup de temps à affiner les paramètres ML.

    #5. L’art de l’ingénierie des fonctionnalités

    La ressource fonctionne comme un élément essentiel pour tout data scientist ou ingénieur en apprentissage automatique.

    Le livre utilise une approche interdomaine pour discuter de graphiques, de textes, de séries chronologiques, d’images et d’études de cas.

    Conclusion

    Voici donc comment vous pouvez effectuer l’ingénierie des fonctionnalités. Maintenant que vous connaissez la définition, le processus par étapes, les méthodes et les ressources d’apprentissage, vous pouvez les mettre en œuvre dans vos projets ML et constater le succès !

    Ensuite, consultez l’article sur l’apprentissage par renforcement.