Sobes.tech
Middle

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:

  1. Ž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.

  2. One-Hot Encoding — kiekvienai kategorijai sukuriama dvejetainė savybė. Pavyzdžiui, "Spalva" su kategorijomis {raudona, mėlyna, žalia} paverčiama į tris dvejetaines savybes.

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

  4. Dažnio kodavimas (Frequency Encoding) — kategorijos pakeičiamos jų dažniu duomenyse.

  5. Į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