Label Encoder vs. One Hot Encoder beim maschinellen Lernen [2022]

Veröffentlicht: 2021-01-04

Die in zahlreichen Anwendungen eingesetzten Modelle des maschinellen Lernens erfordern oft eine Reihe von Konvertierungen von kategorischen Daten oder den Textschwerpunkten in die numerische Beschreibung. Um den Umwandlungserfordernissen nachzukommen, werden zwei Typen von Codierern verwendet, nämlich Label- Codierer und ein Hot-Codierer .

Der knifflige Teil ist, wann man einen Label-Encoder und wann man einen Hot-Encoder wählt . Die Wahl der Entscheidung wirkt sich auf das Modell aus und bildet auch die Grundlage für viele Fragen, die Data Scientists und Enthusiasten des maschinellen Lernens allgemein gestellt werden.

Die Wahl der Codierung wirkt sich stark auf den Genauigkeitsquotienten des Modells aus und kann daher zu einer optimierten Lösung führen. Um den Unterschied bei Modellen zu verstehen, müssen wir Label-Encoder und einen Hot-Encoder verstehen .

Durch einen Wissensgraphen in künstlicher Intelligenz und maschinellem Lernen würden die meisten von uns erkennen, dass die meisten Algorithmen sinnvoll mit numerischen Eingaben arbeiten. Dementsprechend besteht die zentrale Herausforderung für einen Analysten darin, Textdaten in numerische Daten umzuwandeln und dennoch ein Modell daraus einen Punkt formulieren zu lassen.

Inhaltsverzeichnis

Label-Encoder

Label Encoding zitiert die Transmogrifikation der Labels in die numerische Form, um sie in eine Form zu ändern, die von der Maschine gelesen werden kann. Machine-Learning-Algorithmen können danach korrekt bestimmen, wie diese Labels verwaltet werden müssen. Es ist eine entscheidende Vorverarbeitungsmaßnahme während des integrierten Datensatzes im überwachten Lernen.

Zum Beispiel haben wir einen Datensatz, der einen Vergleich einer bestimmten Qualität in einer bestimmten Fähigkeit in Form eines Vergleichs der Superlative zwischen Geschwistern enthält. Der Datensatz ist gut, besser, am besten. Nach dem Anwenden eines Label-Encoders wird jeder Qualität ein Label 0,1,2 zugewiesen. Das Label für gute Qualität ist 0, für bessere 1 und für beste Qualität 2.

Das oben erwähnte Beispiel war in Bezug auf den Datensatz grundlegend. Die Konvertierung kann jeden Datensatz umfassen, sei es Größe, Alter, Augenfarbe, Iristyp, Symptome usw.

Label Encoding in Python kann mit der Sklearn Library implementiert werden. Sklearn bietet eine sehr effektive Methode zum Codieren der Kategorien kategorialer Merkmale in numerische Werte. Der Label-Encoder codiert Labels mit Credits zwischen 0 und n-1 Klassen, wobei n die Anzahl verschiedener Labels ist. Wenn ein Etikett wiederholt, ernennt es den genauen Verdienst, wie zuvor festgelegt.

Und um diese Art von kategorialen Textdaten in Daten umzuwandeln, die von numerischen Modelldaten verstanden werden können, verwenden wir die Label-Encoder-Klasse. Wir müssen die Anfangsspalte beschriften, codieren, die LabelEncoder-Klasse aus der sklearn-Bibliothek importieren, den Anfangsabschnitt der Daten ausstatten und überarbeiten und dann die auftretenden Textdaten mit den frisch codierten Daten rehabilitieren.

Dies ist eine kurze Beschreibung der Label-Codierung. Abhängig von den Daten löst die Label-Codierung ein neues Dilemma aus. Zur Veranschaulichung haben wir eine Reihe von Königreichsnamen in numerische Daten kodiert. Dies sind ausschließlich kategoriale Daten, und es gibt keinerlei Verbindung zwischen den Zeilen.

Um dieses Hindernis zu lösen, besteht ein Bedarf, eine neue Codierungstechnik anzunehmen. Das Dilemma hier ist, da es mehrere Größen in einem ähnlichen Abschnitt gibt, wird der Prototyp die Daten falsch einschätzen, um in der gleichen Reihenfolge zu sein, 0 < 1 < 2. Aber das ist überhaupt nicht das Problem. Um diese Schwierigkeit zu mindern, verwenden wir einen Hot-Encoder.

Muss gelesen werden: Projektideen für maschinelles Lernen

Ein Hot-Encoder

One-Hot Encoding ist ein weiteres prominentes Protokoll für den Umgang mit kategorialen Variablen. Es legt nur die folgenden Merkmale fest, die auf dem Volumen der unterschiedlichen Werte im kategorialen Merkmal festgelegt sind. Ganze eindeutige Werte in der Klassifikation werden als Umriss vergrößert. Eine Hot-Codierung nimmt einen Abschnitt, der kategoriale Daten hat, die ein existierendes Label codiert haben, und unterteilt dann den Abschnitt in zahlreiche Abschnitte. Die Volumes werden durch 1s und 0s neu aufgebaut, wobei gezählt wird, welcher Abschnitt welchen Wert hat.

