Python One Hot Coding Pandas

Python One Hot Coding Pandas
In diesem Artikel werden Sie mithilfe von Pandas und Scikit Learn in Python in Python eine heiße Codierung durchführen.

Hotcodierung bezieht sich auf die Konvertierung kategorieller Daten in Modelle, die Algorithmen für maschinelle Lernen verwenden können. In den meisten Fällen umfasst dies die Umwandlung jedes Kategoriewerts in einen Binärwert von 1 oder 0.

Das folgende Bild zeigt eine heiße Codierung.

Quelle: Kaggle

Sie können in der unten stehenden Ressource eine HOT-Codierung untersuchen:

https: // en.Wikipedia.org/wiki/one-hot

Beispieldaten

Beginnen wir mit dem Erstellen von Beispieldaten. Verwenden Sie zunächst den Beispielcode wie unten gezeigt:

Pandas als PD importieren
df = pd.DataFrame (
"Kategorien": ['Cat1', 'Cat2', 'Cat3', 'Cat2', 'Cat1', 'Cat1', 'Cat3'],
"Werte": [10,20,20,40,24,34,23]
)
df

Importieren Sie OneHoTencoder aus dem Sci-Kit-Learn, um eine HOT-Codierung durchzuführen, um wie gezeigt eine HOT-Codierung durchzuführen:

von Sklearn.Vorverarbeitung importieren OneHoTenCoder
# Instanziierung
e = OneHotenCoder (Handle_UunkNOWN = 'Ignore')
# codieren
e_df = pd.DataFrame (e.FIT_TRANSFORM (DF [['Kategorien']]).toArray ())
e_df

Im obigen Beispiel beginnen wir zunächst den OneHotenCoder aus Sci-kit-Learn. Anschließend erstellen wir eine Encoderinstanz und übergeben den Parameter von handle_UunkNOWN, um es zu ignorieren.

Schließlich erstellen wir einen neuen Datenrahmen aus den codierten Daten. Der obige Code sollte den neuen Datenrahmen wie gezeigt zurückgeben:

Sie können auch den codierten Datenrahmen mithilfe der Join -Methode als:

df = df.join (e_df)
df

Der obige Code sollte zurückgeben:

Abschluss

Dieser Artikel deckt das Minimum an der Durchführung einer grundlegenden One-Hot-Codierung eines Pandas-Datenfreframe mit der Sci-Kit-Learn-Bibliothek ab.