Label Encoder vs One Hot Encoder dans l'apprentissage automatique [2022]

Publié: 2021-01-04

Les modèles d'apprentissage automatique déployés dans de nombreuses applications nécessitent souvent une série de conversions des données catégorielles ou des focus textuels vers la description numérique. Pour répondre aux besoins de conversion, deux types d'encodeurs sont utilisés, à savoir des encodeurs d' étiquettes et un encodeur à chaud .

La partie délicate est de savoir quand choisir l' encodeur d'étiquette et quand choisir un encodeur chaud . Le choix de la décision impacte le modèle et constitue également la base de nombreuses questions généralement posées aux data scientists et aux passionnés de machine learning.

Le choix du codage affecte vivement le quotient de précision du modèle et peut donc conduire à une solution optimisée. Pour comprendre la différence que cela fera sur les modèles, nous devons comprendre les encodeurs d' étiquettes et un encodeur à chaud .

Grâce à un graphe de connaissances en intelligence artificielle et en apprentissage automatique, un aspect que la plupart d'entre nous reconnaîtraient est que la plupart des algorithmes fonctionnent raisonnablement avec des entrées numériques. En conséquence, le défi central auquel est confronté un analyste est de transformer des données textuelles en données numériques et néanmoins d'en faire un modèle en formuler un point.

Table des matières

Encodeur d'étiquettes

Label Encoding cite la transmogrification des étiquettes sous forme numérique pour la transformer en une forme lisible par la machine. Des algorithmes d'apprentissage automatique peuvent ensuite déterminer de manière correcte comment ces étiquettes doivent être gérées. Il s'agit d'une mesure de prétraitement cruciale lors de l'intégration de l'ensemble de données dans l'apprentissage supervisé.

Par exemple, nous avons un ensemble de données qui a une comparaison d'une certaine qualité dans une certaine compétence sous la forme d'une comparaison superlative entre frères et sœurs. L'ensemble de données est bon, meilleur, meilleur. Après avoir appliqué un encodeur d'étiquette, chaque qualité recevra une étiquette 0,1,2 respectivement. L'étiquette de bonne qualité est 0, celle de meilleure qualité est 1 et celle de meilleure qualité est 2.

L'exemple mentionné ci-dessus était basique en termes d'ensemble de données. La conversion peut concerner n'importe quel ensemble de données, qu'il s'agisse de la taille, de l'âge, de la couleur des yeux, du type d'iris, des symptômes, etc.

L'encodage d'étiquettes en Python peut être implémenté à l'aide de la bibliothèque Sklearn. Sklearn fournit une méthode très efficace pour coder les catégories de caractéristiques catégorielles en valeurs numériques. L'encodeur d'étiquettes encode les étiquettes avec un crédit entre 0 et n-1 classes où n est le nombre d'étiquettes diverses. Si une étiquette réitère il nomme le mérite exact à comme nommé avant.

Et pour rénover ce type de données textuelles catégorielles en données compréhensibles par des données numériques de modèle, nous utilisons la classe Label Encoder. Nous devons étiqueter la colonne initiale, importer la classe LabelEncoder de la bibliothèque sklearn, équiper et réorganiser la section initiale des données, puis réhabiliter les données textuelles avec les nouvelles données encodées.

Il s'agit d'une brève description de l'encodage des étiquettes. S'appuyant sur les données, l'encodage des étiquettes lance un nouveau dilemme. Pour illustration, nous avons encodé un tas de noms de royaumes en données numériques. Il s'agit de données entièrement catégorielles et il n'y a aucune association, d'aucune moyenne, entre les lignes.

Pour résoudre cet obstacle, il existe un besoin d'adopter une nouvelle technique de codage. Le dilemme ici est qu'il y a plusieurs quantités dans une section similaire, le prototype jugera mal les données comme étant dans le même ordre, 0 < 1 < 2. Mais ce n'est pas du tout le problème. Pour atténuer cette difficulté, nous utilisons un encodeur à chaud.

Doit lire : Idées de projets d'apprentissage automatique

Un encodeur chaud

One-Hot Encoding est un autre protocole important pour traiter les variables catégorielles. Il établit uniquement les caractéristiques suivantes établies sur le volume de valeurs distinctes dans la caractéristique catégorielle. Des valeurs distinctes entières dans la classification seront agrandies comme un aperçu. Un codage à chaud prend une section qui contient des données catégorielles, qui a une étiquette existante codée, puis divise la section en plusieurs sections. Les volumes sont reconstruits par 1s et 0s, en comptant sur quelle section a quelle valeur.

