R中knn函数中的cl参数是什么意思?

时间:2015-04-15 15:35:18

标签: r knn

我正在使用R来实现knn。 'class'包中的knn函数包含一个名为cl:

的参数
knn(train, test, cl, k = 1, l = 0, prob = FALSE, use.all = TRUE)

在包文档中写道,cl是训练集真实分类的一个因素。我不知道那意味着什么!任何人都可以帮忙吗?

2 个答案:

答案 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算法预测物种类型。

http://blog.datacamp.com/machine-learning-in-r/