在R中用Knn算法实现数据集iris3分类时,把50份数据按30份训练数据,20份测试数据划分:
install.packages("FNN")
install.packages("rknn") #gmp可以不安装,安装rknn是会自动安装gmp
library(gmp)
library(rknn)
data(iris3)
train <- rbind(iris3[1:30,,1], iris3[1:30,,2], iris3[1:30,,3]) #选前30个数据为训练数据
test <- rbind(iris3[31:50,,1], iris3[31:50,,2], iris3[31:50,,3])#剩下的为测试数据
cl <- factor(c(rep("s",30), rep("c",30), rep("v",30)))
knn(train, test, cl, k = 3, prob=TRUE) #进行KNN算法分类
k值的选定,要多试验几次,比较最好的