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

在R中构建决策树:方差与城市影响分析的后续操作咨询

嘿,你已经用rpart搭好了分类决策树的架子,接下来咱们一步步把分析做透,把方差和城市的关联清晰展示出来:

1. 先搞懂你的决策树结构

首先得看看拟合出来的树到底是怎么分裂的,用这两个命令就能快速了解:

# 输出简洁版的树分裂规则
print(fit)

# 输出详细的模型摘要(包含分裂统计量、变量重要性、节点样本分布)
summary(fit)

尤其是summary(fit)里的变量重要性部分,能直接看到哪个Variance对城市分类的贡献最大——这其实就是你要的“不同城市对方差影响”的反向视角(本质是方差特征区分城市的能力)。

2. 可视化决策树(核心展示环节)

文字描述太干,直接画图才直观!推荐用rpart.plot包,画出来的树清晰又好看,还能加各种细节:

# 先安装加载包(第一次用需要安装)
install.packages("rpart.plot")
library(rpart.plot)

# 基础版可视化:展示分裂规则和分类结果
rpart.plot(fit, main = "决策树:基于方差特征分类城市")

# 进阶版:带样本量、分类概率的详细图
rpart.plot(fit, 
           type = 4,          # 展示每个节点的城市分类分布
           extra = 101,       # 显示节点样本量和分类百分比
           main = "方差特征与城市分类的决策树",
           box.palette = "RdBu",  # 用颜色区分不同城市的节点
           branch.lty = 3)    # 分支用虚线,更清晰

从图里你能一眼看到:哪个Variance的哪个阈值把样本分成了不同组,每个组对应的城市是什么——反过来就能理解不同城市对应的方差特征区间,完美契合你的需求。

3. 量化方差变量的重要性

想明确知道三个Variance谁对城市分类影响最大?直接提取变量重要性就行:

# 查看变量重要性排序
fit$variable.importance

# 把结果画成条形图,更直观
barplot(fit$variable.importance, 
        main = "方差变量对城市分类的重要性",
        xlab = "方差变量",
        ylab = "重要性得分",
        col = "skyblue")

得分越高,说明这个方差变量在区分城市时的作用越强。

4. 优化模型(可选但实用)

如果担心树太复杂出现过拟合,可以用交叉验证选最优剪枝参数,得到更稳健的树:

# 查看交叉验证的复杂度参数(CP)表
printcp(fit)

# 绘制CP曲线,找到最小交叉验证误差对应的CP值
plotcp(fit)

# 提取最优CP值并剪枝树
optimal_cp <- fit$cptable[which.min(fit$cptable[,"xerror"]),"CP"]
pruned_fit <- prune(fit, cp = optimal_cp)

# 可视化剪枝后的树
rpart.plot(pruned_fit, main = "剪枝后的决策树:更稳健的方差-城市关联")
5. 补充:直接对比不同城市的方差分布

除了决策树,你还可以用箱线图直接展示每个城市的方差分布,和决策树结果相互印证:

# 以Variance1为例,展示不同城市的方差分布
boxplot(Variance1 ~ City, data = [你的数据集名称], 
        main = "不同城市的Variance1分布对比",
        xlab = "城市",
        ylab = "Variance1数值",
        col = "lightgreen")

把三个Variance都画一遍,就能直观看到不同城市在各方差上的差异。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 07:45:22