微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

lightgbm.basic.LightGBMError:检查失败:(best_split_info.left_count) > (0)

如何解决lightgbm.basic.LightGBMError:检查失败:(best_split_info.left_count) > (0)

还有其他几个与此类似的问题,但我找不到合适的解决方案。我将 LightGBM 与 Scikit-Optimize BayesSearchCV 结合使用。

{
    "security": {
        "is_bogon": false,"is_cloud_provider": false,"is_tor": false,"is_tor_exit": false,"is_proxy": false,"is_anonymous": false,"is_abuser": false,"is_attacker": false,"is_threat": false
    }
}

训练会运行一段时间,然后出现以下错误

full_pipeline = skl.Pipeline(steps=[('preprocessor',pre_processor),('estimator',lgbm.sklearn.LGBMClassifier())])
scorer=make_scorer(fl.lgb_focal_f1_score)
lgb_tuner = sko.BayesSearchCV(full_pipeline,hyper_space,cv=5,refit=True,n_iter=num_calls,scoring=scorer)
lgb_tuner.fit(balanced_xtrain,balanced_ytrain)

类似问题的一些答案表明这可能是使用 GPU 的结果,但我没有可用的 GPU。我不知道还有什么原因导致它或如何尝试修复它。任何人都可以提出任何建议吗?

解决方法

我认为这是由于我的超参数限制错误,导致一个超参数被设置为零,但我不确定是哪一个。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。