Size: a a a

2020 June 05

ND

Nikita Dmitriev in catboost_ru
У тебя разные разбиения получаются в первом и во втором случае
Попробуй выставить shuffle=False
и в train_test_split и в grid_search
источник

SF

Stepan Frolov in catboost_ru
Nikita Dmitriev
У тебя разные разбиения получаются в первом и во втором случае
Попробуй выставить shuffle=False
и в train_test_split и в grid_search
Сделал: при fit - 0.6298783, при grid_search - 0.6276180
А в grid_search разбиение основано на train_test_split из sklearn?
источник

ND

Nikita Dmitriev in catboost_ru
нет, у нас там свое разбиение
Ну числа стали ближе друг к другу

Попробуй еще в grid_search передать в параметр cv штуку, которая называется PredefinedSplit
Типа касттомную cv замутить, в кторой у тебя будет один фолт с нужным тебе разбиением, которое ты сделаешь с помощью train_test_split
Вот примерный пример кода (возможно нужно подредактировать)
split = train_test_split(range(pool_size), train_size=train_size, random_state=partition_random_seed, shuffle=shuffle)
test_fold = np.zeros(pool_size, dtype=int)
test_fold[split[0]] = -1
# split = (train_indices, test_indices)
# test_fold has -1 at train indices and 0 at test indices
# so, PredefinedSplit(test_fold) generates exactly one train set and one test set corresponding to that split
custom_folds_for_optimize = PredefinedSplit(test_fold)
источник
2020 June 06

ВС

Валентина Семенихина... in catboost_ru
OMG!
источник

ВС

Валентина Семенихина... in catboost_ru
NICE
источник
2020 June 07

ЕС

Екатерина Солдатова... in catboost_ru
OMG
источник
2020 June 09

OT

Oscar Tempter in catboost_ru
а я правильно понимаю что save_quantization_borders сохраняет способ перевода категориальных фичей в числовые ? То есть этого достаточно чтобы потом я мог загружать этот файл и использовать Pool для любых новых данных ?
источник

OT

Oscar Tempter in catboost_ru
Или мне это вообще не нужно и вся эта инфа хранится в уже в файле модели катбуста ?
источник

S

Stanislav in catboost_ru
Oscar Tempter
Или мне это вообще не нужно и вся эта инфа хранится в уже в файле модели катбуста ?
Угу, хранится
источник

OT

Oscar Tempter in catboost_ru
Просто я модель обучал с Pool, а сейчас хочу применить на других данных и я не пойму Pool все так же преобразует или хрень будет
источник

OT

Oscar Tempter in catboost_ru
Stanislav
Угу, хранится
спасибо
источник

OT

Oscar Tempter in catboost_ru
а зачем тогда нужен Pool.quantize ? я правильно понимаю это необходимо для перевода числовых (не категориальных) фичей в какие-то кагеории относительно таргета ? Типа катубст лишнюю работу по обработке фичей делает за меня и мне не нужно самому исследовать как зависит таргет от разных способов разбиения непрерывной переменной на разные категории. Типа есть неприрывная фича от 0 до 100 и так получается что например основная часть 1 таргета оказалась в пределах от 20 до 30. И катбуст создаст новую категориальную переменную с двумя категориями одна [0; 20) до (30; 100],  а вторая категория [20; 30] ?
источник
2020 June 10

A

Alena in catboost_ru
Всем привет,
делаю кросс-валидацию для мультиклассовой классификации.
Вот такой кусочек кода
def cross_validation(df):
   from catboost import cv
   params = {"iterations": 5,
             "depth": 8,
             "loss_function": "MultiClass",
             "verbose": False,
             "custom_metric": ['F1'],}
   scores = cv(df,
               params,
               fold_count=3,
               )
   print(scores)

возврает такой датафрейм
Data columns (total 17 columns):
iterations               10 non-null int64
test-MultiClass-mean     10 non-null float64
test-MultiClass-std      10 non-null float64
train-MultiClass-mean    10 non-null float64
train-MultiClass-std     10 non-null float64
test-F1:class=0-mean     10 non-null float64
test-F1:class=0-std      10 non-null float64
train-F1:class=0-mean    10 non-null float64
train-F1:class=0-std     10 non-null float64
test-F1:class=1-mean     10 non-null float64
test-F1:class=1-std      10 non-null float64
train-F1:class=1-mean    10 non-null float64
train-F1:class=1-std     10 non-null float64
test-F1:class=2-mean     10 non-null float64
test-F1:class=2-std      10 non-null float64
train-F1:class=2-mean    10 non-null float64
train-F1:class=2-std     10 non-null float64
dtypes: float64(16), int64(1)

Я так понимаю оно посчитало f1score для каждого класса. А как свести это в одну общую метрику? Что-то вроде как у sklearn
metrics.f1_score(y_true, y_pred, average='weighted')
источник

IL

Ivan Lyzhin in catboost_ru
Используй метрику TotalF1
источник

A

Alena in catboost_ru
так просто?! 🙀 Спасибо!
источник

A

Alexandr in catboost_ru
Добрый день! Хотел спросить про  использование множественной регрессии (multirmse), пытаюсь указать категориальные переменные
источник

A

Alexandr in catboost_ru
Но выдает ошибку и говорит, что   Для multirmse не поддерживается категориальные переменные
источник

AD

Anna Veronika Dorogu... in catboost_ru
Alexandr
Но выдает ошибку и говорит, что   Для multirmse не поддерживается категориальные переменные
Да, для multirmse не поддерживаются.
источник
2020 June 11

A

Alexandr in catboost_ru
Anna Veronika Dorogush
Да, для multirmse не поддерживаются.
будет ли эта функция добавлена позже?
источник

AD

Anna Veronika Dorogu... in catboost_ru
Когда-нибудь добавим. На гитхабе issue есть, можно на него подписаться, там будут новости.
источник