【问题标题】:Use knn with k=1 and classify the test dataset in R在 k=1 的情况下使用 knn 并在 R 中对测试数据集进行分类
【发布时间】:2016-06-29 03:31:44
【问题描述】:

使用 R 中的 iris 数据集,我提出了两个不同的子集。

test <- iris[seq(1, nrow(iris), by = 5),]
training <- iris[-seq(1, nrow(iris), by = 5),]

我现在使用 k=1 寻找 k 个最近邻。这是我的尝试和输出。

knn(test, k = 1, prob=TRUE)

**Error in knn(test, k = 1, prob = TRUE) : 
  argument "test" is missing, with no default**

为什么这告诉我缺少“测试”?谢谢

【问题讨论】:

标签: r dataset


【解决方案1】:

试试这个:

test <- iris[seq(1, nrow(iris), by = 5),-5] #hide the species from knn
training <- iris[-seq(1, nrow(iris), by = 5),-5]

cl <-iris[-seq(1, nrow(iris), by = 5),]$Species #this is where you tell
# it which species is which.

knn(train = training, test = test, cl = cl, k = 1, prob=TRUE)

[1] setosa     setosa     setosa     setosa     setosa     setosa     setosa    
[8] setosa     setosa     setosa     versicolor versicolor versicolor versicolor
[15] virginica  versicolor versicolor versicolor versicolor versicolor virginica 
[22] virginica  virginica  virginica  virginica  virginica  virginica  virginica 
[29] virginica  virginica 
attr(,"prob")
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Levels: setosa versicolor virginica

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-06-24
    • 1970-01-01
    • 2017-03-13
    • 2014-12-25
    • 2019-10-04
    • 2014-09-01
    • 2017-12-10
    • 2021-04-07
    相关资源
    最近更新 更多