gpt4 book ai didi

r - 在 R 中使用 KNN (k = 2) 时不断对小数据集进行不同的预测

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:11:23 29 4
gpt4 key购买 nike

考虑以下训练集的回归问题:

enter image description here

我想预测每个对象的 2 个最近邻预测 - 但是,每次调用 knn 函数时,我都会得到不同的预测。应该这样吗?这是我正在使用的代码:

library(class)
test <- train <- matrix(c(-1, 0, 2, 3),,1)
cl <- c(0, 1, 2, 1)
knn(train, test, cl, k=2)

输出:

> knn(train, test, cl, k=2)
[1] 1 1 2 2
Levels: 0 1 2
> knn(train, test, cl, k=2)
[1] 0 0 1 2
Levels: 0 1 2
> knn(train, test, cl, k=2)
[1] 1 1 1 2
Levels: 0 1 2
> knn(train, test, cl, k=2)
[1] 0 0 1 2
Levels: 0 1 2

非常感谢任何澄清。

最佳答案

knn 中,关系是随机断开的,按照您设置它的方式,您将始终在投票中有一个正确的(完全匹配)和一个错误的标签(最接近的匹配),因此结果总是在实际标签和错误标签之间随机选择。

您可以通过多次运行实验并查看结果从经验上看出这一点 - 每行将有两个不同的结果,比例大致相同。

关于r - 在 R 中使用 KNN (k = 2) 时不断对小数据集进行不同的预测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34215579/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com