在xgboost 4j spark中训练随机森林

zazmityj  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(579)

如何在使用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。

mepcadol

mepcadol1#

最后的模型是一棵树。这在现实中是很复杂的事情,但是你把不同的树合并成一棵最终的树。关键是训练不同的树,并以某种方式得到最终更好的树。
看到了吗https://www.knime.com/blog/from-a-single-decision-tree-to-a-random-forest

相关问题