R语言如何划分训练集和测试集
时间: 2024-02-03 07:02:58 浏览: 275
在R语言中,有三种常用的方法来划分训练集和测试集。其中一种是使用R内置方法,另外两种是使用caTools包和caret包。下面是三种方法的介绍:
1. 使用R内置方法:可以使用sample函数来随机划分数据集。示例代码如下:
```
set.seed(1) # 设置随机种子,使得示例可以重复
sample <- sample(nrow(df), floor(0.7*nrow(df)), replace = FALSE) # 随机选取70%的数据作为训练集
train <- df[sample, ] # 训练集
test <- df[-sample, ] # 测试集
```
2. 使用caTools包:可以使用sample.split函数来划分数据集。示例代码如下:
```
library(caTools)
set.seed(1) # 设置随机种子,使得示例可以重复
sample <- sample.split(df$any_column, SplitRatio = 0.7) # 随机选取70%的数据作为训练集
train <- subset(df, sample == TRUE) # 训练集
test <- subset(df, sample == FALSE) # 测试集
```
3. 使用caret包:可以使用createDataPartition函数来划分数据集。示例代码如下:
```
library(caret)
set.seed(1) # 设置随机种子,使得示例可以重复
index <- createDataPartition(df$target_column, p = 0.7, list = FALSE) # 随机选取70%的数据作为训练集
train <- df[index, ] # 训练集
test <- df[-index, ] # 测试集
```
阅读全文