问题描述
在使用XGBoost Spark 4J训练随机森林时如何传递num_parallel_tree参数?
之后,我做了以下操作 val hyperParams = Map(
"booster" -> "gbtree","objective" -> "binary:logistic","evalMetric" -> "logloss","num_parallel_tree" -> 100)
val xGBoostClassifier = new XGBoostClassifier(hyperParams)
.setFeaturesCol(vectorAssembler.getOutputCol)
.setLabelCol(labelColumnName)
.setNumRound(1)
但是最终模型只有一棵树。似乎根本没有使用num_parallel_tree
参数。
即使是显示所有正在使用的超参数的XGBoost库的日志,也不会显示num_parallel_tree
。
我们正在将XGBoost版本1.0.0与spark 2.4.2一起使用。
解决方法
最终模型是1棵树。实际上这是很复杂的东西,但是您将不同的树合并为最终的树。重点是训练不同的树,并以某种方式得出更好的最终树。
请参见https://www.knime.com/blog/from-a-single-decision-tree-to-a-random-forest