【R Tip】数据集划分为训练集和测试集?
测试开头

测试结尾
笔者邀请您,先思考:
1 如何划分数据集?
问题背景
我们构建数据模型的时候,需要把数据集划分为训练集和测试集,训练集用来训练模型,测试集用来测试模型的泛化能力。本文总结R语言如何把数据集划分为训练集和测试集?
解决方案
结合实际工作,罗列4中解决方案。
1 使用sample()函数
代码片段如下:
1data <- read.csv("raw_data/data.csv")
2
3set.seed(20180808)
4index <- sort(sample(nrow(data), nrow(data)*.7))
5train <- data[index,]
6test <- data[-index,]
2 使用caret包
代码片段如下:
1library(caret)
2data <- read.csv("raw_data/data.csv")
3set.seed(20180808)
4index <- createDataPartition(
5 data$y,
6 p = 0.7,
7 list = FALSE
8)
9train <- data[index, ]
10test <- data[-index, ]
3 使用caTools包
代码片段如下:
1library(caTools)
2data <- read.csv("raw_data/data.csv")
3
4set.seed(20180808)
5index <- sample.split(data$y,SplitRatio = 0.3)
6train <- subset(data, index == TRUE)
7test <- subset(data, index == FALSE)
4 使用scorecard包
代码片段如下:
1library(scorecard)
2data <- read.csv("raw_data/data.csv")
3set.seed(20180808)
4data_list <- split_df(data, ratio = 0.7)
5train <- data_list$train
6test <- data_list$test
参考资料
1 https://topepo.github.io/caret/data-splitting.html
2 http://shujuren.org/article/637.html
版权声明:作者保留权利,严禁修改,转载请注明原文链接。
数据人网是数据人学习、交流和分享的平台http://shujuren.org 。专注于从数据中学习到有用知识。
平台的理念:人人投稿,知识共享;人人分析,洞见驱动;智慧聚合,普惠人人。
您在数据人网平台,可以1)学习数据知识;2)创建数据博客;3)认识数据朋友;4)寻找数据工作;5)找到其它与数据相关的干货。
我们努力坚持做原创,聚合和分享优质的省时的数据知识!
我们都是数据人,数据是有价值的,坚定不移地实现从数据到商业价值的转换!
公众号推荐:
链达君,专注于分享区块链内容。

艾鸽英语,专注于分享英语口语内容。
请关注“恒诺新知”微信公众号,感谢“R语言“,”数据那些事儿“,”老俊俊的生信笔记“,”冷🈚️思“,“珞珈R”,“生信星球”的支持!