您的位置:首页 > 其它

R语言样本数据划分(训练数据测试数据)

2018-02-11 23:10 459 查看
 机器学习一般将数据划分成训练数据、验证数据(可选)、测试数据、三个部分,训练数据和验证数据用来训练模型,估计模型的具体参数,测试数据用来验证模型预测的准确程度。下面我们就对german_credit这个数据进行划分
german_credit <- read.csv("f:\\german_credit.csv")
train <-createDataPartition(y=german_credit$Creditability,p=0.75,list=FALSE)
train2 <- german_credit[train, ]  #75%的german_credit数据作为训练数据

test2 <- german_credit[-train, ]  #25%的german_credit数据作为测试数据
以上命令中createDataPartition( )就是数据划分函数,对象是german_credit$Creditability,p=0.75表示训练数据所占的比例为75%,list是输出结果的格式,默认list=FALSE。 train2 <- german_credit[train, ],test2 <- german_credit[-train, ]分别制定具体的训练数据和测试数据。

使用createDataPartition 的好处在于,它能将低熵数据集随机抽取出我们需要的训练集来。比如我们的数据集共有 100 个样本点,前50 个是一类,后 50 个是一类。我们为了让训练集里两类样本都各有一些,必然希望从前 50 个样本点随机抽取一定比例,后 50 个里也随机抽取相应比例的样本点来组成训练集。这个手动过程因为涉及到人的主观意识,从而不能保证完全随机化。而 createDataPartition 会自动从 y 的各个 level 随机取出等比例的数据来,组成训练集,给我们省了很多事。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: