最佳答案
此外,摘自 Mikhail Lisyovi 的 answer -“从技术上讲,lightbgm.cv() 只允许您评估具有固定模型参数的 k 折分割的性能。对于超参数调整,您需要在循环中运行它,提供不同的参数和重新编码平均性能以选择最佳参数集。循环完成后。这个接口(interface)与sklearn不同,它为您提供了在CV循环中进行超参数优化的完整功能。我个人建议使用sklearn- lightgbm 的 API。它只是对原生 lightgbm.train() 功能的封装,因此它不会变慢。但它允许您使用完整的 sklearn 工具包,这让您的生活更轻松。”
因此,您最终使用哪种方法取决于问题的上下文以及哪些因素对您更重要 - early_stopping_rounds 或对不同参数进行超参数优化的难易程度。
关于python - LightGBM - sklearnAPI 与训练和数据结构 API 以及 lgb.cv 与 gridsearchcv/randomisedsearchcv,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54625245/