Website-Suche

Wie konvertiert man kategoriale Daten in Python in Binärdaten?


Kategoriale Daten, auch bekannt als nominale Daten, sind Datentypen, die in diskrete Kategorien oder Gruppen unterteilt sind. Diese Kategorien haben keine inhärente Reihenfolge oder numerischen Wert und werden normalerweise durch Wörter, Bezeichnungen oder Symbole dargestellt. Kategoriale Daten werden üblicherweise zur Beschreibung von Merkmalen oder Attributen von Objekten, Personen oder Ereignissen verwendet und sind in verschiedenen Bereichen wie Sozialwissenschaften, Marketing und medizinischer Forschung zu finden.

In Python können kategoriale Daten mithilfe verschiedener Datenstrukturen dargestellt werden, beispielsweise Listen, Tupeln, Wörterbüchern und Arrays. Die am häufigsten verwendete Datenstruktur für kategoriale Daten in Python ist der Pandas DataFrame, eine zweidimensionale tabellenartige Datenstruktur, die große Datenmengen speichern und bearbeiten kann.

Hier ist ein einfaches Beispiel zur Veranschaulichung kategorialer Daten in Python

Angenommen, Sie verfügen über einen Datensatz mit Informationen über die Art der Fahrzeuge, die Menschen besitzen. Der Datensatz enthält die folgenden kategorialen Variablen:

  • Fahrzeugtyp – Auto, LKW, SUV, Van, Motorrad

  • Kraftstofftyp – Benzin, Diesel, Elektro, Hybrid

  • Farbe – Rot, Blau, Grün, Schwarz, Weiß

Beispiel

Sie können diesen Datensatz in Python mit einem Pandas-DataFrame wie folgt darstellen

import pandas as pd

data = {'Vehicle Type': ['Car', 'Truck', 'SUV', 'Van', 'Motorcycle'],
   'Fuel Type': ['Gasoline', 'Diesel', 'Electric', 'Hybrid', 'Gasoline'],
   'Color': ['Red', 'Blue', 'Green', 'Black', 'White']}
df = pd.DataFrame(data)
print(df)

Um den obigen Code auszuführen, müssen wir zunächst die Pandas-Bibliothek auf unserem Computer installieren und können dazu den unten gezeigten Befehl verwenden –

pip3 install pandas

Sobald Pandas erfolgreich installiert wurde, können wir den unten gezeigten Befehl ausführen

python3 main.py

Ausgabe

Die Ausgabe des obigen Befehls wird unten angezeigt.

  Vehicle Type Fuel Type  Color
0          Car  Gasoline    Red
1        Truck    Diesel   Blue
2          SUV  Electric  Green
3          Van    Hybrid  Black
4   Motorcycle  Gasoline  White

Wie Sie sehen können, werden die kategorialen Variablen als Spalten im DataFrame dargestellt und jede Kategorie wird als Zeichenfolgewert in der entsprechenden Spalte dargestellt. Sie können verschiedene Pandas-Funktionen und -Methoden verwenden, um diese Daten zu bearbeiten und zu analysieren, z. B. groupby, count, value_counts und crosstab. Diese Funktionen können Ihnen helfen, die Verteilung und Beziehungen zwischen den Kategorien zusammenzufassen und zu visualisieren, was wertvolle Einblicke in den Datensatz liefern kann.

Nachdem wir nun ein wenig über kategoriale Daten wissen, wollen wir sehen, welche Eigenschaften sie besitzen.

Merkmale kategorialer Daten

Nachfolgend sind einige der Merkmale kategorialer Daten aufgeführt.

  • Kategoriale Daten haben eine begrenzte Anzahl von Kategorien.

  • Die Kategorien haben keine inhärente Reihenfolge oder Rangfolge.

  • Kategoriale Daten können auf einer nominalen oder ordinalen Skala gemessen werden.

  • Kategoriale Daten werden häufig mithilfe von Zähl- oder Häufigkeitsverteilungen zusammengefasst.

  • Für kategoriale Daten ist die statistische Analyse im Vergleich zu numerischen Daten begrenzt.

Konvertierung kategorialer Daten in Binärdaten

Bei der Konvertierung kategorialer Daten in Binärdaten werden kategoriale Variablen in Binärwerte (0 oder 1) umgewandelt, die für Analyse- oder Modellierungszwecke verwendet werden können. Diese Transformation ist nützlich, da viele Algorithmen für maschinelles Lernen und statistische Methoden numerische Eingaben anstelle kategorialer Eingaben erfordern.

Binäre Codierung ist ein gängiger Ansatz, der jede eindeutige Kategorie in einer kategorialen Variablen in eine separate Binärspalte umwandelt, wobei ein Wert von 1 das Vorhandensein der Kategorie und 0 ihr Fehlen anzeigt.

Diese Technik lässt sich in Python einfach mit der Pandas-Funktion get_dummies() oder anderen ähnlichen Bibliotheken implementieren. Die binäre Kodierung kann dazu beitragen, die Genauigkeit von Vorhersagemodellen zu verbessern, den Datenspeicherbedarf zu reduzieren und die Datenanalyse zu vereinfachen.

Beispiel

Betrachten Sie den unten gezeigten Code, in dem wir mithilfe von Pandas kategoriale Daten in Binärdaten umwandeln.

import pandas as pd

# create a sample DataFrame with categorical data
data = {'Gender': ['Male', 'Female', 'Male', 'Female'],
   'City': ['New York', 'Chicago', 'Chicago', 'Los Angeles'],
   'Marital Status': ['Single', 'Married', 'Single', 'Divorced']}
df = pd.DataFrame(data)

# use get_dummies() to encode categorical variables as binary values
encoded_df = pd.get_dummies(df)

print(encoded_df)

Erläuterung

  • Die erste Zeile importiert die Pandas-Bibliothek als pd.

  • Im Datenwörterbuch wird ein Beispiel-DataFrame mit kategorialen Daten erstellt. Der DataFrame enthält drei kategoriale Variablen: Geschlecht, Stadt und Familienstand.

  • Die Funktion pd.DataFrame() wird verwendet, um einen Pandas-DataFrame aus dem Datenwörterbuch zu erstellen. Dieser DataFrame wird der Variablen df zugewiesen.

  • Die Funktion pd.get_dummies() wird im df-DataFrame aufgerufen, um die kategorialen Variablen in Binärwerte umzuwandeln. Diese Funktion erstellt einen neuen DataFrame mit einer binären Codierung für jede eindeutige Kategorie in den kategorialen Variablen.

  • Der resultierende binär codierte DataFrame wird der Variablen encoded_df zugewiesen.

  • Schließlich wird die Funktion print() verwendet, um den resultierenden binär codierten DataFrame anzuzeigen.

Um den obigen Code auszuführen, müssen wir den unten gezeigten Befehl ausführen.

python3 main.py

Ausgabe

Die Ausgabe des obigen Befehls wird unten angezeigt.

   Gender_Female  Gender_Male  ...  Marital Status_Married  Marital Status_Single
0              0            1  ...                       0                      1
1              1            0  ...                       1                      0
2              0            1  ...                       0                      1
3              1            0  ...                       0                      0

[4 rows x 8 columns]

Abschluss

Die Konvertierung kategorialer Daten in Binärdaten ist ein wichtiger Schritt bei der Datenvorverarbeitung für maschinelles Lernen und statistische Analysen. In diesem Tutorial haben wir erfahren, wie wir untersucht haben, was kategoriale Daten sind und wie wir sie mithilfe der Pandas-Bibliothek in Binärdaten konvertieren können.

Verwandte Artikel: