Доступ к атрибутам с помощью sklearn Pipeline и MultiOutputRegressor - PullRequest
0 голосов
/ 15 октября 2019

Предположим, что модель машинного обучения, например, LightGBM LGBMRegressor, имеет атрибут best_iteration_. Как этот атрибут доступен после вызова метода fit, в результате чего используются Pipeline и MultiOutputRegressor sklearn?

Для Pipeline Я пытался named_steps:

foo.named_steps['reg']

, который возвращает следующий объект sklearn.multioutput.MultiOutputRegressor.

Затем я попытался .estimators_:

foo.named_steps['reg'].estimators_

, который возвращает список. Однако список содержит исходные параметры, которые были предоставлены модели.

Может, кто-нибудь объяснит идеальный способ доступа к атрибутам модели?

1 Ответ

1 голос
/ 16 октября 2019

Я полагаю, foo является объектом конвейера sklearn, если это так, вы, вероятно, можете сделать это:

for e in foo.named_steps['reg'].estimators_:
    print(e.best_iteration_)
  • foo.named_steps['reg'].estimators_ возвращает список оценок внутри MultiOutputRegressor.
  • e - это LGBMRegressor, который вы использовали внутри вашего MultiOutputRegressor.

Вы можете заменить best_iteration_ на любые атрибуты модели, к которой вы хотите получить доступ.

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