Spark XGBoost4J如何在每个回合中打印出火车和验证损失
我正在使用 Spark xgboost4j 0.80 和 scala,想知道如何打印每轮的训练和验证损失(例如将 num_round 设置为 100,在训练期间打印 100 轮的训练和验证损失)。我之前在非分布式版本 xgboost 上做过这样的 this:
虽然我不知道如何在 xgboost4j 中实现这一点,但我发现了一个 示例代码,而在我创建评估集并在 XGBoostClassifier 的参数映射中指定它之后,标准输出中没有任何更改。我在网上搜索了很多,但没有找到类似的问题和解决方案。
我的代码是这样的:
val params = Map("eta" -> 0.1f,
"lambda" -> 0.1f,
"max_depth" -> 6,
"objective" -> "binary:logistic",
"num_workers" -> 10
"num_round" -> 100,
// "num_early_stopping_rounds" -> 10,
// "maximize_evaluation_metrics" -> false,
// "eval_metric" -> "logloss",
"eval_sets" -> Map("eval" -> eval)
)
val xgb = new XGBoostClassifier(params).
setFeaturesCol("features").
setLabelCol("label")
val model = xgb.fit(train)
提前感谢您的帮助。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论