我正在使用R来实现knn。 'class'包中的knn函数包含一个名为cl:
的参数knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)
在包文档中写道,cl是训练集真实分类的一个因素。我不知道那意味着什么!任何人都可以帮忙吗?
答案 0 :(得分:3)
正如您所指出的,CL代表分类。 CL应包含属于训练测试的响应变量的类别。如果将X定义为自变量并将Y定义为自变量,然后从两者中定义训练和测试集,则应将knn称为:
train <- sample(1 : dim(data)[1], round(dim(data)[1] / 3 * 2))
trainX <- data[train, ]
testX <- data[-train, ]
trainCl <- factor(data[train, "classifications"])
testCl <- factor(data[-train, "classifications"])
knnPred <- knn(trainX, testX, trainCl, k=1)
# confusion matrix
table(knnPred, testCl)
答案 1 :(得分:1)
假设您正在尝试预测结果y。 cl是训练集的y值。看看下面的链接。请注意,当他们定义cl = iris.trainLabels时,他们使用虹膜数据集的第5列,即物种。 所以cl是物种类型。然后knn算法预测物种类型。