Какви методи съществуват за работа с категорийни признаци?
sobes.tech AI
Отговор от AI
Основните начини за работа с категорийни признаци в машинното обучение са:
-
Label Encoding (кодиране на етикети) — на всяка категория се присвоява уникално число. Подходящо за подредени категории, но може да обърка модела, ако няма ред.
-
One-Hot Encoding — създава се бинарна характеристика за всяка категория. Например, характеристиката "Цвят" с категории {червен, син, зелен} се преобразува в три бинарни характеристики.
-
Target Encoding (целева кодировка) — категориите се заменят със статистики на целевата променлива (например, средната стойност за всяка категория). Трябва да се внимава, за да се избегне изтичане на данни.
-
Frequency Encoding (честотна кодировка) — категориите се заменят с честотата им в данните.
-
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