Data Science Academy · Lektion

Koda kategoriska kolumner

Grunderna i one-hot- och etikettkodning

Lektion 2 av 413 steg

Koda kategoriska kolumner är en gratis lektion i Data Science Academy på CoddyKit. Detta är lektion 2 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Data Science Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Data Science Academy innehåller totalt 4 lektioner.

Varför kodning är viktig

De flesta modeller förstår bara tal, medan dina data är fulla av ord som röd eller blå. Kodning omvandlar dessa etiketter till tal som en modell kan lära sig av. 🔢

Nominal jämfört med ordinal

Vissa kategorier har en ordning, som liten, medelstor och stor. Andra, som stadsnamn, har det inte. Denna ordning avgör vilken kodning som är rättvisande.

Etikettkodning

Etikettkodning tilldelar varje kategori ett heltal: röd blir 0 och blå blir 1. Det är enkelt, men skapar en ordning som kanske inte finns i verkligheten.

from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])

Fällan med falsk ordning

Om blå är 1 och grön är 2 kan en modell tro att grön är större än blå. För nominala data kan denna falska rangordning försämra träffsäkerheten.

One-hot-kodning

One-hot-kodning skapar en ny kolumn för varje kategori, markerad med 1 eller 0. Ingen påhittad ordning, bara tydliga ja- eller nej-flaggor.

get_dummies i pandas

Det snabbaste sättet att göra one-hot-kodning i pandas är get_dummies. Ange en kolumn, så expanderas varje kategori till en egen kolumn med 0 eller 1.

dummies = pd.get_dummies(df['color'])

Undvik dummyfällan

Kolumnerna är perfekt korrelerade, så ta bort en av dem med drop_first. Då förblir linjära modeller stabila och överflödig information undviks.

pd.get_dummies(df['color'], drop_first=True)

OneHotEncoder för pipelines

För modeller bör Ni föredra scikit-learns OneHotEncoder. Den kommer ihåg vilka kategorier den har lärt sig, så tränings- och testdata förblir perfekt anpassade till varandra.

from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')

Koda ordning med avsikt

När ordningen är verklig bör Ni ange mappningen själva, så att liten till stor blir 1 till 3. En ordinal mappning bevarar betydelsen.

order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)

Se upp med hög kardinalitet

One-hot-kodning av en kolumn med tusentals värden exploderar till tusentals kolumner. Vid hög kardinalitet kan Ni först överväga att gruppera sällsynta värden.

Hantera okända kategorier

Nya data kan innehålla etiketter som kodaren aldrig har sett. Planera för detta så att en okänd kategori inte får prediktionen att krascha.

Snabb kontroll

Er färgkolumn har ingen naturlig ordning. Vilken kodning undviker att skapa en falsk rangordning?

Repetition: kodning

Ni omvandlade ord till tal: one-hot för kategorier utan ordning, ordinala mappningar för verklig ordning och etikettkodning endast när ordningen inte spelar någon roll. 🎉

Gratis att börja

Lär dig Python med en AI-lärare – gratis

Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.

Kurser
30
Lektioner
120

Vanliga frågor

Är lektionen ”Koda kategoriska kolumner” gratis?

Ja – hela texten till ”Koda kategoriska kolumner” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Data Science Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Data Science Academy innehåller totalt 4 lektioner.

Vad lär jag mig i ”Koda kategoriska kolumner”?

Grunderna i one-hot- och etikettkodning Ni övar på Data Science Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.

Behöver jag någon erfarenhet för att börja lära mig Data Science Academy?

Du behöver inga förkunskaper. Utbildningen i Data Science Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 2 av 4.

Hur lång tid tar lektionen ”Koda kategoriska kolumner”?

De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.

Kan jag skriva och köra kod i den här Data Science Academy-lektionen?

Ja. Varje Data Science Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.

Alla lektioner i den här kursen

  1. Dela in tal i kategorier
  2. Koda kategoriska kolumner
  3. Skala och normalisera tal
  4. Skapa egenskaper från datum och text
← Tillbaka till Data Science Academy