切分数据集

 

  • 切分数据集

切分数据集就是将数据分红函数

    训练集(Test Data):用户构建模型,测试

    验证集(Valiadation Data):可选,用于辅助模型构建,能够重复使用code

    测试集(Test Data):用于检验模型构建,此数据只模型检验时使用,用于评估模型的准确率。绝对不容许用于模型构建过程,否者会致使过分拟合对象

  • 三种不一样的分法

  (1)推荐:caret包中的createDataPartition()函数ci

library(caret)
InTrain <- createDataPartition(y=wdbc$diagnosis,p=0.8,list = F) 
train_wdbc <- wdbc[InTrain,] #训练集
test_wdbc <- wdbc[-InTrain,] #测试集
prob.table(table(train_wdbc$y) #每类在训练集合中的占比
prob.table(table(test_wdbc$y)  #每类在测试集合中的占比

y:要拆分的对象it

p:训练集的占比数据挖掘

list:T表示分类的结果为列表io

time:要建立分区的数量,默认为1table

使用createDataPartition的好处在于,它能将低熵数据集随机抽取出咱们须要的训练集来。好比咱们的数据集共有 100 个样本点,前50 个是一类,后 50 个是一类,咱们为了让训练集里两类样本都各有一些,必然但愿从前 50 个样本点随机抽取必定比例,后 50 个里也随机抽取相应比例的样本点来组成训练集。这个手动过程由于涉及到人的主观意识,从而不能保证彻底随机化。而 createDataPartition 会自动从 y 的各个 level 随机取出等比例的数据来,组成训练集,给咱们省了不少事。test

createresample()#建立一个或多个Bootstrap样本;
Createfolds()#将数据分为K组;
createtimeslices()#建立交叉验证样本信息可用于时间序列数据

 

    (2)
使用R中内置鸢尾花数据集iris进行操做

鸢尾花(iris)是数据挖掘经常使用到的一个数据集,包含150种鸢尾花的信息,

每50种取自三个鸢尾花种之一(setosa,versicolour或virginica)。

每一个花的特征用下面的5种属性描述萼片长度(Sepal.Length)、萼片宽度(Sepal.Width)、

花瓣长度(Petal.Length)、花瓣宽度(Petal.Width)、类(Species)。

#对数据分红两部分,70%训练数据,30%检测数据
sample(2,nrow(iris),replace = T,prob=c(0.7,0.3))#等价于sample(1:2, nrow(iris), replace=T,prob=c(0.7,0.3))
sample(nrow(iris),100)  #从iris数据集中随机取100个数据做为样本

 

    (3)

dim(iris)
index <- sample(1:nrow(iris),100) #随机取出100行(观测)
iris.train <- iris[index,]  #训练集合
iris.test <- iris[-index]   #测试集合
相关文章
相关标签/搜索