如題
最近想手刻實踐 cross validtion的算法
上網查了一下別人的範例code
如下
x <- runif(100)*10 #Random values between 0 and 10
y <- x+rnorm(100)*.1 #y~x+error
dataset <- data.frame(x,y) #Create data frame
dataset<- dataset[sample(nrow(dataset)),]
dataset
#here is the trick
folds <- cut(seq(1,nrow(dataset)),breaks=5,labels=FALSE)
folds
sample(nrow(dataset))
for(i in 1:5){
#Segement your data by fold using the which() function
#這裡就是我想問的
testIndexes <- which(folds==i,arr.ind=TRUE)
#這裡就是我想問的
testData <- dataset[testIndexes, ]
trainData <- dataset[-testIndexes, ]
#Use the test and train data partitions however you desire...
#必須要在這個步驟去套入model 然後計算MSE
}
他在切traing 和Testing時 使用了 fold的技巧
但是這整段有沒有可能 不使用for 迴圈 而改用apply家族去實現
因為真的太喜歡使用apply的簡潔了
還希望版友回答
偷偷問另外一個問題
我有一個function s 去計算 x*y
s<- function(x,y){ x*y }
s( c(2,3) , c(4,5) )
這裡我會得到 8 15
但其實我想得到的是所有的可能性
8,10,12,15
請問我要如何在保有 input是 c(2,3) , c(4,5) 下 得到我要的結果呢
更甚至在 s ( c(2,3),c(4,5,6,7,8) ) 狀況下也可以得到遍歷的結果