【问题标题】:what does the error "Length of label is not same with #data" when I call lightgbm.train当我调用 lightgbm.train 时,错误“标签长度与 #data 不同”是什么意思
【发布时间】:2018-11-17 17:40:54
【问题描述】:

我是 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)

提前致谢。

【问题讨论】:

    标签: python lightgbm


    【解决方案1】:

    这意味着您传递给模型的标签数量 (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'
        )
        # ...
    

    【讨论】:

      【解决方案2】:

      这只是意味着您的训练示例的尺寸与相应的标签列表不匹配。换句话说,如果你有 10 个训练实例,你就需要 10 个标签。 (对于多标签场景,更好的表述是通过标签替换标签,或者参考数组的大小。)

      【讨论】:

      • 我也遇到了同样的问题,尽管 train_x 和 train_y 的形状是一样的。 (75 00,35) , (7500,)
      • 你找到原因了吗?
      • 找到原因了吗?
      猜你喜欢
      • 1970-01-01
      • 2015-04-14
      • 2011-10-18
      • 2017-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多