ValueError: Input data must be 2 dimensional and non empty

在构建点击率预估模型时遇到LightGBM训练错误,问题源于输入数据不是二维或为空。通过检查发现,y_train是Series类型而非DataFrame。解决方案包括正确拆分数据集或转换Series为DataFrame。建议使用train_test_split函数划分数据,并在必要时将标签转换为DataFrame。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景

在做点击率预估GBDT+LR模型时,使用lightgbm训练时,报错

# create dataset for lightgbm
lgb_train = lgb.Dataset(X_train, label = y_train)
lgb_eval = lgb.Dataset(X_test, label = y_test)

params = {
   
    'task': 'train',
    'boosting_type': 'gbdt',
    'objective': 'binary',
    'metric': {
   'binary_logloss'},
    'num_leaves': 64,
    'num_trees': 100,
    'learning_rate': 0.01,
    'feature_fraction': 0.9,
    'bagging_fraction': 0.8,
    'bagging_freq': 5,
    'verbose': 0
}

# number of leaves,will be used in feature transformation
num_leaf = 64

print('Start training...')
# train
gbm = lgb.train(params,
                lgb_train,
                num_boost_round=100,
                valid_sets=lgb_train)

有如下报错

ValueError                                Traceback (most recent call last)
<ipython-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值