Size: a a a

2019 December 12

AS

Alexsey Shestacov in catboost_ru
это внутренняя кухня
источник

IP

Igor Petrov in catboost_ru
Alexsey Shestacov
это внутренняя кухня
А раньше работало
источник

AK

Andrei Khropov in catboost_ru
далее надо скачать catboost с github
источник

AK

Andrei Khropov in catboost_ru
источник

AK

Andrei Khropov in catboost_ru
после это перейти в скачанной папке в catboost/catboost/jvm-packages/catboost4j-prediction
источник

AK

Andrei Khropov in catboost_ru
установить сборочные переменные для Visual C++
источник

AK

Andrei Khropov in catboost_ru
источник

AK

Andrei Khropov in catboost_ru
"c:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
источник

AK

Andrei Khropov in catboost_ru
примерно так
источник

AK

Andrei Khropov in catboost_ru
после этого запустить "mvn clean test" в этой папке
источник

AK

Andrei Khropov in catboost_ru
если все пойдет как надо, тот он должен завершиться без ошибок с примерно таким сообщением
источник

AK

Andrei Khropov in catboost_ru
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running ai.catboost.CatBoostModelTest
Tests run: 54, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.338 sec

Results :

Tests run: 54, Failures: 0, Errors: 0, Skipped: 0

[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
источник

AK

Andrei Khropov in catboost_ru
Да, версия с github должна быть https://github.com/catboost/catboost/commit/5cd44d6558caee7db569378354d8e3fc49c5df9c или позже
источник

AK

Andrei Khropov in catboost_ru
а да, еще должна быть установлена какая-то версия python актуальная (2.7 или 3.x)
источник

K

K-S in catboost_ru
Dmitriy Kruchinin
У вас есть пример на котором хорошо работает l1 регуляризация в деревьях?
Мы не пробовали, но это возможность улучшить библиотеку, если у вас есть пример (или даже если его нет) напишите issue на гитхабе с пометкой feature request.
Ну... не знаю, насколько хорошо, но в xgb l1 же есть, в лгб вроде тоже
источник

VB

Vladimir Baryshev in catboost_ru
Добрый день.

Как рабоатет Catboost с категориальными фичами. Если указываю при объявлении модели cat_features=[...], то алгоритм кодирует фичи указанные в списке "под капотом"? А если я сделаю таргет инкодинг этих фичей(кажется алгоритму уже придется работать с float значениями и на основе них алгоритм посторит one-hot вектора), нужно ли указывать параметр cat_features=[...]? Если да, то зачем?

# Пример кодирования категориальных фичей перед подачей X в cat_model
# https://contrib.scikit-learn.org/categorical-encoding/
import category_encoders as ce
encoder = ce.TargetEncoder()
encoder.fit(X[cat], y)
X[cat] = encoder.transform(X[cat]).astype(np.float16)

# Пример, вызова модели в моем случае:
cat_model = CatBoostRegressor(
   loss_function='RMSE',
   eval_metric='RMSE',
   task_type="GPU",
   gpu_ram_part=0.6,
   cat_features=categorical_columns)
источник

VB

Vladimir Baryshev in catboost_ru
Конкретизировал вопрос выше.
источник

DK

Dmitriy Kruchinin in catboost_ru
Vladimir Baryshev
Добрый день.

Как рабоатет Catboost с категориальными фичами. Если указываю при объявлении модели cat_features=[...], то алгоритм кодирует фичи указанные в списке "под капотом"? А если я сделаю таргет инкодинг этих фичей(кажется алгоритму уже придется работать с float значениями и на основе них алгоритм посторит one-hot вектора), нужно ли указывать параметр cat_features=[...]? Если да, то зачем?

# Пример кодирования категориальных фичей перед подачей X в cat_model
# https://contrib.scikit-learn.org/categorical-encoding/
import category_encoders as ce
encoder = ce.TargetEncoder()
encoder.fit(X[cat], y)
X[cat] = encoder.transform(X[cat]).astype(np.float16)

# Пример, вызова модели в моем случае:
cat_model = CatBoostRegressor(
   loss_function='RMSE',
   eval_metric='RMSE',
   task_type="GPU",
   gpu_ram_part=0.6,
   cat_features=categorical_columns)
если вы сами перевели категориальную фичу во флотовую, то указывать cat_features не надо
если вы хотите сделать one-hot-encoding кат фичи, то указываете cat_features и параметр one_hot_max_size
https://catboost.ai/docs/features/categorical-features.html
источник

VB

Vladimir Baryshev in catboost_ru
Вас понял. Спасибо.
источник

VB

Vladimir Baryshev in catboost_ru
Еще вопрос: я не заворачиваю данные в Pool. Учу модель на 2 картах GPU и 8 логических процессорах. Насколько вырастет качество и производительность(скорость) обучения с применением Pool?
источник