Получить параметры из загруженной модели в xgboost - PullRequest
0 голосов
/ 22 мая 2018

Я сделал классификационную модель, которая была сохранена с использованием

bst.save_model('final_model.model')

в другом файле. Я загружаю модель и выполняю тестирование на моих тестовых данных, используя:

bst = xgb.Booster()  # init model
bst.load_model('final_model.model')  # load data
ypred = bst.predict(dtest)  # make prediction

Поскольку яиспользуйте kfold в моем обучающем процессе, но мне нужно использовать весь тестовый файл для тестирования (чтобы не было разбиения kfold), я не могу проверить, получаю ли я все те же результаты, что и при загрузке модели в новый файл.Это сделало меня любопытным, как будто был способ напечатать мои гиперпараметры загруженных моделей.После долгих поисков я нашел способ сделать это в R с помощью xgb.parameters(bst) или, возможно, также xgb.attr(bst) - но я не нашел способа сделать это в Python.Поскольку я не использую RI, я не проверял вышеуказанные строки, но из документации кажется, что я делаю то, что мне нужно: выводить гиперпараметры в загруженной модели.Так можно ли это сделать в Python с помощью xgboost?

EDIT: Я вижу, что если я вместо этого напишу ypred = bst.predict(dtest, ntree_limit=bst.best_iteration), я получу ошибку 'Booster' object has no attribute 'best_iteration'.Похоже, загруженная модель не помнит все мои гиперпараметры.Если я напишу bst.attributes(), я смогу заставить его вывести номер лучшей итерации и его оценку eval, но я не вижу, как вывести фактические используемые гиперпараметры.

1 Ответ

0 голосов
/ 11 января 2019

если вы использовали модель xgboost.sklearn.XGBModel Затем вы можете использовать функцию get_xgb_params () , но в базовом классе xgboost.Booster нет эквивалента.Помните, что Booster - это базовая модель xgboost, которая содержит процедуры низкого уровня для обучения, прогнозирования и оценки.Вы можете найти больше информации здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...