Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Kodning af Kategoriske Variabler | Datatransformationsteknikker
Datapræprocessering og Feature Engineering

bookKodning af Kategoriske Variabler

Kategoriske variabler er egenskaber i dine data, der repræsenterer kategorier i stedet for numeriske værdier. Eksempler inkluderer farver som "red", "green" og "blue", eller etiketter som "yes" og "no". Maskinlæringsalgoritmer kræver, at inputdata er numeriske, så du skal konvertere disse kategoriske variabler til et numerisk format, før de kan anvendes i modeller. Denne proces kaldes kodning, og den sikrer, at dine algoritmer kan fortolke og lære effektivt af dataene.

Note
Definition

One-hot encoding opretter en ny binær kolonne for hver kategori af en kategorisk variabel. Hver observation får en 1 i kolonnen, der svarer til dens kategori, og 0 i de øvrige.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definition

Label encoding tildeler hver unik kategori i en variabel en heltalsværdi, hvilket omdanner tekstetiketter til tal.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definition

Order encoding tildeler ordnede heltalsværdier til kategorier baseret på deres naturlige rangering. Denne metode bevarer den iboende rækkefølge i ordinale kategoriske variabler, såsom uddannelsesniveauer ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Bemærk

Vær opmærksom ved kodning af kategoriske variabler. One-hot encoding kan introducere dummyvariabel-fælden – en situation hvor funktioner er stærkt korrelerede, hvilket kan forvirre nogle modeller. For at undgå dette kan du udelade en af dummy-kolonnerne. Label encoding pålægger et ordnet forhold mellem kategorier, hvilket muligvis ikke er passende for nominelle data.

question mark

Hvilken kodningsmetode er mest passende for en kategorisk variabel uden indre rækkefølge, såsom "Color"?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Awesome!

Completion rate improved to 8.33

bookKodning af Kategoriske Variabler

Stryg for at vise menuen

Kategoriske variabler er egenskaber i dine data, der repræsenterer kategorier i stedet for numeriske værdier. Eksempler inkluderer farver som "red", "green" og "blue", eller etiketter som "yes" og "no". Maskinlæringsalgoritmer kræver, at inputdata er numeriske, så du skal konvertere disse kategoriske variabler til et numerisk format, før de kan anvendes i modeller. Denne proces kaldes kodning, og den sikrer, at dine algoritmer kan fortolke og lære effektivt af dataene.

Note
Definition

One-hot encoding opretter en ny binær kolonne for hver kategori af en kategorisk variabel. Hver observation får en 1 i kolonnen, der svarer til dens kategori, og 0 i de øvrige.

12345678910111213
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # One-hot encode the 'embarked' column embarked_encoded = pd.get_dummies(data["embarked"], prefix="embarked") # Concatenate with original dataset data = pd.concat([data, embarked_encoded], axis=1) print(data[["embarked", "embarked_C", "embarked_Q", "embarked_S"]].head())
copy
Note
Definition

Label encoding tildeler hver unik kategori i en variabel en heltalsværdi, hvilket omdanner tekstetiketter til tal.

123456789101112
import seaborn as sns import pandas as pd from sklearn.preprocessing import LabelEncoder # Load Titanic dataset data = sns.load_dataset("titanic") # Label encode the 'sex' column encoder = LabelEncoder() data["sex_encoded"] = encoder.fit_transform(data["sex"]) print(data[["sex", "sex_encoded"]].head())
copy
Note
Definition

Order encoding tildeler ordnede heltalsværdier til kategorier baseret på deres naturlige rangering. Denne metode bevarer den iboende rækkefølge i ordinale kategoriske variabler, såsom uddannelsesniveauer ("high school", "bachelor", "master", "doctorate").

123456789101112131415161718
import seaborn as sns import pandas as pd # Load Titanic dataset data = sns.load_dataset("titanic") # Define the order of passenger classes: First < Second < Third class_order = ["First", "Second", "Third"] # Apply ordered categorical encoding data["class_encoded"] = pd.Categorical( data["class"], categories=class_order, ordered=True ).codes + 1 # +1 to make classes start from 1 instead of 0 # Display sample output print(data[["class", "class_encoded"]].head())
copy
Note
Bemærk

Vær opmærksom ved kodning af kategoriske variabler. One-hot encoding kan introducere dummyvariabel-fælden – en situation hvor funktioner er stærkt korrelerede, hvilket kan forvirre nogle modeller. For at undgå dette kan du udelade en af dummy-kolonnerne. Label encoding pålægger et ordnet forhold mellem kategorier, hvilket muligvis ikke er passende for nominelle data.

question mark

Hvilken kodningsmetode er mest passende for en kategorisk variabel uden indre rækkefølge, såsom "Color"?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 2. Kapitel 2
some-alt