在mlxtend包中通过StackingCVClassifier将参数传递给底层分类器的拟合方法

2024-07-03 07:32:01 发布

您现在位置:Python中文网/ 问答频道 /正文

我在Python中使用StackingCVClassifier(来自mlxtend包),我的一个分类器是一个XGBoostClassifier实例,我试图通过StackingCVClassifier对象的fit方法将一个参数传递给它的fit方法。fit方法似乎不支持这一点。fit_transform方法有一个fit_params参数。但是当我传递参数(例如**{'XGB_clf__early_stopping_rounds': 20})时,它会抛出以下错误:

fit() got an unexpected keyword argument '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})

Tags: to方法参数trainfitotherclfearly