Kategoriyali xususiyatlar bilan ishlashning qanday usullari mavjud?
sobes.tech AI
AIdan javob
Mashina o'rganishdagi kategorik xususiyatlar asosan quyidagi asosiy usullar bilan ishlanadi:
-
Label Encoding (Yozuvni raqamga o'tkazish) — har bir kategoriya uchun noyob raqam beriladi. Bu tartiblangan kategoriyalar uchun mos, ammo tartib yo'qligida modelni chalg'itishi mumkin.
-
One-Hot Encoding — har bir kategoriya uchun ikkilik xususiyat yaratiladi. Masalan, "Rang" xususiyati {qizil, ko'k, yashil} bo'lsa, u uchta ikkilik xususiyatga aylantiriladi.
-
Target Encoding (Ma'lumotga asoslangan kodlash) — kategoriyalar maqsad o'zgaruvchisining statistikasi bilan almashtiriladi (masalan, har bir kategoriya uchun maqsad o'zgaruvchisining o'rtacha qiymati). Ehtiyot bo'lish kerak, ma'lumotlarni oqib ketmaslik uchun.
-
Frequency Encoding (Tezlik bilan kodlash) — kategoriyalar ularning ma'lumotlar ichidagi uchrash chastotasi bilan almashtiriladi.
-
Embeddings (Vektorli ifodalar) — katta sonli noyob qiymatga ega kategoriyalar uchun (masalan, NLPda) model bilan birga o'qitiladigan vektorli taqdimotlar ishlatiladi.
Usul tanlovi vazifa, model va ma'lumot hajmiga bog'liq. Masalan, qaror daraxtlari uchun odatda Label yoki One-Hot Encoding yetarli, neyron tarmoqlar uchun — embeddings.
Python bilan One-Hot Encoding misoli:
import pandas as pd
df = pd.DataFrame({'Rang': ['qizil', 'ko'k', 'yashil', 'ko'k']})
df_encoded = pd.get_dummies(df, columns=['Rang'])
print(df_encoded)
Natija:
Rang_qizil Rang_yashil Rang_ko'k
0 1 0 0
1 0 0 1
2 0 1 0
3 0 0 1