You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R中rpart模型varImp输出变量数与决策树绘图变量数不一致问题

现象原因说明

该差异是varImp()变量重要性统计逻辑和决策树剪枝规则的本质区别导致的,核心原因如下:

  • 两者计算覆盖范围不同:rpart的变量重要性会统计模型构建全流程的所有分裂贡献,不局限于最终呈现的剪枝后树结构:只要变量在剪枝前的候选分裂节点、被剪枝的分支中产生过分类增益,或是在留一法交叉验证的任意一轮训练子树中被使用过,都会被计入重要性得分,因此输出了9个有贡献的变量。
  • 最终决策树经过剪枝优化:你用来绘图的是经复杂度参数(cp)筛选后的最优剪枝树,剪枝过程会自动删除所有对模型泛化性能提升未达阈值的分支,仅保留对分类贡献最大的核心节点,因此最终绘图只会出现2个贡献最高的变量。
  • 交叉验证的聚合逻辑影响:caret的varImp()在交叉验证场景下会对所有折的变量重要性得分取平均,部分变量可能仅在少数几轮训练的子树中被使用,没有出现在最终全量数据训练的最优剪枝树中,自然不会在绘图里展示。

如果需要验证该逻辑,可以将模型的cp参数调整为0后绘制未剪枝的完整树,就能看到更多出现在变量重要性表中的变量。


附图

变量重要性图
决策树绘图


内容的提问来源于stack exchange,提问作者Carlo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 22:15:04