我是 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)
提前致谢。
它只是意味着您的训练示例的尺寸和相应的标签列表不匹配。换句话说,如果你有 10 个训练实例,你就需要 10 个标签。(对于多标签场景,更好的公式是通过标签替换标签,或参考数组的大小。)
这意味着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'
)
# ...