R决策树
使用rpart包构建分类与回归决策树,学习剪枝与可视化 · 难度:入门 · +15XP
决策树:可解释的机器学习模型
决策树通过树形结构模拟决策过程,每个内部节点代表一个特征判断,叶子节点代表结果。
1. 构建分类树
library(rpart)
library(rpart.plot)
data(iris)
tree_model <- rpart(Species ~ ., data=iris, method='class')
rpart.plot(tree_model, main='鸢尾花分类树')2. 查看树结构
print(tree_model)
summary(tree_model)3. 预测与评估
pred <- predict(tree_model, iris, type='class')
confusion <- table(Predicted=pred, Actual=iris$Species)
confusion
accuracy <- sum(diag(confusion)) / sum(confusion)
accuracy4. 剪枝防止过拟合
plotcp(tree_model) # 查看复杂度参数
pruned_tree <- prune(tree_model, cp=0.02)
rpart.plot(pruned_tree)5. 回归树示例
data(mtcars)
reg_tree <- rpart(mpg ~ ., data=mtcars, method='anova')
rpart.plot(reg_tree)决策树关键参数:
| 参数 | 作用 |
|---|---|
| minsplit | 内部节点最小样本数 |
| maxdepth | 树的最大深度 |
| cp | 复杂度参数,控制剪枝 |
练习提示:使用rpart对iris数据构建决策树,设置maxdepth=3并绘制。