Sobes.tech
Middle
24

Какие способы работы с категориальными признаками существуют?

Компании, где спрашивали
1221 Systems
Автомакон

Ответ от нейросети

sobes.tech 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