Data Science Academy · leksjon

Kod kategoriske kolonner

Grunnleggende one-hot- og label-koding.

Leksjon 2 av 413 trinn

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. 🎉

Gratis å komme i gang

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

  1. Del tall inn i kategorier
  2. Kod kategoriske kolonner
  3. Skaler og normaliser tall
  4. Lag egenskaper fra datoer og tekst
← Tilbake til Data Science Academy