Koji načini rada sa kategorijalnim znacima postoje?
sobes.tech АИ
Одговор од АИ
Glavne metode za rad sa kategorijalnim osobinama u mašinskom učenju su:
-
Label Encoding (kodiranje oznaka) — svakoj kategoriji se dodeljuje jedinstveni broj. Pogodno za poređane kategorije, ali može zbuniti model ako nema redosled.
-
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.
-
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.
-
Frequency Encoding (frekventno kodiranje) — kategorije se zamenjuju njihovom frekvencijom pojavljivanja u podacima.
-
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