kan*_*nam 7 python random-forest xgboost
我有一个关于 XGBoost 的问题。
你知道如何知道 XGBoost 中创建的树的数量吗?与 RandomForest 由模型制作者决定制作多少棵树不同,XGBoost 基本上会继续创建树,直到损失函数达到某个数字。所以我想知道这个。
谢谢你。
Ome*_*erB 14
它有点歪,但我目前正在做的是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)
Run Code Online (Sandbox Code Playgroud)
Myk*_*vyi -2
这是由您作为用户控制的。如果您使用本机训练 API,那么这是由(默认为 10)控制的,请参阅此处的num_boost_round文档:
\n\n\nnum_boost_round (int) \xe2\x80\x93 提升迭代次数。
\n
如果您使用 sklearn API,那么这是由(默认为 100)控制的,请参阅此处的n_estimators文档:
\n\n\nn_estimators : int\n 适合的提升树数量。
\n
唯一需要注意的是,这是可以容纳的最大树数如果您设置提前停止标准,我不确定你是否使用它。
\n