在XGBoost 4J Spark中训练随机森林

时间:2020-08-11 06:05:47

标签: apache-spark random-forest xgboost

在使用XGBoost Spark 4J训练随机森林时如何传递num_parallel_tree参数?

参考Random Forests in 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 个答案:

答案 0 :(得分:0)

最终模型是1棵树。实际上这是很复杂的东西,但是您将不同的树合并为最终的树。重点是训练不同的树,并以某种方式得出更好的最终树。

请参见https://www.knime.com/blog/from-a-single-decision-tree-to-a-random-forest