Kod kategoriske kolonner
Grunnleggende one-hot- og label-koding.
Kod kategoriske kolonner er en gratis leksjon i Data Science Academy på CoddyKit. Dette er leksjon 2 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Data Science Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Data Science Academy inneholder totalt 4 leksjoner.
Hvorfor koding er viktig
De fleste modeller forstår bare tall, mens dataene dine er fulle av ord som rød eller blå. Koding gjør disse etikettene om til tall som en modell kan lære av. 🔢
Nominelle kontra ordinale
Noen kategorier har en rekkefølge, som liten, middels og stor. Andre, som bynavn, har ikke det. Denne rekkefølgen avgjør hvilken koding som er korrekt.
Etikettkoding
Etikettkoding tildeler hvert kategori en heltallsverdi: rød blir 0, blå blir 1. Det er enkelt, men innfører en rekkefølge som kanskje ikke finnes i virkeligheten.
from sklearn.preprocessing import LabelEncoder
le = LabelEncoder()
codes = le.fit_transform(df['color'])Fellen med en oppdiktet rekkefølge
Hvis blå er 1 og grønn er 2, kan en modell tro at grønn er større enn blå. For nominale data kan denne falske rangeringen svekke nøyaktigheten.
One-hot-koding
One-hot-koding lager én ny kolonne per kategori, merket med 1 eller 0. Ingen kunstig rekkefølge, bare tydelige ja- eller nei-flagg.
get_dummies i pandas
Den raskeste måten å gjøre one-hot-koding på i pandas er get_dummies. Gi den en kolonne, så utvider den hver kategori til sin egen 0/1-kolonne.
dummies = pd.get_dummies(df['color'])Unngå dummy-fellen
Kolonnene er perfekt korrelerte, så fjern én med drop_first. Da holder du lineære modeller stabile og unngår overflødig informasjon.
pd.get_dummies(df['color'], drop_first=True)OneHotEncoder for pipelines
For modeller bør du foretrekke scikit-learns OneHotEncoder. Den husker kategoriene den lærte, slik at trenings- og testdata forblir perfekt samordnet.
from sklearn.preprocessing import OneHotEncoder
enc = OneHotEncoder(handle_unknown='ignore')Kod rekkefølge med vilje
Når rekkefølgen er reell, bør du mappe den selv, slik at liten til stor blir 1 til 3. En ordinal-mapping bevarer betydningen.
order = {'small': 1, 'medium': 2, 'large': 3}
df['size_num'] = df['size'].map(order)Vær oppmerksom på høy kardinalitet
One-hot-koding av en kolonne med tusenvis av verdier eksploderer til tusenvis av kolonner. Ved høy kardinalitet bør du vurdere å samle sjeldne verdier først.
Håndter ukjente kategorier
Nye data kan inneholde etiketter encoderen aldri har sett. Planlegg for dette, slik at en unseen-kategori ikke krasjer prediksjonstrinnet.
Rask sjekk
Fargekolonnen din har ingen naturlig rekkefølge. Hvilken koding unngår å finne på en falsk rangering?
Oppsummering: Koding
Du gjorde ord om til tall: one-hot for kategorier uten rekkefølge, ordinal-mappinger for reell rekkefølge, og label encoding bare når rekkefølgen ikke har betydning. 🎉
Lær deg Python med en AI-veileder – gratis
Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.
- Kurs
- 30
- Leksjoner
- 120
Ofte stilte spørsmål
Er leksjonen «Kod kategoriske kolonner» gratis?
Ja – hele teksten i «Kod kategoriske kolonner» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Data Science Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Data Science Academy inneholder totalt 4 leksjoner.
Hva lærer jeg i «Kod kategoriske kolonner»?
Grunnleggende one-hot- og label-koding. Du øver på Data Science Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.
Trenger jeg erfaring for å begynne med Data Science Academy?
Ingen tidligere erfaring er nødvendig. Data Science Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 2 av 4.
Hvor lang tid tar leksjonen «Kod kategoriske kolonner»?
De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.
Kan jeg skrive og kjøre kode i denne Data Science Academy-leksjonen?
Ja. Alle Data Science Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.
Alle leksjonene i dette kurset
- Del tall inn i kategorier
- Kod kategoriske kolonner
- Skaler og normaliser tall
- Lag egenskaper fra datoer og tekst