Sobes.tech
Middle

Какви методи съществуват за работа с категорийни признаци?

sobes.tech AI

Отговор от AI

Основните начини за работа с категорийни признаци в машинното обучение са:

  1. Label Encoding (кодиране на етикети) — на всяка категория се присвоява уникално число. Подходящо за подредени категории, но може да обърка модела, ако няма ред.

  2. One-Hot Encoding — създава се бинарна характеристика за всяка категория. Например, характеристиката "Цвят" с категории {червен, син, зелен} се преобразува в три бинарни характеристики.

  3. Target Encoding (целева кодировка) — категориите се заменят със статистики на целевата променлива (например, средната стойност за всяка категория). Трябва да се внимава, за да се избегне изтичане на данни.

  4. Frequency Encoding (честотна кодировка) — категориите се заменят с честотата им в данните.

  5. Embeddings — за категории с голям брой уникални стойности (например, в NLP) се използват векторни представяния, обучавани заедно с модела.

Изборът на метод зависи от задачата, модела и обема на данните. Например, за дървета за вземане на решения често е достатъчно Label или One-Hot Encoding, а за невронни мрежи — embeddings.

Пример за One-Hot Encoding на Python с pandas:

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