Настройки CTR CatBoost
Я использую catboost для задачи мультиклассификации с категориальными данными. Я проверял параметр по умолчанию для ctr, преобразование из категориальных в числовые данные. Говорят, что значением по умолчанию для ctr является "Нет".
Как я понял, это необязательный шаг.
Алго работал с моим набором данных, поэтому мне было интересно, если он использует:
- Свойства повышения градиента, чтобы понять категориальные данные
- или он действительно использует метод по умолчанию из Borders, Buckets, BinarizedTargetMeanValue, Counter
- или он использует формулу, приведенную в примере avg_target = (countInclass + prior) / (totalcount +1) по умолчанию, которая выглядит как "Buckets"
1 ответ
В Multiclass CatBoost использует метод Buckets для расчета ctrs.
Формула, которую вы написали, верна. Отдельная функция ctr рассчитывается для каждого класса. Здесь countInClass - это число объектов с одинаковым значением категории перед заданным в случайной перестановке, которые имеют значение этого класса. А totalCount - это число объектов, переданных с тем же значением категории, которые имеют любое значение класса.