我正在为一个班级训练一个K近邻模型。问题是,他们要求我们使用whole数据库进行训练,对于要预测的行,except对此进行了训练。
我的计划是初始化一个向量以进行存储,并运行一个for循环以遍历每一行,从而忽略该特定行进行训练,然后将预测值附加到该向量上,并在循环后计算精度:
results <- c() for (i in nrow(data) { model.kknn <- train.kknn(data[-i,11]~., data = data[-i,1:10],kmax = 7, scale = TRUE) pred <- predict(model,data[i,1:10]) results <- c(results,pred) }
我期望向量
results
为1和0的序列。但是,我尝试仅循环第一行,并且results
的值为2
。
打印pred
时,值为:
[1] 1 Levels: 0 1
知道如何将1附加到向量
results
上吗?
我正在为一个班级训练一个K近邻模型。问题是他们要求我们对整个数据库进行训练,除了要预测的行。我的计划是为...
在for()部分中指定1:N
,最好不要“增长”一个向量,而是初始化一个适当长度的空向量并将其填充。