Size: a a a

2021 March 10

DD

Dmitry Donchenko in catboost_ru
Всем привет!
А какой метрикой лучше оценить перформанс регрессионной модели кэтбуста на датасете с очень большим дисбалансом в целевой переменной? (в большей части данных целевая переменная равна нулю, в остальных может принимать значения от 0 до 1)
источник

DD

Dmitry Donchenko in catboost_ru
Может есть смысл сначала решить задачу классификации (целевая переменная > 0), а затем уже на ненулевых данных предсказывать ее значение?
источник

Д

Дмитрий in catboost_ru
Dmitry Donchenko
Может есть смысл сначала решить задачу классификации (целевая переменная > 0), а затем уже на ненулевых данных предсказывать ее значение?
знаю что в классификатре есть параметр class_weights, у меня так решается для несбалансированных классов class_weights = [1-((set_size-positive_size)/set_size), (set_size-positive_size)/set_size
источник

DD

Dmitry Donchenko in catboost_ru
Дмитрий
знаю что в классификатре есть параметр class_weights, у меня так решается для несбалансированных классов class_weights = [1-((set_size-positive_size)/set_size), (set_size-positive_size)/set_size
Да, но он только для классификации.
У меня ещё вопрос - как лучше оценивать регрессионные модели с таким дисбалансом? Для классификации есть удобные метрики f-score, auc и т.п., которые позволяют оценить, насколько хорошо модель предсказывает мало представленные классы, но как быть с регрессией?
источник

L

LS in catboost_ru
Dmitry Donchenko
Да, но он только для классификации.
У меня ещё вопрос - как лучше оценивать регрессионные модели с таким дисбалансом? Для классификации есть удобные метрики f-score, auc и т.п., которые позволяют оценить, насколько хорошо модель предсказывает мало представленные классы, но как быть с регрессией?
Может быть имеет смысл отсеивать по probability?
источник

DD

Dmitry Donchenko in catboost_ru
В смысле, отдельно посмотреть ошибку метрики регрессии на данных с ненулевой целевой переменной?
источник

L

LS in catboost_ru
Dmitry Donchenko
В смысле, отдельно посмотреть ошибку метрики регрессии на данных с ненулевой целевой переменной?
Не берусь сказать про регрессию, работаю с мультиклассом, для которого есть predict_proba, с помощью которой я отсеиваю результаты с низкой вероятностью.
источник

AU

Aleksei Ustimenko in catboost_ru
Dmitry Donchenko
Всем привет!
А какой метрикой лучше оценить перформанс регрессионной модели кэтбуста на датасете с очень большим дисбалансом в целевой переменной? (в большей части данных целевая переменная равна нулю, в остальных может принимать значения от 0 до 1)
На самом деле у вас задача классификации по сути, но с soft labels, все классификационные метрики можно заставить работать с таким случаем, но из коробки я не уверен, что они так сработают.
источник

AU

Aleksei Ustimenko in catboost_ru
В крайнем случае вы можете «просэмплировать» бинарные таргеты (с вероятностью равному таргету семплирования 1 или 0) и по ним посчитать метрики классификации, для точности повторить и усреднить
источник

TG

T G in catboost_ru
Дмитрий
знаю что в классификатре есть параметр class_weights, у меня так решается для несбалансированных классов class_weights = [1-((set_size-positive_size)/set_size), (set_size-positive_size)/set_size
Подскажи пожалуйста, когда  class_weights необходим? Тут выше писали, что в некоторых случаях он не нужен...
источник

Д

Дмитрий in catboost_ru
T G
Подскажи пожалуйста, когда  class_weights необходим? Тут выше писали, что в некоторых случаях он не нужен...
я вообще понимаю, так что он нужен для того, чтобы метрики оценивались правильно. Т.е. у тебя при 75% на 25% может выдавать система точность 75%, т.е. все данные будет считать первым классом - точность высокая, по факту нулевая. И, если, я правильно, понимаю сам градиентный бустинг обучается «смотря» на метрику, если метрика не верная, как он может обучаться правильно? Если кто-то может больше расскрыть, мне тоже это будет полезно.
источник
2021 March 11

СП

Степан Пухмарев... in catboost_ru
Добрый день! А не подскажете, как посмотреть количество фичей, которые создаются в результате обработки text_category?
источник

DD

Dmitry Donchenko in catboost_ru
Добрый день, можно ли использовать CrossEntropy в качестве loss function на очень несбалансированном датасете (в 99% таргет = 0, в остальных - между 0 и 1)?
С cross entropy нельзя ставить class weights
источник
2021 March 12

ES

Eduard St in catboost_ru
Привет всем!
Подскажите, пожалуйста, знатоки catboost,
если при обучении модели бинарной классификации
получается bestTest больше 0.5 - например 0.69
значит ли это что catboost не видит никаких закономерностей в данных?
Применять такую модель бесполезно?
источник

AV

Andrey Vetrov in catboost_ru
Привет всем! Подскажите, пожалуйста. Многоклассовая классификация. При обучении классификатора используется ранняя остоновка с импользованием валидационной выборки, которая получена случайным сэмплированием из исходной. Оказывается, что в ней есть элемент одного из классов, которого не в обучающей, в результате catboost выдает "unknown class label:" как можно это обойти, не занимаясь тем, что семплировать так, чтобы обеспечивать наличие всех классов?
источник

SK

Stanislav Kirillov in catboost_ru
Eduard St
Привет всем!
Подскажите, пожалуйста, знатоки catboost,
если при обучении модели бинарной классификации
получается bestTest больше 0.5 - например 0.69
значит ли это что catboost не видит никаких закономерностей в данных?
Применять такую модель бесполезно?
А какая у вас метрика?
источник

SK

Stanislav Kirillov in catboost_ru
Andrey Vetrov
Привет всем! Подскажите, пожалуйста. Многоклассовая классификация. При обучении классификатора используется ранняя остоновка с импользованием валидационной выборки, которая получена случайным сэмплированием из исходной. Оказывается, что в ней есть элемент одного из классов, которого не в обучающей, в результате catboost выдает "unknown class label:" как можно это обойти, не занимаясь тем, что семплировать так, чтобы обеспечивать наличие всех классов?
Тут по тексту ошибки выглядит так, что наоборот, в валидации есть метка которой нет в тройне, проверите?
источник

AV

Andrey Vetrov in catboost_ru
Stanislav Kirillov
Тут по тексту ошибки выглядит так, что наоборот, в валидации есть метка которой нет в тройне, проверите?
Да, именно, так, так как класс очень редкий, возможно что это только 1 строка, можно ли это игнорировать : не рассматривать эту строку при валидации?
источник

ES

Eduard St in catboost_ru
Stanislav Kirillov
А какая у вас метрика?
'loss_function':'MultiClass', 'eval_metric': 'Accuracy'
источник

TB

Taras B in catboost_ru
Andrey Vetrov
Привет всем! Подскажите, пожалуйста. Многоклассовая классификация. При обучении классификатора используется ранняя остоновка с импользованием валидационной выборки, которая получена случайным сэмплированием из исходной. Оказывается, что в ней есть элемент одного из классов, которого не в обучающей, в результате catboost выдает "unknown class label:" как можно это обойти, не занимаясь тем, что семплировать так, чтобы обеспечивать наличие всех классов?
стратификацию сдклать при разбиении надо
источник