Size: a a a

2019 April 15

A

Andrei in catboost_ru
Stanislav Kirillov
а зачем xgboost, если есть катбуст?)
catboost не умеет кастомные фолды принимать, к сожалению
источник

SK

Stanislav Kirillov in catboost_ru
Это шутка была, извини если что 🙂
источник

VS

Vasily Suvorov in catboost_ru
Stanislav Kirillov
а зачем xgboost, если есть катбуст?)
еретик
источник

MK

Maxim Khrisanfov in catboost_ru
Andrei
catboost не умеет кастомные фолды принимать, к сожалению
что такое "кастомные фолды"?
источник

AD

Anna Veronika Dorogush in catboost_ru
Добавим кастомные фолды https://github.com/catboost/catboost/issues/765
источник

A

Andrei in catboost_ru
крутяк! буду следить

а пока не добавили, есть альтернатива вашему чудесному визуализатору?
источник

AD

Anna Veronika Dorogush in catboost_ru
Я про такую не знаю
источник

AD

Anna Veronika Dorogush in catboost_ru
Maxim Khrisanfov
@annaveronika не могли бы вы в гитхабе актуализировать метки "in progress", многим задачам с этими метками уже больше года, не понятно над чем сейчас ведется работа.
готово
источник

MK

Maxim Khrisanfov in catboost_ru
спасибо) стало лучше
источник

AD

Anna Veronika Dorogush in catboost_ru
Andrei
крутяк! буду следить

а пока не добавили, есть альтернатива вашему чудесному визуализатору?
Заполни, пожалуйста, опрос про то, чего не хватает в катбусте: https://forms.yandex.ru/surveys/10011699/?lang=en
Кросс-валидацию улучшать там пока что никто не просил
источник
2019 April 16

K

Konstantin S in catboost_ru
Скажите, а можно сделать кросс-валидацию с группировкой? Например, в данных есть повторяющиеся ID,но описание по этим ID немного отличается и в CV они не должны попасть в разные группы. Сейчас приходится самому группировать и строить вручную CV, не удобно :(
источник

A

Aнтон in catboost_ru
Konstantin S
Скажите, а можно сделать кросс-валидацию с группировкой? Например, в данных есть повторяющиеся ID,но описание по этим ID немного отличается и в CV они не должны попасть в разные группы. Сейчас приходится самому группировать и строить вручную CV, не удобно :(
sklearn.model_selection.GroupKFold не?
источник

АМ

Александр Мов in catboost_ru
Угу
источник

K

Konstantin S in catboost_ru
Крутяк, спасибо, не знал про такой метод :)
источник

K

Konstantin S in catboost_ru
А в catboost внутри не предполагается реализация такая ?
источник

AD

Anna Veronika Dorogush in catboost_ru
Konstantin S
А в catboost внутри не предполагается реализация такая ?
По идее, если у тебя есть GroupId у пула, то будет группировка с учетом групп. Проверим, отпишемся. Но должно быть так, если не так, то это баг.
источник

K

Konstantin S in catboost_ru
Спасибо!
источник

A

Aнтон in catboost_ru
А у меня вот 3 вопроса на тему custom objective (мануал почитал по диагонали):
1) На ресурсе catboost.ai даётся пример кастомной функции потерь через отдельный класс (class LogLossObjective). На гитхабе в туториале пример приведён уже на плюсах через метод Eval (TUserDefinedPerObjectMetric::Eval). Анна где-то писала, что делать эту фичу на питоне не рекомендуется, будет долго работать (охотно верю). Значит ли это, что пример с гитхаба более релевантный?
2) В примере на плюсах метод Eval принимает, помимо прогноза, таргета и веса, ещё и TQuaryInfo. Где можно почитать про содержимое последнего?
3) Для чего я это все спрашиваю - хочу, чтобы при определении оптимального разделения на листья (задача Multilabel classification, не путать с Multiclass) в случае если для одного из лейблов слишком мало наблюдений (в этой части дерева), то бралась бы оценка ошибки из родительского листа. Достижимо ли это вообще в текущей реализации?
источник

AD

Anna Veronika Dorogush in catboost_ru
Anna Veronika Dorogush
По идее, если у тебя есть GroupId у пула, то будет группировка с учетом групп. Проверим, отпишемся. Но должно быть так, если не так, то это баг.
Да, все правильно, partition делается с учетом GroupId
источник

AD

Anna Veronika Dorogush in catboost_ru
Aнтон
А у меня вот 3 вопроса на тему custom objective (мануал почитал по диагонали):
1) На ресурсе catboost.ai даётся пример кастомной функции потерь через отдельный класс (class LogLossObjective). На гитхабе в туториале пример приведён уже на плюсах через метод Eval (TUserDefinedPerObjectMetric::Eval). Анна где-то писала, что делать эту фичу на питоне не рекомендуется, будет долго работать (охотно верю). Значит ли это, что пример с гитхаба более релевантный?
2) В примере на плюсах метод Eval принимает, помимо прогноза, таргета и веса, ещё и TQuaryInfo. Где можно почитать про содержимое последнего?
3) Для чего я это все спрашиваю - хочу, чтобы при определении оптимального разделения на листья (задача Multilabel classification, не путать с Multiclass) в случае если для одного из лейблов слишком мало наблюдений (в этой части дерева), то бралась бы оценка ошибки из родительского листа. Достижимо ли это вообще в текущей реализации?
1. Оба примера релевантны. Быстрее будет на плюсах.
2. Эта структура нужна, чтобы ранжирующие лоссы можно было писать. Напишем про это поподробнее в туториале, сделай, пожалуйста, issue.
3. Не уверена, что такое получится
источник