Der One-Hot-Encoder genehmigt keine 1-D-Arrays. Die Eingabe sollte immer ein 2-D-Array sein.

Die an den Codierer ratifizierten Daten sollten keine Zeichenfolgen enthalten.

Viele der vorherrschenden maschinellen Lernalgorithmen können nicht auf kategoriale Daten festgelegt werden. Vielmehr müssen die kategorialen Daten in numerische Daten modifiziert werden. One-Hot-Codierung ist eine der Strategien, die verwendet wird, um diese Umwandlung durchzuführen. Diese Technik wird vor allem dort eingesetzt, wo Deep-Learning-Methoden mit sequentiellen Nachfolgeproblemen korrelieren sollen.

One-Hot-Codierung ist praktisch die Manifestation kategorialer Variablen als binäre Vektoren. Die kategorialen Werte werden zunächst auf ganzzahlige Werte abgebildet. Jeder ganzzahlige Wert wird als ein binärer Vektor veranschaulicht, der alle Nullen ist.

Aber was passiert, wenn wir mehrere Dateien bearbeiten müssen?

Scikit-learn ist anfällig für die Anordnung von Abschnitten. Wenn also der Trainingsdatensatz und die Testdatensätze Widersprüche enthalten, sind die Ergebnisse absurd. Dies könnte passieren, wenn eine Kategorie mehrere Werte in den Trainingsdaten im Vergleich zu den Testdaten enthält.

Stellen Sie mit dem Befehl align sicher, dass die Testdaten auf die gleiche Weise codiert sind wie die Trainingsdaten. Der Befehl zum Ausrichten gibt Sicherheit, dass die Abschnitte in beiden Datensätzen in der exakten Anordnung erscheinen.

Lesen Sie: Modelle für maschinelles Lernen

Fazit

Der Globus ist vollgestopft mit kategorischen Daten. Ein Analyst wird ein viel nützlicherer Datenwissenschaftler sein, wenn Sie wissen, wie man diese Daten verwendet. Daher muss jeder, der an solchen Modellen arbeiten möchte, mit der Verwendung von Label-Encodern und One-Hot-Encodern beim maschinellen Lernen vertraut sein.

Wenn Sie mehr über maschinelles Lernen erfahren möchten, sehen Sie sich das PG-Diplom in maschinellem Lernen und KI von IIIT-B & upGrad an, das für Berufstätige konzipiert ist und mehr als 450 Stunden strenge Schulungen, mehr als 30 Fallstudien und Aufgaben bietet, IIIT- B-Alumni-Status, mehr als 5 praktische, praktische Abschlussprojekte und Jobunterstützung bei Top-Unternehmen.

Welche Algorithmen erfordern die Verwendung einer Hot-Codierung?

Ein Hot-Encoding-Prozess wird verwendet, um mit kategorialen Variablen umzugehen. Dieser Prozess konvertiert die kategorialen Variablen, um maschinellen Lernalgorithmen die Verwendung der Variablen für eine bessere Vorhersage zu erleichtern. Die Algorithmen, die nur numerische Werte als Eingaben verwenden, erfordern nur einen Hot-Encoding-Prozess, um die kategorialen Variablen umzuwandeln. Einige dieser maschinellen Lernalgorithmen sind logistische Regression, lineare Regression, Support Vector Machine usw. Einige Algorithmen wie Markov Chain, Naive Bayes usw. erfordern jedoch keine Codierung, da sie in der Lage sind, mit gemeinsamen diskreten Verteilungen umzugehen.

Wann wird beim Deep Learning bevorzugt eine Hot-Codierung verwendet?

One Hot Encoding ist ein leistungsstarker Datentransformations- und Vorverarbeitungsansatz, der ML-Modellen hilft, die bereitgestellten Daten zu verstehen. Grundsätzlich wird One Hot Encoding verwendet, wenn der ML-Algorithmus nicht in der Lage ist, mit kategorialen Variablen zu arbeiten, also konvertiert One Hot Encoding sie in eine geeignete Form. Die Verwendung einer Hot-Codierung wird am meisten bevorzugt, wenn die Merkmale der umzuwandelnden kategorialen Variablen nicht ordinal sind. Außerdem funktioniert eine Hot-Codierung effektiv, wenn die Anzahl der im gegebenen Datensatz vorhandenen kategorialen Merkmale sehr gering ist.

Was versteht man unter dem Begriff Dummy Variable Trap?

Der Dummy-Variablen-Trap ist eines der Probleme, mit denen der One-Hot-Codierprozess konfrontiert ist. Wenn ein kategorialer Datensatz stark verknüpfte Variablen enthält, tritt dies auf. Folglich kann das Ergebnis einer Variablen unter Verwendung der verbleibenden Variablen leicht vorweggenommen werden, wenn das One-Hot-Codierungsverfahren verwendet wird. Als Ergebnis des Dummy-Variablen-Trap tritt ein weiteres Problem auf, das als Multikollinearität bekannt ist.