Чӣ роҳҳои кор бо нишонаҳои категорияӣ мавҷуданд?
sobes.tech AI
Ҷавоб аз AI
Машин оқишда категорияли белгилер асосий равишда қуйидаги асосий усуллар билан ишланади:
-
Label Encoding (Этикет кодлаш) — ҳар бир категорияга уникал рақам берилади. Тартибланган категориялар учун мос, аммо тартиб йўқ бўлса, моделни chalkитиши мумкин.
-
One-Hot Encoding — ҳар бир категория учун бинар хусусият яратилади. Масалан, "Ранг" хусусияти {қизил, кўк, яшил} бўлса, у учта бинар хусусиятга айлантирилади.
-
Target Encoding (Мақсад кодлаш) — категориялар мақсад ўзгарувчисининг статистикаси билан алмаштирилади (масалан, ҳар бир категория учун мақсад ўзгарувчисининг ўрта қиймати). Эҳтиёт бўлиш керак, маълумотлар оқиб кетмаслиги учун.
-
Frequency Encoding (Частотали кодлаш) — категориялар уларнинг маълумотларда учраш тезлиги билан алмаштирилади.
-
Embeddings (Векторлаш) — катта сонида уникал қийматга эга категориялар учун (масалан, NLPда) модел билан бирга ўргатилган векторли тасвирлар қўлланади.
Танлов усулдан, моделдан ва маълумот ҳажмидан боғлиқ. Масалан, қарор дарахтлари учун одатда Label ёки One-Hot Encoding етарли, нейрон тармоқлар учун — embeddings.
Pythonда One-Hot Encoding мисоли:
import pandas as pd
df = pd.DataFrame({'Ранг': ['қизил', 'кўк', 'яшил', 'кўк']})
df_encoded = pd.get_dummies(df, columns=['Ранг'])
print(df_encoded)
Натижа:
Рангқизил Рангяшил Рангкўк
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1