Size: a a a

2019 December 26

IP

Igor Petrov in catboost_ru
Раз в catboost завезли работу с текстом. То можно ли сделать классифактор для определения языка на коротких предложениях(1-10слов)? Или еще лучше использовать нейронку?
источник

Аa

Андрей amber4eg in catboost_ru
Задача регрессии на одном и том же небольшом датасете 33к * 23:
catboost 0.16.4: RMSE. Train: 493.07. Validation: 533.24. Holdout: 509.68
catboost 0.20.2: RMSE. Train: 405.61. Validation: 474.93. Holdout: 448.43

А мне нравится, спасибо команде разработчиков! :)
источник
2019 December 27

MK

Maxim Khrisanfov in catboost_ru
Похоже баг нашел.

model.get_feature_importance(..., type='ShapValues')


возвращает матрицу с shape (n_samples, n_classes, n_features), а должно быть (n_classes, n_samples, n_features)

из-за этого не работает визуализация

shap.summary_plot(shap_values, X, plot_type="bar")


воспроизвести можно добавив эту строчку в конец туториала

https://github.com/catboost/tutorials/blob/master/model_analysis/shap_values_tutorial.ipynb
источник

MK

Maxim Khrisanfov in catboost_ru
Maxim Khrisanfov
Похоже баг нашел.

model.get_feature_importance(..., type='ShapValues')


возвращает матрицу с shape (n_samples, n_classes, n_features), а должно быть (n_classes, n_samples, n_features)

из-за этого не работает визуализация

shap.summary_plot(shap_values, X, plot_type="bar")


воспроизвести можно добавив эту строчку в конец туториала

https://github.com/catboost/tutorials/blob/master/model_analysis/shap_values_tutorial.ipynb
похоже не стоит ничего менять в CatBoost, потому что на стороне пакета shap уже производятся нужные преобразования если юзать их интерфейс shap.TreeExplainer(...).shap_values(...)
Если хочется юзать катбустовский get_feature_importance и при этом рисовать графики из пакета shap, то можно делать аналогичные преобразования как это делает shap

phi = self.model.get_feature_importance(Pool(data), type='ShapValues')

if len(phi.shape) == 3:
   expected_value = [phi[0, i, -1] for i in range(phi.shape[1])]
   shap_values = [phi[:, i, :-1] for i in range(phi.shape[1])]
else:
   expected_value = phi[0, -1]
   shap_values = phi[:, :-1]
источник
2019 December 29

N

Norx in catboost_ru
Practical Computer Vision Applications Using Deep Learning with CNNs

@datascienceiot
источник
2020 January 03

a&

auwal &33 in catboost_ru
источник
2020 January 04

SA

Saif - AdMiN in catboost_ru
источник
2020 January 05

co

cr oco in catboost_ru
Коллеги, всем добрый вечер
Сейчас будет мегастранный вопрос

Catboost сам понимает какие фичи категориальные или их надо явно указывать?
источник

ДН

Данилов Никита in catboost_ru
Явно
источник

co

cr oco in catboost_ru
А каким параметром?
источник

M

Max in catboost_ru
cr oco
А каким параметром?
cat_features
источник
2020 January 09

Аa

Андрей amber4eg in catboost_ru
У меня в конце обучения в консоль пайчарма вываливается кучка сообщений такого вида:
Exception ignored in: '_catboost._CatBoost.__dealloc__'
TypeError: 'NoneType' object is not callable
TypeError: 'NoneType' object is not callable
Exception ignored in: '_catboost._CatBoost.__dealloc__'
TypeError: 'NoneType' object is not callable


И я даже затрудняюсь отдебажить - понять, откуда они валятся. В какую сторону посмотреть? catboost 0.20.2
источник

Аa

Андрей amber4eg in catboost_ru
на случай https://github.com/catboost/catboost/issues/466 не похоже - я делаю model.fit() и дальше работаю только с объектом model
источник

SK

Stanislav Kirillov in catboost_ru
Стабильно воспроизводится?
источник

Аa

Андрей amber4eg in catboost_ru
ага
источник

Аa

Андрей amber4eg in catboost_ru
о, нашёл откуда ноги растут, но не понимаю, какого хрена они так делают
источник

Аa

Андрей amber4eg in catboost_ru
вопрос всё-таки сводится к формулировке: "как понять, где в коде возникло то исключение, которое было проигнорировано"
источник

SK

Stanislav Kirillov in catboost_ru
Андрей amber4eg
о, нашёл откуда ноги растут, но не понимаю, какого хрена они так делают
Намекни:)
источник

Аa

Андрей amber4eg in catboost_ru
грубо
model1 = CatBoostRegressor()
model1.load_model(path)

model2 = CatBoostRegressor()
model2.load_model(path)

model3 = CatBoostRegressor()
model3.fit()

получим 2 штуки Exception ignored in: '_catboost._CatBoost.__dealloc__' и 4 штуки TypeError: 'NoneType' object is not callable
источник

Аa

Андрей amber4eg in catboost_ru
куча кода пропущена, конечно
источник