Size: a a a

2020 June 04

SN

Sergey Novozhilov in catboost_ru
Здравствуйте!

Я взвешиваю классы :
scale_pos_weight=en.scale_pos_weight

и получаю такой вывод метрик (средние). Для метрик, которые используют веса, выводится два значения - use_weights=false и use_weights=true

разница иногда разительная, здесь для precision просто огромная.

Это что означает? То, что взвешивание оказало сильный еффект? Или смотреть надо как-то иначе?
*************** start printing custom metrics *************
Kappa: 0.5918155277161626
Accuracy:use_weights=false: 0.7280166666666665
Precision:use_weights=false: 0.29840621783634946
Recall:use_weights=false: 0.8860228452751818
MCC:use_weights=true: 0.6017257779176726
MCC:use_weights=false: 0.4042244689136794
Accuracy:use_weights=true: 0.7958920724035303
AUC: 0.8688929175758742
Logloss: 0.49361973416889854
Precision:use_weights=true: 0.7508035767474385
Recall:use_weights=true: 0.8860228452751818
F1:use_weights=false: 0.4463146739245634
F1:use_weights=true: 0.8127800545060098
=============== end printing custom metrics ================
источник
2020 June 05

p

pshn in catboost_ru
Всем привет!
А подскажите, в какой версии добавился Tweedie? В документации его вижу, обновляю до последней доступной сборки - и выкидывает ошибку.
источник

VB

Victor Bartel in catboost_ru
Добрый день, огромное вам спасибо (еще раз) за проведенный вами вчера туториал.
источник

IL

Ivan Lyzhin in catboost_ru
Tweedie появился в версии 0.23
источник

IL

Ivan Lyzhin in catboost_ru
источник

p

pshn in catboost_ru
Ivan Lyzhin
Tweedie появился в версии 0.23
Спасибо🙏
источник

SF

Stepan Frolov in catboost_ru
Добрый день.
Есть ли возможность в custom_metric использовать свою функцию? Вижу такую возможность только для loss_function и eval_metric. Меня интересует Specificity, которая, на сколько я вижу, не реализована в catboost
источник

SN

Sergey Novozhilov in catboost_ru
А можно посмотреть где-то вчерашний туториал в записи, не смог поучаствовать, жалею
источник

YK

Yerzhan Karatay in catboost_ru
Обещали на почту скинуть вместе с результатами конкурса, надо подождать наверно, сам где-то процентов 30 посмотрел.
источник

ND

Nikita Dmitriev in catboost_ru
Stepan Frolov
Добрый день.
Есть ли возможность в custom_metric использовать свою функцию? Вижу такую возможность только для loss_function и eval_metric. Меня интересует Specificity, которая, на сколько я вижу, не реализована в catboost
Привет!
в custom_metric сейчас нельзя использоовать свою функцию. А чем не подходит eval_metric?
источник

ND

Nikita Dmitriev in catboost_ru
Sergey Novozhilov
А можно посмотреть где-то вчерашний туториал в записи, не смог поучаствовать, жалею
Как запись будет готова, скину ссылку сюда
источник

SF

Stepan Frolov in catboost_ru
Nikita Dmitriev
Привет!
в custom_metric сейчас нельзя использоовать свою функцию. А чем не подходит eval_metric?
Я не хочу, чтобы обнаружение переобучения производилось по этой метрике, но хотел смотреть на ее значения, поэтому eval_metric не подходит. Т.е. такой возможности не предусмотрено и вы не планируете ее реализовывать?
источник

ND

Nikita Dmitriev in catboost_ru
Можно выставить use_best_model=False и тогда модель не будет обрезаться по этой метрике
источник

SF

Stepan Frolov in catboost_ru
Да, понимаю, но это сильно увеличивает время на лишнее обучение. Но мб попробую, спасибо
источник

ND

Nikita Dmitriev in catboost_ru
Это правда
Можете создать issue на гитхабе, что бы задачка такая у нас была?
источник

SF

Stepan Frolov in catboost_ru
Да, конечно
А по поводу реализации встроенной метрики Specificity имеет смысл создавать issue?
источник

ND

Nikita Dmitriev in catboost_ru
Да, давай и это тоже
источник

SF

Stepan Frolov in catboost_ru
Создал issue. Возник еще один вопрос:
Есть данные:
X_train, X_validation, y_train, y_validation = train_test_split(X, y, train_size=0.75, random_state=42)

train_pool = Pool(data=X_train, label=y_train)
validation_pool = Pool(data=X_validation, label=y_validation)
train_validation_pool = Pool(data=X, label=y)

Есть модель:
overfitting_test_model = CatBoostClassifier(
   random_seed=42,
   iterations=20
)

При запуске обычного обучения:
overfitting_test_model.fit(
   train_pool,
   eval_set=validation_pool,
   plot=True
)
лучший logloss - 0.4402910

При запуске grid_search с теми же параметрами:
grid = {'iterations': [20]}

overfitting_test_model.grid_search(grid,
                                  train_validation_pool,
                                  plot=True,
                                  train_size=0.75
                                 )

logloss - 0.5742920

Что я делаю не так? Вроде как должна получаться одинаковая модель
источник

S

Sergii in catboost_ru
попробуйте зафиксировать learning_rate
источник

SF

Stepan Frolov in catboost_ru
Sergii
попробуйте зафиксировать learning_rate
Зафиксировал на 0.02. Для fit logloss стал - 0.5890836609, для grid_search - 0.5969752. Т.е. разница все равно есть
источник