Pull to refresh

Comments 19

> CatBoost
> Проведенное нами сравнение показало, что данный алгоритм лучше других работает прямо «из коробки», т.е. без настройки каких-либо параметров.

Опыт участников kaggle говорит о другом — лидером и по качеству, и по скорости является именно LightGBM (речь о CPU вариантах — ходят слухи о невероятной крутости GPU варианта CatBoost, но на практике никто кроме Yandex его видимо пока никто не использует). Просьба поделиться Вашими исследованиями.
Лидером по скорости, несомненно, является LightGBM, после тюна параметров часто тоже. Но в случае, если совсем не задавать гиперпараметры и просто применять алгоритм на данных быстро, то catboost сразу показывает результаты, помогающие оценить порядок точности. Пробовали как на наших датасетах, так и есть исследования Яндекса, например, с конференции Smart Data, там же обещали GPU, но пока новостей не видели.
Вам не кажется, что если мы хотим быстро оценить порядок точности, то нам скорость работы важнее, чем то, что CatBoost выжмет лишних полпроцента по сравнению с другими бустингами? Ведь это всё равно грубая оценка.
У меня катбуст «из коробки» без тюна параметров показывает плачевные результаты на игрушечных датасетах. 20 секунд — серьезно?
Заголовок спойлера
image
Примерно на это я и намекал. CatBoost медленнее даже xgboost'a, что уж говорить про LightGBM, который ещё быстрее.
Да по скорости как правило проигрывает, это правда
В приведенном коде нет задания категориальных переменных — одной из важных «фишек» Кэтбуста. подробное сравнение можно прочитать здесь, например towardsdatascience.com/catboost-vs-light-gbm-vs-xgboost-5f93620723db Хотя, конечно, зависит от датасета.
Это слишком абстрактно — смотря какие порядки. Если разница в несколько минут, то можно и подождать, это сильно быстрее, чем тюнить руками, и отнимает меньше времени.
Вы не уловили идею: если мы не будем тюнить, то нам лучше получить результат за 20 секунд, а не за 10 минут, а если мы будем тюнить, то почему не брать сразу LightGBM, который в итоге даст лучше точность?
Разница не всегда такая большая. Кэтбусту хватает и нескольких минут, и, пока он учится, мы можем заниматься другим.

Графики AUC vs время обучения в сравнении catboost с другими алгоритмами можно найти в этой презентации от Яндекса assets.ctfassets.net/oxjq45e8ilak/1NtBCBQxXCaAOwy8kumUKu/edccea9c32bdf119e10417367cc85602/_________________________________________CatBoost___________________________________________________________________________.pdf
Разница не всегда такая большая. Кэтбусту хватает и нескольких минут, и, пока он учится, мы можем заниматься другим.

Какая разница, большая она или нет? Для грубой оценки нам всё равно выгоднее взять более быстрый алгоритм (во всяком случае вы пока не назвали ни одного аргумента, почему это не так).

Графики AUC vs время обучения в сравнении catboost с другими алгоритмами можно найти в этой презентации от Яндекса

>презентации от Яндекса
Даже открывать не нужно, чтобы предугадать результаты.
Какая разница, большая она или нет? Для грубой оценки нам всё равно выгоднее взять более быстрый алгоритм (во всяком случае вы пока не назвали ни одного аргумента, почему это не так).

Не совсем. При грубой оценке хочется выбирать наиболее приближенный к лучшему значению, если это сравнимо по времени.

Если утрировать, то самым быстрым алгоритмом тогда можно взять линейную регрессию и просто решающее дерево, однако это не даст вменяемый потолок.

Вопрос в балансе скорости получения результата и адекватности полученного результата. За счет быстроты работы к Lightgbm, например, быстрее подобрать гиперпараметры, однако если просто попробовать, без задания грида и as is, то это может быть не лучшим, т.к. нет уверенности что это не плюс-минус километр (как, например, при применении необученного RandomForest из scikit-learn).
GPU у катбуста достаточно быстрый, но вероятно у меня не так много оперативки: после завершения активных вычислений он начинает что то активно туда кидать (катбуст затребовал 40 ГБ оперативки): и того 20 мин работы GPU и я ждал 8 часов так и не дождался результата, в итоге решил поберечь свой жесткий диск.
У вас немного дезинформации: Torch и PyTorch — это два разных человека. И, собственно, PyTorch — на питоне.
В какой-то мере Ваш ответ тоже ошибочен. Совсем разными библиотеки тоже назвать нельзя, ядро то же самое (SO)
Это миграция библиотеки для MatLab Torch на язык питон с сохранением функционала, грубо говоря. В данном обзоре мы рассматривали именно Python с упором на функциональную разницу.

Добавьте данные по пакетам Matlab пожалуйста, хотя бы по этому пакету, а ещё лучше обзор решений, который вообще для него есть.

решающих деревьев и лесов

В русскоязычной литературе это деревья принятия решений и случайные леса

Поддержка вычислений на видеокартах

Тут следует указать наверное что на видеокартах NVidea с поддержкой GPU

Sign up to leave a comment.