我已经准备好数据,并将其命名为wdbc_n
。数据的维数为(569)(32)。我使用“留出一个”交叉验证分离了这些数据。以下是我的数据分区代码
LOOOCV_training=list()
for(i in 1:nrow(wdbc_n)){
LOOOCV_training[[i]]=wdbc_n[-i,]}
LOOOCV_testing=list()
for(i in 1:nrow(wdbc_n)){
LOOOCV_testing[[i]]=wdbc_n[i,]}
现在,我的问题是如何选择训练或测试集来建立模型?
我很困惑,因为它们是循环形式。
我想要的是如何处理它们,因为我将有很多培训和测试集(569)。例如,如果我有一列火车,而我想写一些代码,我会像这样for (i in 1:nrow(wdbc_train))...
来做,但是现在有很多,一一写是很费时间的。
现在假设我想将上面的LOOCV解决方案与先前代码的以下部分结合使用。这怎么可能呢?
Dist=matrix(0,nrow=nrow(wdbc_train),ncol=nrow(wdbc_test))
Dist2=matrix(0,nrow=nrow(wdbc_test),ncol=3)
for (i in 1:nrow(wdbc_train)){
for (j in 1:nrow(wdbc_test)){
Dist[i,j]=lpnorm(as.matrix(wdbc_train[i,]- wdbc_test[j,]),0.1)}}
我非常感谢您的帮助。