Die Datenaufbereitung ist ein wichtiger Schritt im maschinellen Lernen, um Daten für Algorithmen nutzbar zu machen. Dies beinhaltet, die Ohne Hot Encoding, die später erläutert wird.
Im wesentlichen gibt es insgesamt die folgende Arten von Daten
Strukturierte Daten
Strukturierte Daten sind Informationen, die in einem vordefinierten Format organisiert sind, z. B. in Tabellen mit Spalten und Zeilen. Beispiele für strukturierte Daten sind:
- Metrische Daten
- Zahlenwerte als Kommazahlen wie Abmessungen, Preise oder Temperaturen
- Ordinale Daten
- Kategorielle Daten mit einer Rang/Ordnung wie die Güte eines Diamantenschliffs (Fair, Good, Ver Good, Preminum)
- Nominale Daten
- Kategorielle Daten ohne Ordnung, z.B. der Kraftstofftyp eines Autos (Benzin, Diesel, Hybrid)
Unstrukturierte Daten
Unstrukturierte Daten haben kein vordefiniertes Format. Beispiele hierfür sind:
- Freitext: z.B. die Überschrift einer Fahrzeuganzeige
Info
Unstrukturierte Daten sind für viele Algorithmen des maschinellen Lernens
schwer zu verarbeiten
und müssen oftin strukturierte Daten umgewandelt
werden.
One Hot Encoding
Das Umwandeln von nominalen Daten (Kategorien ohne Ordnung) in numerische Daten mit One-Hot Encoding
.
- eine zusätzliche Spalte wird für jede Kategorie erstellt, die
- den Wert 1 hat, wenn der Datensatz zu dieser Kategorie gehört
- sonst Wert 0
Die letzte Spalte ist immer redundant und deshalb wird sie gelöscht.
Wenn man diese verwendet, dann bekommt man Datensätze mit vielen Spalten. Man kann die nicht benötigte Zeile mit der methode drop gleich aus dem Datensatz entfernen.
Beispiel
df = pd.get_dummies(df, columns = ["fuelType"]) # One Hot Encoding für die Spalte "fuelType"
df =df.drop(labels=["fuelType_lpg"],axis = 1) # Redundante One-Hot-Spalte löschen
df =df.drop(labels=["model", "name"],axis = 1)
X = df[["price", "yearOfRegistration", "powerPS", "kilometer",
"fuelType_benzin", "fuelType_diesel", "fuelType_hybrid"]].values
df.head()
Ausgabe:
price | yearOfRegistration | powerPS | kilometer | fuelType_benzin | fuelType_diesel | fuelType_hybrid |
---|---|---|---|---|---|---|
1450 | 1997 | 75 | 90000 | True | False | False |
13100 | 2005 | 280 | 5000 | True | False | False |
4500 | 2008 | 87 | 90000 | True | False | False |
6000 | 2009 | 177 | 125000 | False | True | False |
3990 | 1999 | 118 | 90000 | True | False | False |
Ordinale Daten
Das Umwandeln von ordinalen Daten (Kategorien mit Ordnung)
in nummerische Daten
, indem die Kategorien mit Zahlen ersetzt werden, die ihre Reihenfolge wiederspiegeln
Beispiel
Man kann die enthaltene Wert einer Spalte mit verschiedenen Ordinalen Daten zeigen:
print(df["cut"].value_counts())
print(df["cut"].value_counts().count())
Ausgabe:
cut
Ideal 21551
Premium 13791
Very Good 12082
Good 4906
Fair 1610
Name: count, dtype: int64
5
Mit dem Wissen über die Reihenfolge erstellt man eine ´replace map`und gibt diese in die Methode replace()
replace_map = {'cut': {'Fair': 1, 'Good':2, 'Very Good':3, 'Premium':4, 'Ideal':5},
'color': {'D': 7, 'E': 6, 'F': 5, 'G':4, 'H':3, 'I': 2, 'J': 1 },
'clarity': {'FL': 1, 'IF':2, 'VVS1':3, 'VVS2':4, 'VS1':5, 'VS2':6, 'SI1':7, 'SI2':8, 'l1':9, 'l2':10, 'l3':11}}
df = df.replace(replace_map)
df.head()
Ausgabe:
cut |
---|
5 |
4 |
2 |
4 |
2 |
Quiz
Datenaufbereitung
Frage 1: Was ist der Zweck des One-Hot Encodings bei der Datenaufbereitung?
a) Nominale Daten in metrische Daten umwandeln.
b) Ordinale Daten in numerische Werte umwandeln.
c) Fehlende Werte in einem Datensatz ersetzen.
d) Die Dimensionalität eines Datensatzes reduzieren.Lösung
a)
Nominale Daten in metrische Daten umwandeln.
Erläuterung: One-Hot Encoding wird verwendet, um nominale (kategorische) Daten in numerische Repräsentationen umzuwandeln, die von Machine-Learning-Algorithmen verarbeitet werden können.
Frage 2: Welche Aussage über ordinale Daten ist korrekt?
a) Sie können direkt von Machine-Learning-Algorithmen verarbeitet werden.
b) Sie haben keine Reihenfolge oder Rangfolge.
c) Sie können durch Ersetzen der Kategorien durch Zahlen in numerische Werte umgewandelt werden.
d) Sie werden mit One-Hot Encoding in numerische Daten umgewandelt.Lösung
c)
Sie können durch Ersetzen der Kategorien durch Zahlen in numerische Werte umgewandelt werden.
Erläuterung: Ordinale Daten besitzen eine Rangfolge und können durch geeignete Kodierung in numerische Werte umgewandelt werden, um ihre Reihenfolge abzubilden.
Strukturierte Daten
Frage 3: Welche der folgenden Datentypen gehören zu den strukturierten Daten?
a) Freitext
b) Bilder
c) Metrische Daten
d) AudioaufnahmenLösung
c)
Metrische Daten
Erläuterung: Strukturierte Daten haben ein klar definiertes Format, wie z. B. Tabellen mit numerischen Werten oder Kategorien. Metrische Daten gehören dazu.
Frage 4: Welches Beispiel beschreibt metrische Daten?
a) Die Farbe eines Autos (rot, blau, grün)
b) Die Größe eines Diamanten in Karat
c) Der Kraftstofftyp eines Fahrzeugs (Benzin, Diesel, Elektro)
d) Die Bewertung eines Films auf einer Skala von 1 bis 5 SternenLösung
b)
Die Größe eines Diamanten in Karat
Erläuterung: Metrische Daten sind kontinuierliche numerische Werte, wie die Größe eines Diamanten in Karat.
Frage 5: Nennen Sie ein Beispiel für ordinale Daten in einem Datensatz über Diamanten.
a) Der Preis eines Diamanten
b) Das Gewicht eines Diamanten in Karat
c) Die Reinheit eines Diamanten (z. B. FL, IF, VVS1, VVS2)
d) Die Farbe eines Diamanten (z. B. D, E, F, G)Lösung
c)
Die Reinheit eines Diamanten (z. B. FL, IF, VVS1, VVS2)
Erläuterung: Ordinale Daten haben eine Rangfolge, wie die Reinheitsgrade eines Diamanten. Diese Kategorien können nach ihrer Qualität geordnet werden.
Unstrukturierte Daten
Frage 6: Welche Aussage über unstrukturierte Daten ist richtig?
a) Sie sind in einem vordefinierten Format organisiert.
b) Sie können direkt von den meisten Machine-Learning-Algorithmen verarbeitet werden.
c) Sie lassen sich leicht in Tabellenform darstellen.
d) Sie erfordern oft eine Vorverarbeitung, um für Machine-Learning-Algorithmen nutzbar zu sein.Lösung
d)
Sie erfordern oft eine Vorverarbeitung, um für Machine-Learning-Algorithmen nutzbar zu sein.
Erläuterung: Unstrukturierte Daten, wie Bilder oder Texte, müssen vorverarbeitet werden, um in ein Format umgewandelt zu werden, das von Machine-Learning-Algorithmen verarbeitet werden kann.
Frage 7: Welches der folgenden Beispiele ist ein Beispiel für unstrukturierte Daten?
a) Eine CSV-Datei mit Kundendaten
b) Ein Bild einer Katze
c) Eine Datenbanktabelle mit Verkaufszahlen
d) Eine Liste mit TemperaturmessungenLösung
b)
Ein Bild einer Katze
Erläuterung: Bilder gehören zu den unstrukturierten Daten, da sie nicht in einem vordefinierten Tabellenformat vorliegen und eine besondere Verarbeitung erfordern, um Muster zu extrahieren.