我已经用大约 X 树训练了一个 xgboost 模型。我想用完全相同的超参数创建模型的一些副本,但修剪树的数量。例如,我想创建一个具有相同权重和参数的模型,而树的数量只有一半。是否可以使用 xgboost api 来做到这一点。
我尝试了一种简单的快速方法来反序列化经过训练的 xgboost 模型并将 booster_params['num_boost_round'] 重置为原来的一半。但这似乎并没有影响任何模型质量和预测分数,这意味着在评分/评估时不使用此参数。
剩下的唯一选择是转储文本或 pmml 文件,用树的子集将其解析回来。想知道是否可以使用 xgboost api 本身来做到这一点(比如更改会带来相同效果的参数),而无需转换为单独的表示/格式并自己解析。