ValueError:y包含带有my GradientBoostingClassifi的VotingClassifi的非二进制标签

2024-10-03 23:28:07 发布

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

嗨,我正在尝试使用VotingClassifier和我的GradientBoostingClassifier,我在它周围放了一个包装器,以便利用样本权重。 但是,我遇到了下面的错误,无法解决它。在

代码:

class MyGradientBoostingClassifier(GradientBoostingClassifier):
    def fit(self, X , y=None):
        return super(GradientBoostingClassifier, self).fit(X, y, sample_weight=y)


rf =  RandomForestClassifier(n_jobs=-1)
mygb = MyGradientBoostingClassifier()

vc = VotingClassifier(estimators=[('rf', rf), ('mygb', mygb)],
                        voting='soft',
                        weights=[1,2])

mygb.fit(X5, y5)

y的样本片段是[ 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 0. 0. 0. 0. 1. 0. 0. 0. 0.],它是np数组

错误:

^{pr2}$

Tags: 代码selfnone利用def错误classfit
1条回答
网友
1楼 · 发布于 2024-10-03 23:28:07

对于分类模型,y应该是一个整数类标签(0和1),因此将它同时用作分类目标和样本权重是没有意义的。在

该模型忽略了所有权重为0的样本,不可能只利用训练集中同一类样本训练二元分类模型。在

相关问题 更多 >