Передача параметров в метод соответствия базовых классификаторов через StackingCVClassifier в пакете mlxtend

Я использую StackingCVClassifier (от mlxtend пакет) в Python, и один из моих классификаторов является XGBoostClassifier экземпляр, и я пытаюсь передать параметр (early_stopping_rounds или просто многословный) в его метод fit через метод fit из StackingCVClassifier объект. Метод подгонки, кажется, не поддерживает это. Метод fit_transform имеет аргумент fit_params. Но когда я передаю свой параметр (например, **{'XGB_clf__early_stopping_rounds': 20}) выкидывает следующую ошибку:

fit () получил неожиданный аргумент ключевого слова 'XGB_clf__early_stopping_rounds.

Это не поддерживается? Или я что-то пропустил?

Вот набросок того, что я пытаюсь сделать:

XGB_clf = XGBClassifier()
other_clf = LogisticRegression()
stacked_clf = StackingCVClassifier(classifiers = [XGB_clf, other_clf], meta_classifier = LogisticRegression(), cv=2)
# trying to pass early_stopping_rounds to XGB_clf.fit
stacked_clf.fit(X_train, y_train, **{XGB_clf__early_stopping_rounds = 50})

1 ответ

Разработчик mlxtend указано (ссылка ниже), что по состоянию на сентябрь 2018 года это пока невозможно.

https://github.com/rasbt/mlxtend/issues/434

Другие вопросы по тегам