L'encodeur à chaud n'approuve pas les tableaux 1-D. L'entrée doit toujours être un tableau 2D.

Les données ratifiées par l'encodeur ne doivent pas inclure de chaînes.

Une grande partie des algorithmes d'apprentissage automatique dominants ne peuvent pas être liés à des données catégorielles. Au contraire, les données catégorielles doivent être modifiées en données numériques. L'encodage à chaud est l'une des stratégies utilisées pour effectuer cette conversion. Cette technique est principalement utilisée lorsque les méthodes d'apprentissage en profondeur doivent être corrélées à des problèmes de succession séquentielle.

Le codage à chaud est pratiquement la manifestation de variables catégorielles sous forme de vecteurs binaires. Les valeurs catégorielles sont initialement mises en correspondance avec des valeurs entières. Chaque valeur entière est illustrée par un vecteur binaire composé uniquement de 0.

Mais que se passera-t-il si nous avons plusieurs dossiers à gérer ?

Scikit-learn est sensible à la disposition des sections, donc si l'ensemble de données d'apprentissage et les ensembles de données de test contiennent des contradictions, les résultats seront une absurdité. Cela pourrait se produire si une catégorie avait plusieurs nombres de valeurs dans les données d'apprentissage par rapport aux données de test.

Assurez-vous que les données de test sont codées de la même manière que les données d'apprentissage avec la commande d'alignement. La commande d'alignement donne lieu à la sécurité que les sections apparaissent dans le décret exact dans les deux ensembles de données.

Lire : Modèles d'apprentissage automatique

Conclusion

Le globe est bourré de données catégorielles. Un analyste sera un scientifique des données beaucoup plus bénéfique si vous savez comment utiliser ces données. Par conséquent, quiconque cherche à travailler sur de tels modèles doit bien connaître l'utilisation de l' encodeur d'étiquettes et d' un encodeur à chaud dans l'apprentissage automatique.

Si vous souhaitez en savoir plus sur l'apprentissage automatique, consultez le diplôme PG en apprentissage automatique et IA de IIIT-B & upGrad, conçu pour les professionnels en activité et offrant plus de 450 heures de formation rigoureuse, plus de 30 études de cas et missions, IIIT- Statut B Alumni, plus de 5 projets de synthèse pratiques et aide à l'emploi avec les meilleures entreprises.

Quels algorithmes nécessitent l'utilisation d'un encodage à chaud ?

Un processus de codage à chaud est utilisé pour traiter les variables catégorielles. Ce processus convertit les variables catégorielles pour faciliter l'utilisation des variables par les algorithmes d'apprentissage automatique pour une meilleure prédiction. Les algorithmes qui ne prennent que des valeurs numériques en entrée ne nécessitent qu'un seul processus d'encodage à chaud pour convertir les variables catégorielles. Certains de ces algorithmes d'apprentissage automatique sont la régression logistique, la régression linéaire, la machine à vecteurs de support, etc. Cependant, certains algorithmes, comme Markov Chain, Naive Bayes, etc., ne nécessitent pas d'encodage car ils sont capables de traiter des distributions discrètes conjointes.

Quand est-il préférable d'utiliser un encodage à chaud en apprentissage profond ?

One Hot Encoding est une puissante approche de transformation et de prétraitement des données qui aide les modèles ML à comprendre les données fournies. Fondamentalement, un encodage à chaud est utilisé lorsque l'algorithme ML est incapable de travailler avec des variables catégorielles, ainsi, un encodage à chaud les convertit en une forme appropriée. L'utilisation d'un encodage à chaud est la plus préférée lorsque les caractéristiques des variables catégorielles à convertir ne sont pas ordinales. De plus, un encodage à chaud fonctionne efficacement lorsque le nombre d'entités catégorielles présentes dans l'ensemble de données donné est très inférieur.

Que signifie le terme Dummy Variable Trap ?

Le piège de la variable fictive est l'un des problèmes rencontrés par le processus d'encodage à chaud. Lorsqu'un ensemble de données catégorielles a des variables fortement liées, cela se produit. En conséquence, le résultat d'une variable peut être facilement anticipé en utilisant les variables restantes lorsque la procédure de codage à chaud est utilisée. À la suite du Dummy Variable Trap, un autre problème connu sous le nom de multicolinéarité se pose.