gpt4 book ai didi

algorithm - 仅使用 knnsearch (MATLAB) 使用 knn 分类的简单方法?

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

我有一个向量 x,有 2 列(第 1 列是特征 1,第 2 列是特征 2),每一行代表一个数据点。我还有另一个向量,我们称之为 c,它包含每个数据点(1 或 2)的类标签,只有 2 个类。是否有一种仅使用 knnsearch 构建 K-NN 分类器的简单方法?我已经尝试了将近整整两天,但无法正常工作。我知道我的数据中的哪些点是训练集、验证集和测试集。然后,我应该查看被错误分类的点数,并查看随着 k 的增加而发生的变化。有人有建议吗?在这一点上,我会接受任何我能得到的东西。哪怕只是一个大纲。

最佳答案

如果您添加代码并指定代码的哪一部分不起作用,那就更好了。关于 knnsearch 如何工作的一般建议,

K = 1 % constant. 'K'th nearest neighbor
x = rand(10, 2) % 10 data with length 2 feature
c = rand(2, 2) % class data point, 2 classes with length 2 feature
outputClass = knnsearch(c, x, 'K', K) % knn-classifies x in c class points

输出每个点x的类。

outputClass =

2
2
1
2
2
2
1
2
2
1

也就是说,对于 x 中的每个点,它返回欧氏距离中 c 中最近点的索引。

如果你想看看其中有多少被错误分类,你可以使用

sum(outputClass ~= expectedClass)

但是,如果你只有 2 个类,增加 K 将毫无意义。 KNN 返回接近数据点的 K 个类。如果只有 2 个类,K=2 的 KNN 将具有与 K=1 的 KNN 完全相同的信息量。通常,您使用 KNN 分类将一个点分类为多个类,以找到 k 个最接近的类。

关于algorithm - 仅使用 knnsearch (MATLAB) 使用 knn 分类的简单方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25949050/

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