我在Python中使用StackingCVClassifier
(来自mlxtend
包),我的分类器之一是XGBoostClassifier
实例,我试图传递参数(early_stopping_rounds或简单地传递详细信息)通过StackingCVClassifier
对象的fit方法更改为其fit方法。 fit方法似乎不支持此功能。 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})
答案 0 :(得分:0)
mlxtend
的开发人员表示(截至下面的链接),截至2018年9月,这还不可能。