R语言实战:5分钟构建你的第一个分类决策树模型
如果你刚接触R语言,面对机器学习算法时,可能会觉得理论复杂、步骤繁琐。今天,我们不谈深奥的数学推导,直接上手,用最核心的rpart包,在5分钟内跑通一个完整的分类决策树模型。整个过程就像搭积木一样清晰,你将亲手使用真实的医疗数据集,完成从数据加载、模型训练、可视化到预测的全流程。这篇文章专为初学者设计,目标是让你在最短时间内获得第一个可运行的模型,建立直观理解,消除对机器学习实践的畏难情绪。
我们将使用R内置的kyphosis数据集,它记录了81名接受脊柱矫正手术儿童的情况,目标是预测术后是否会出现后凸畸形。这个案例小而典型,非常适合快速入门。你会发现,用R实现一个基础但完整的机器学习流程,代码可以非常简洁。
1. 环境准备与数据初探
在开始建模之前,我们需要确保环境就绪,并对即将使用的数据有一个基本的认识。这一步是任何数据分析项目的起点,能帮助我们避免后续因数据问题导致的错误。
首先,启动你的RStudio或R控制台。rpart包是R的核心包之一,通常已随基础安装包含。为了确保可用并加载其增强可视化功能,我们执行以下命令:
# 加载必要的包
library(rpart) # 核心决策树算法包
library(rpart.plot) # 用于绘制美观的决策树图
如果系统提示rpart.plot未安装,只需运行 install.packages("rpart.plot") 即可。接下来,我们载入并查看数据:
# 载入数据
data(kyphosis)
# 查看数据结构
str(kyphosis)
运行str(kyphosis)后,控制台会输出数据框的结构信息。你会看到类似下面的内容:
'data.frame': 81 obs. of 4 variables:
$ Kyphosis: Factor w/ 2 levels "absent","present": 2 2 1 1 1 2 1 2 1 1 ...
$ Age : int 71 158 128 2 1 1 61 37 113 59 ...
$ Number : int 3 3 4 5 4 2 2 3 2 6 ...
$ Start : int 5 14 5 1 15 16 17 16 16 12 ...
这告诉我们,kyphosis数据框共有81行(观测)和4列(变量)。其中:
- Kyphosis:是我们的目标变量(响应变量),是一个因子(Factor),包含两个水平:“absent”(未出现后凸)和“present”(出现后凸)。这是一个典型的二分类问题。
- Age:年龄(以月计),整数型。
- Number:手术涉及的椎骨数目,整数型。
- Start:手术开始的椎骨编号,整数型。
为了对数据分布有一个更直观的印象,我们可以快速查看前几行数据,并计算目标变量的类别分布:
# 查看前6行数据
head(kyphosis)
# 查看目标变量“Kyphosis”的类别分布
table(kyphosis$Kyphosis)
table

296

被折叠的 条评论
为什么被折叠?



