knn 算法每个测试数据输出一个结果

knn algorithm output one result per test data

我使用 knn 构建了一个基本的预测模型。

我运行之后:

predictions = knn(train,test,cl,k=3)

然后输出predictions,R控制台每行有十几个结果

如:

[1] Yes No Yes Yes Yes No Yes Yes Yes No No
[12] No Yes Yes Yes No No No Yes Yes Yes No

等等 10000 行。

我需要将其导出,以便将这些结果中的每一个与 ID 号相匹配。理想情况下导出如下:

[1] Yes
[2] No
[3] Yes
...
[10000] No

R Console 中有没有办法让每个结果的数据成为一行?或者只是一种直接将结果导出到文件中的方法?

您可以使用 write.csv

直接转到文件
write.csv(predictions, "predictions.csv") 

使用getwd()查看文件将写入的位置。

变量 predictions 是一个长度为 10000 的向量。它没有行,您看到的内容取决于控制台的宽度。

如果你想要有行的东西,制作一个数据框。如果要匹配的ID号与行号(?)相同,则可以:

predictions_df <- data.frame(id = 1:length(predictions), 
                             prediction = predictions,
                             stringsAsFactors = FALSE)