Встречается на собеседованиях • сегодня

Как обрабатывать категориальные признаки

Для обработки категориальных признаков есть несколько методов:

  1. One-Hot Encoding (OHE) – создает бинарные колонки для каждого уникального значения. Подходит для номинальных признаков без порядка.
python
from sklearn.preprocessing import OneHotEncoder
encoder = OneHotEncoder(sparse=False)
encoded = encoder.fit_transform(df[['category']])
  1. Label Encoding – присваивает числовые метки категориям. Подходит для порядковых данных.
python
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
df['category_encoded'] = encoder.fit_transform(df['category'])
  1. Target Encoding – заменяет категории средним значением целевой переменной. Риск утечки данных, требует осторожности.
python
target_mean = df.groupby('category')['target'].mean()
df['category_encoded'] = df['category'].map(target_mean)
  1. Frequency Encoding – заменяет категории их частотой в датасете.

Выбор метода зависит от природы данных и модели. Для деревьев иногда можно оставить категории как строки, для линейных моделей – OHE или embeddings. Всегда проверяйте влияние на целевую метрику!

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы