R语言中XGBoost的max_leaves参数未按预期生效问题
XGBoost
max_leaves 参数约束未生效问题 我通过R生成均匀随机的合成数据,构建了一个XGBoost模型,设置参数为8轮迭代、max_depth=5且max_leaves=4(其余参数保持默认),随后绘制树结构。按预期每棵树的叶节点数量最多应为4个,但实际生成的树至少有20个叶节点,max_leaves的约束完全没有生效。我的环境是2025年11月14日全新安装的R 4.5.2,操作系统为Windows 11。
运行代码
install.packages('xgboost') install.packages('DiagrammeR') library(DiagrammeR) library(xgboost) df = matrix(runif(100000 * 50), nrow = 100000) dep = as.matrix(runif(100000), ncol = 1) params = list( max_depth = 5, max_leaves = 4 ) df2 = xgb.DMatrix( data = df, label = dep, weight = rep(1, nrow(df)) ) x = xgboost( params = params, data = df2, nrounds = 8 ) xgb.plot.tree(model = x, trees = 1)
问题示例图

内容的提问来源于stack exchange,提问作者David Martin
相关产品推荐
相关产品推荐

