Kokie būdai yra dirbti su kategorinėmis žymėmis?
sobes.tech AI
Atsakymas iš AI
Mašininiam mokymuisi būdingi keli pagrindiniai būdai dirbti su kategoriniais požymiais:
-
Žymės kodavimas (Label Encoding) — kiekvienai kategorijai priskiriamas unikalus skaičius. Tinka eilės tvarka turintiems kategoriniams požymiams, tačiau gali suklaidinti modelį, jei nėra tvarkos.
-
One-Hot Encoding — kiekvienai kategorijai sukuriama dvejetainė savybė. Pavyzdžiui, "Spalva" su kategorijomis {raudona, mėlyna, žalia} paverčiama į tris dvejetaines savybes.
-
Tikslo kodavimas (Target Encoding) — kategorijos pakeičiamos tikslinės kintamosios statistika (pavyzdžiui, kiekvienos kategorijos vidutinė tikslinės kintamosios reikšmė). Reikia būti atsargiems, kad išvengtumėte duomenų nutekėjimo.
-
Dažnio kodavimas (Frequency Encoding) — kategorijos pakeičiamos jų dažniu duomenyse.
-
Įterpimai (Embeddings) — didelės unikalių reikšmių kategorijoms (pavyzdžiui, NLP) naudojamos vektorinės reprezentacijos, kurios mokomos kartu su modeliu.
Pasirinkimas priklauso nuo užduoties, modelio ir duomenų kiekio. Pavyzdžiui, sprendimų medžiai dažnai pakanka Label arba One-Hot Encoding, o neuroninėms tinklams — embeddings.
Python pavyzdys su One-Hot Encoding:
import pandas as pd
df = pd.DataFrame({'Spalva': ['raudona', 'mėlyna', 'žalia', 'mėlyna']})
df_encoded = pd.get_dummies(df, columns=['Spalva'])
print(df_encoded)
Rezultatas:
Spalva_raudona Spalva_žalia Spalva_mėlyna
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1