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

Можно ли использовать CatBoost без предварительного кодирования категориальных признаков

Да, CatBoost поддерживает категориальные признаки "из коробки" без предварительного кодирования. Достаточно указать их индексы при инициализации модели через параметр cat_features. CatBoost использует эффективные методы обработки категорий, включая ordered boosting и обработку редких категорий.

Пример:

python
from catboost import CatBoostClassifier

# Данные: категориальные признаки в виде строк
X = [["A", 10], ["B", 20], ["A", 30]]
y = [0, 1, 0]

model = CatBoostClassifier(cat_features=[0])  # Указываем индекс категориального признака
model.fit(X, y)

Плюсы:

  • Нет необходимости в One-Hot Encoding или Label Encoding.
  • Автоматически обрабатывает новые категории в тестовых данных.
  • Учитывает статистику категорий для борьбы с переобучением.

Ограничения:

  • Категории должны быть строковыми или целочисленными (но не float).
  • Для больших объемов данных может потребоваться больше памяти.
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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