Data Science Academy · Oppitunti

Koodaa kategoriset sarakkeet

One-hot- ja label-koodauksen perusteet

Oppitunti 2/413 vaihetta

Koodaa kategoriset sarakkeet on ilmainen Data Science Academy-oppitunti CoddyKitissä. Tämä on oppitunti 2/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu Data Science Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. Data Science Academy-kurssilla on yhteensä 4 oppituntia.

Miksi koodaus on tärkeää

Useimmat mallit ymmärtävät vain lukuja, vaikka datanne sisältää sanoja, kuten punainen tai sininen. Koodaus muuttaa nimikkeet luvuiksi, joista malli voi oppia. 🔢

Nimellinen vai järjestysasteikollinen

Joillakin luokilla on järjestys, kuten pieni, keskikokoinen ja suuri. Toisilla, kuten kaupunkien nimillä, ei ole. Tämä järjestys ratkaisee, mikä koodaus on rehellinen.

Nimikkeiden koodaus

Nimikkeiden koodaus antaa jokaiselle luokalle kokonaisluvun: punaisesta tulee 0 ja sinisestä 1. Menetelmä on yksinkertainen, mutta se luo järjestyksen, jota ei ehkä todellisuudessa ole.

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

Valhejärjestyksen ansa

Jos sininen on 1 ja vihreä 2, malli voi päätellä, että vihreä on sinistä suurempi. Nimellisessä datassa tämä virheellinen järjestys voi heikentää tarkkuutta.

One-hot-koodaus

One-hot-koodaus tekee jokaiselle kategorialle uuden sarakkeen, jonka arvo on 1 tai 0. Keinotekoista järjestystä ei synny, vaan saat selkeät kyllä–ei-ilmaisimet.

get_dummies pandasissa

Nopein tapa tehdä one-hot-koodaus pandasissa on get_dummies. Anna sille sarake, niin se laajentaa jokaisen kategorian omaksi 0/1-sarakkeekseen.

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

Vältä dummy-muuttujaloukku

Sarakkeet korreloivat täydellisesti keskenään, joten poista yksi niistä drop_first-parametrilla. Näin lineaariset mallit pysyvät vakaina eikä mukana ole turhaa päällekkäistä tietoa.

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

OneHotEncoder putkia varten

Malleja varten kannattaa käyttää scikit-learnin OneHotEncoder-luokkaa. Se muistaa oppimansa kategoriat, joten opetus- ja testidata pysyvät täydellisesti yhteensopivina.

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

Koodaa järjestys tarkoituksella

Kun järjestyksellä on todellinen merkitys, muodosta muunnos itse, jotta pienimmästä suurimpaan arvot muuttuvat arvoiksi 1–3. ordinal-muunnos säilyttää merkityksen ennallaan.

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

Varo suurta kardinaliteettia

One-hot-koodaus sarakkeelle, jossa on tuhansia arvoja, paisuttaa datan tuhansiksi sarakkeiksi. Jos cardinality on suuri, harkitse harvinaisten arvojen yhdistämistä ensin.

Käsittele tuntemattomat kategoriat

Uusi data voi sisältää tunnisteita, joita kooderi ei ole koskaan nähnyt. Varaudu tähän, jotta unseen-kategoria ei kaada ennustusvaihetta.

Pikatarkistus

Värisarakkeellasi ei ole luonnollista järjestystä. Mikä koodaus välttää virheellisen järjestyksen keksimisen?

Kertaus: koodaus

Muutit sanat numeroiksi: one-hot-koodaus järjestyksettömille kategorioille, ordinaalimuunnokset todelliselle järjestykselle ja label encoding vain silloin, kun järjestyksellä ei ole merkitystä. 🎉

Aloita maksutta

Opi Python tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
30
Oppitunnit
120

Usein kysytyt kysymykset

Onko oppitunti ”Koodaa kategoriset sarakkeet” ilmainen?

Kyllä – oppitunnin ”Koodaa kategoriset sarakkeet” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko Data Science Academy-kurssin, päivitä CoddyKit PROhon. Data Science Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Koodaa kategoriset sarakkeet”?

One-hot- ja label-koodauksen perusteet Harjoittelet Data Science Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni Data Science Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin Data Science Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 2/4.

Kuinka kauan ”Koodaa kategoriset sarakkeet”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä Data Science Academy-oppitunnilla?

Kyllä. Jokainen Data Science Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Jaa numerot luokkiin
  2. Koodaa kategoriset sarakkeet
  3. Skaalaa ja normalisoi numerot
  4. Luo ominaisuuksia päivämääristä ja tekstistä
← Takaisin: Data Science Academy