R语言数据集分割

好在R和Python中有现成的数据集分割函数,避免手动写函数导致划分比例不合理、训练集与测试集的样本的结构与总体不均衡的问题。

R语言中caTools包中的sample.split函数可以用来自动将原始数据集分割成训练集和测试集。

方法一  caTools中的sample.split函数

install.packages("caTools")
library("caTools")
set.seed(123)
data(iris)
table(iris$Species)
split = sample.split(iris$Species,SplitRatio = .8)
train_data = subset(iris,split == TRUE)
test_data  = subset(iris,split == FALSE)
table(train_data$Species)
table(test_data$Species)

 

划分方法二——createDataPartition函数

 

library("caret")
split1  <- createDataPartition(y=iris$Species,p=0.8,list = FALSE)

train_data <- iris[split1,]
table(train_data$Species)
test_data  <- iris[-split1,]
table(test_data$Species)

  

原文地址:https://www.cnblogs.com/cxy-0902/p/12703660.html