我是LightGBM的新手,当我尝试在我的数据集上应用lightgbm.train时,我收到了这个错误:
LightGBMError: Length of label is not same with #data
我不确定我在哪里弄错了。我试过了
model = lightgbm.train(params, train_data, valid_sets=test_data, early_stopping_rounds=150, verbose_eval=200)
提前致谢。
答案 0 :(得分:0)
它只是意味着您的训练示例的尺寸和相应的标签列表不匹配。换句话说,如果您有10个训练实例,则需要10个标签。 (对于多标签方案,更好的方法是通过标记替换标签,或者参考数组的大小。)
答案 1 :(得分:0)
这意味着您传递给模型的标签数量 (y.shape[-1]
) 与传递的特征数量 (x.shape[-1]
) 不同。就我而言,这是因为我不小心混淆了 y
的训练集和测试集:
kf = KFold(5)
lgbm = LGBMRegressor()
for train,test in kf.split(X):
lgbm.fit(
X.iloc[train],
y.iloc[test], # should be 'train', not 'test'
)
# ...