切分數據集

 

  • 切分數據集

切分數據集就是將數據分紅函數

    訓練集(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]   #測試集合
相關文章
相關標籤/搜索