如何知道在Xgboost中创建的树的数量

时间:2018-05-19 14:17:28

标签: python random-forest xgboost

我对Xgboost有疑问。

您知道如何知道在Xgboost中创建的树的数量吗? 与Randomforest不同,模型制作者决定制作多少树,Xgboost基本上继续创建树,直到损失函数达到某个数字。因此,我想知道这一点。

谢谢。

2 个答案:

答案 0 :(得分:0)

有点歪,但是我目前正在做的是dump-模型化(XGBoost生成一个列表,其中每个元素都是一棵树的字符串表示形式),然后计算有多少个元素在列表中:

# clf is a XGBoost model fitted using the sklearn API
dump_list = clf.get_booster().get_dump()
num_trees = len(dump_list)

答案 1 :(得分:-2)

这是由您作为用户控制的。您是否使用原生培训API,然后由implementation控制(默认为10),请参阅文档here

  

num_boost_round(int) - 提升迭代次数。

如果您使用sklearn API,则由num_boost_round控制(默认为100),请参阅文档here

  

n_estimators:int       适合增强树木的数量。

唯一需要注意的是,如果你设置了早期停止标准,这就是最大拟合树数。我不确定你是否使用它。