Koda kategoriska kolumner
Grunderna i one-hot- och etikettkodning
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. 🎉
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
- Dela in tal i kategorier
- Koda kategoriska kolumner
- Skala och normalisera tal
- Skapa egenskaper från datum och text