0
KNN我定義我的訓練和測試集如下:留一出交叉驗證中的R
colon_samp <-sample(62,40)
colon_train <- colon_data[colon_samp,]
colon_test <- colon_data[-colon_samp,]
而且KNN功能:
knn_colon <- knn(train = colon_train[1:12533], test = colon_test[1:12533], cl = colon_train$class, k=2)
這裏是我的LOOCV循環KNN:
newColon_train <- data.frame(colon_train, id=1:nrow(colon_train))
id <- unique(newColon_train$id)
loo_colonKNN <- NULL
for(i in id){
knn_colon <- knn(train = newColon_train[newColon_train$id!=i,], test = newColon_train[newColon_train$id==i,],cl = newColon_train[newColon_train$id!=i,]$Y)
loo_colonKNN[[i]] <- knn_colon
}
print(loo_colonKNN)
當我打印loo_colonKNN
它給了我40個預測(即40車組的預測),但是,我希望它給我62個預測(原始數據集中的所有n個樣本)。我該如何去做這件事?
謝謝。
作爲一個附註,對於'k'選擇一個奇數是不是最好的,這樣它就永遠不會被確定下來。 – zacdav