如何在使用xgboost spark 4j训练随机林时传递num_parallel_tree参数?
在参考xgboost中的随机林之后,我做了以下操作
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条答案
按热度按时间mepcadol1#
最后的模型是一棵树。这在现实中是很复杂的事情,但是你把不同的树合并成一棵最终的树。关键是训练不同的树,并以某种方式得到最终更好的树。
看到了吗https://www.knime.com/blog/from-a-single-decision-tree-to-a-random-forest