【发布时间】:2018-10-29 18:37:53
【问题描述】:
我有一个关于 XGBoost 的问题。
你知道如何知道 XGBoost 中创建的树的数量吗? 与由模型制造商决定制作多少棵树的 RandomForest 不同,XGBoost 基本上会继续创建树,直到损失函数达到某个数字。所以我想知道这个。
谢谢。
【问题讨论】:
标签: python random-forest xgboost
我有一个关于 XGBoost 的问题。
你知道如何知道 XGBoost 中创建的树的数量吗? 与由模型制造商决定制作多少棵树的 RandomForest 不同,XGBoost 基本上会继续创建树,直到损失函数达到某个数字。所以我想知道这个。
谢谢。
【问题讨论】:
标签: python random-forest xgboost
有点歪,但我目前正在做的是dump-ing 模型(XGBoost 生成一个列表,其中每个元素都是单个树的字符串表示),然后计算有多少元素在列表:
# clf is a XGBoost model fitted using the sklearn API
dump_list = clf.get_booster().get_dump()
num_trees = len(dump_list)
【讨论】:
在 java 中,似乎没有直接的方法来做到这一点。但是,您可以使用模型转储的结果来获取实际的树数。使用训练有素的Booster:
int numberOfTrees = booster.getModelDump("", false, "text").length;
【讨论】:
【讨论】: