问题标签 [knn]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
r - ggplot中KNN模型的轮廓?
我有一个 KNN 模型,我正在使用该contour
函数进行绘图。这是我正在做的事情的一个简单示例(基于此 Purdue 考试):
我的问题是:如何在 ggplot 中制作同样的情节?特别是,我该如何做相当于contour
?
machine-learning - K 最近邻算法
使用 KNN 算法,假设 k=5。现在我尝试通过获取 5 个最近的邻居来对未知对象进行分类。如果在确定了 4 个最近的邻居之后,接下来的 2 个(或更多)最近的对象距离相同怎么办?应该选择这 2 个或更多对象中的哪个对象作为第 5 个最近邻?
c# - 图像识别中的 K-Nearest Neighbor
我目前正在研究项目或研究指南/教程。我必须确定三个不同的叶子物种,并且每个使用 100 个样本(具体来说是 300 个),我的教授要求我在使用上传的 100 个样本对系统中上传的图像进行分类时暗示 K-最近邻算法数据库作为参考。
我已经为系统完成了样本的上传和图像处理,但我仍然需要应用 KNN 算法对它们进行分类,有什么建议或分步教程吗?
是否需要研究编码算法,或者是否有现有的库可以轻松地将KNN 应用于 C# 语言的图像分类?每个叶子有 100 个图像样本就足够了吗?
更多信息:martijin_himself 的回答
是的,我说的是树叶。嗯,一个问题是,唯一要考虑的特征是树叶的形状。忽略其他特征,如颜色、大小等。而且我不确切知道何时或如何提取这些“特征向量”,将它们放在哪里以及如何将图像样本用作要分类的叶子的参考
在系统的图像处理部分,对图像进行二值化、斑点处理,使图像只考虑其形状特征。因此,我在数据库中上传的所有样本也是如此。如果我缺少答案所需的信息,我感到非常抱歉。请多多包涵。
提前致谢!:)
r - 在R中计算稀疏的成对距离矩阵
我有一个NxM
矩阵,我想计算点NxN
之间的欧几里得距离矩阵M
。在我的问题中,N
大约是 100,000。由于我计划将此矩阵用于 k 近邻算法,因此我只需要保持k
最小距离,因此得到的NxN
矩阵非常稀疏。这与来自 的结果形成对比dist()
,例如,这将导致密集矩阵(并且对于我的 size 可能存在存储问题N
)。
到目前为止,我发现的 kNN 包(knnflex
、kknn
等)似乎都使用了密集矩阵。此外,该Matrix
软件包不提供成对距离功能。
更接近我的目标,我看到该spam
软件包具有一项nearest.dist()
功能,该功能允许人们仅考虑小于某个阈值的距离,delta
. 然而,在我的例子中,一个特定的值delta
可能会产生太多的距离(所以我必须NxN
密集地存储矩阵)或太少的距离(所以我不能使用 kNN)。
我已经看到了关于尝试使用这些包执行k-means 聚类bigmemory/biganalytics
的先前讨论,但在这种情况下,我似乎无法利用这些方法。
有人知道在 R 中以稀疏方式计算距离矩阵的函数/实现吗?我(可怕的)备份计划是有两个for
循环并将结果保存在一个Matrix
对象中。
python - python中的K最近邻居
我想在 python 中计算 K-最近邻。我应该使用什么库?
statistics - k最近邻分类器但使用分布?
我正在为一些 2D 数据构建分类器。
我有一些我知道类的训练数据,并将它们绘制在图表上以查看聚类。
对观察者来说,有明显的、独立的集群,但不幸的是,它们分布在线条上而不是紧密的集群中。一个线扩展以大约 80 度角上升,另一个以 45 度角上升,另一个与水平线呈约 10 度角,但所有三个似乎都指向原点。
我想对一些测试数据执行最近邻分类,从外观上看,如果测试数据与训练数据非常相似,则 3-最近邻分类器可以正常工作,除非数据接近图的原点,在这种情况下,三个集群非常接近,可能会有一些错误。
我应该为我的集群提出一些估计的高斯分布吗?如果是这样,我不确定如何将它与最近邻分类器结合起来?
感谢任何输入。
干杯
java - 支持向量机/K-最近邻代码示例
我正在尝试编写 SVM 或 KNN 程序来对文本文档进行分类。我掌握了两者的概念,但我希望看到一些很好的代码示例,专门演示如何将文本/单词表示为向量。有人知道好的教程/文章/讲座/任何带有代码示例的东西吗?即使是我可以自己单步执行的代码也会很好。我最擅长 ruby 和 java,虽然我能理解 python、javascript、c++。我会用任何语言举例。
ruby - 我需要什么数据来实现 k 最近邻?
我目前有一个 reddit 克隆类型的网站。我正在尝试根据我的用户以前喜欢的帖子推荐帖子。
似乎 K 最近邻或 k 均值是最好的方法。
我似乎无法理解如何实际实现这一点。我看过一些数学公式(例如 k 表示维基百科页面上的那个),但它们对我来说真的没有意义。
有人可以推荐一些伪代码,或者可以看的地方,这样我就可以更好地了解如何做到这一点?
neural-network - 自组织图(SOM)在色彩空间中对图像进行聚类时无效?
我正在尝试在 ai-junkie 网站http://www.ai-junkie.com/ann/som/som1.html上重现实验,以使用较大颜色的自组织地图 (SOM) 将不同颜色聚集/分组在一起数据集。我使用了大约 400 张不同纯色的图像,因为它们是纯色,所以任何颜色空间(例如 RGB)中的颜色值对于特定图像中的所有点都是相同的。因此,我在使用 SOM 进行聚类之前使用的特征只是每个图像的 3 维颜色值。
当我执行 SOM 时,其源代码从http://knnl.sourceforge.net/获得,具有 40 行、40 列和 20 次迭代(epoch=20),聚类结果对我来说毫无意义。我看起来如下:
我觉得这只是随机聚类(如果我可以这样称呼的话),即使是 k-means 算法也会给出更好的结果。关于可能出错的任何想法?
classification - 朴素贝叶斯分类器 - 多个决策
我需要知道朴素贝叶斯分类器是否可用于生成多个决策。我找不到任何有证据支持多项决定的例子。我是这个地区的新手。所以,我有点困惑。
其实我需要开发字符识别软件。在那里我需要确定给定的字符是什么。贝叶斯分类器似乎可以用来识别给定的字符是否是特定字符,但它不能给出任何其他建议。
例如,如果给定一个“3”的图像(我们认为它是“3”),如果系统无法将其识别为“3”。如果系统看起来像“2”,系统应该返回“2”。
我对朴素贝叶斯分类器的想法是,一旦我们训练数据,我们就可以询问系统给定字符是否是特定字符。例如。我们绘制一个特定数字的图像并询问系统它是否是“2”。
我进一步注意到 KNN(k 最近邻) 给出了多个决定。给定一个字符,它决定训练数据中给定的最接近的兼容字符。
如果有人可以向我解释朴素贝叶斯分类器是否可用于做出上述多项决策,我们将不胜感激。