Sobes.tech
Middle

Koji načini rada sa kategorijalnim znacima postoje?

sobes.tech АИ

Одговор од АИ

Glavne metode za rad sa kategorijalnim osobinama u mašinskom učenju su:

  1. Label Encoding (kodiranje oznaka) — svakoj kategoriji se dodeljuje jedinstveni broj. Pogodno za poređane kategorije, ali može zbuniti model ako nema redosled.

  2. One-Hot Encoding — za svaku kategoriju se kreira binarna osobina. Na primer, osobina "Boja" sa kategorijama {crvena, plava, zelena} se pretvara u tri binarne osobine.

  3. Target Encoding (ciljno kodiranje) — kategorije se zamenjuju statistikama ciljne promenljive (npr. prosečnom vrednošću ciljne promenljive za svaku kategoriju). Potrebna je opreznost da se izbegne curenje podataka.

  4. Frequency Encoding (frekventno kodiranje) — kategorije se zamenjuju njihovom frekvencijom pojavljivanja u podacima.

  5. Embeddings — za kategorije sa velikim brojem jedinstvenih vrednosti (npr. u NLP-u) koriste se vektorske reprezentacije koje se treniraju zajedno sa modelom.

Izbor metode zavisi od zadatka, modela i obima podataka. Na primer, za stabla odlučivanja često je dovoljno Label ili One-Hot Encoding, dok za neuronske mreže — embeddings.

Primer One-Hot Encoding u Pythonu sa pandas:

import pandas as pd

df = pd.DataFrame({'Boja': ['crvena', 'plava', 'zelena', 'plava']})
df_encoded = pd.get_dummies(df, columns=['Boja'])
print(df_encoded)

Rezultat:

   Boja_crvena  Boja_zelena  Boja_plava
0             1             0            0
1             0             0            1
2             0             1            0
3             0             0            1