классификатор catboost для дисбаланса класса? - PullRequest
1 голос
/ 15 января 2020

Я использую классификатор catboost для моей бинарной модели классификации, где у меня набор данных с большим дисбалансом 0 -> 115000 & 1 -> 10000. Может кто-нибудь подсказать мне, как использовать следующие параметры в catboostclassifier:
1 . class_weights
2. scale_pos_weight?

Из документации у меня сложилось впечатление, что я могу использовать отношение суммы отрицательного класса к сумме положительного класса, то есть 115000/10000 = 11,5, в качестве входных данных для scale_pos_weight, но я не уверен.

Пожалуйста, дайте мне знать, какие точные значения использовать для этих двух параметров и метода для получения этого значения?

Спасибо

1 Ответ

0 голосов
/ 16 января 2020

Для scale_pos_weight вы бы использовали отрицательный класс // положительный класс. в вашем случае это будет 11 (я предпочитаю использовать целые числа).

Для веса класса вы должны указать кортеж дисбаланса класса. в вашем случае это будет: class_weights = (1, 11)

class_weights более гибок, поэтому вы можете определить его для целей нескольких классов. например, если у вас есть 4 класса, вы можете установить его: class_weights = (0.5,1,5,25)

и вам нужно использовать только один из параметров. для проблемы двоичной классификации я бы придерживался scale_pos_weight.

...