Настройки CTR CatBoost

Я использую catboost для задачи мультиклассификации с категориальными данными. Я проверял параметр по умолчанию для ctr, преобразование из категориальных в числовые данные. Говорят, что значением по умолчанию для ctr является "Нет".

Как я понял, это необязательный шаг.

Алго работал с моим набором данных, поэтому мне было интересно, если он использует:

  • Свойства повышения градиента, чтобы понять категориальные данные
  • или он действительно использует метод по умолчанию из Borders, Buckets, BinarizedTargetMeanValue, Counter
  • или он использует формулу, приведенную в примере avg_target = (countInclass + prior) / (totalcount +1) по умолчанию, которая выглядит как "Buckets"

1 ответ

Решение

В Multiclass CatBoost использует метод Buckets для расчета ctrs.

Формула, которую вы написали, верна. Отдельная функция ctr рассчитывается для каждого класса. Здесь countInClass - это число объектов с одинаковым значением категории перед заданным в случайной перестановке, которые имеют значение этого класса. А totalCount - это число объектов, переданных с тем же значением категории, которые имеют любое значение класса.

Другие вопросы по тегам