将lightgbm导入为lgb lgb_train = lgb.Dataset(x_train,y_train) lgb_val = lgb.Dataset(x_test,y_test)
参数= { 'application':'binary', 'objective':'binary', 'metric':'auc', 'is_unbalance':'true', 'boosting':'gbdt', 'num_leaves':31, 'feature_fraction':0.5, 'bagging_fraction':0.5, 'bagging_freq':20, 'learning_rate':0.05, 'verbose':0 }
模型= lgb.train(参数, train_data, valid_sets = test_data, num_boost_round = 5000, early_stopping_rounds = 100)
y_pred = model.predict(test_data)
答案 0 :(得分:2)
如果您使用cut或qcut函数进行装箱并且以后未进行编码(单热编码,标签编码..)。这可能是错误的原因。尝试使用编码。
我希望它能起作用。
答案 1 :(得分:0)
我遇到了同样的问题。
发布整个回溯以确保。
对我来说,序列化为JSON是一个问题,LightGBM在后台将其保存起来以备以后使用。
检查数据集中的日期/日期时间列或任何看起来像日期的数据,然后将其删除或转换为JSON可处理的内容。
我的所有Pandas代码都被我写得不好的代码全部转换为dtype,并且我通常会以非常快的速度运行n-dirty,以查看哪些变量显示为重要变量。 LightGBM让我制作数据二进制文件进行训练(即,如果它们是datetime或timedelta dtypes,那么在让我运行任何东西之前会抛出错误)。它将运行得很好,报告一个AUC,然后在将分类信息转储到JSON的最后一个训练步骤之后失败。令人发疯,带有神秘的追溯。
希望这会有所帮助。
答案 2 :(得分:0)
如果数据集中有任何时间增量变量,请使用dt.days属性将其转换为int。我遇到了同样的问题,那就是Github中报告的light gbm问题