问题标签 [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.
matlab - MATLAB中的KNN分类-混淆矩阵和ROC?
我正在尝试使用不同的分类器(LDA、SVM、KNN)对包含两个类的数据集进行分类,并希望比较它们的性能。我通过修改先验概率为 LDA 制作了 ROC 曲线。
但是我怎样才能对 KNN 分类器做同样的事情呢?
我搜索了文档,发现了一些功能:
Class = knnclassify(Sample, Training, Group, k)
mdl = ClassificationKNN.fit(X,Y,'NumNeighbors',i,'leaveout','On')
我可以运行 (a) 并通过使用留一法交叉验证获得混淆矩阵,但不可能更改先验概率来生成 ROC?
我以前没有尝试过 (b),但这会创建一个模型,您可以在其中修改 mdl.Prior。但我不知道如何获得混淆矩阵。
有没有我错过的选项或有人可以解释如何充分利用这些功能来获得 ROC?
r - 如何对大型数据库进行采样并在 R 中实现 K-means 和 K-nn?
我是 R 的新用户,试图摆脱 SAS。我在这里问这个问题是因为我对 R 可用的所有包和源感到有点沮丧,而且我似乎无法让这个工作主要是由于数据大小。
我有以下内容:
本地 MySQL 数据库中名为 SOURCE 的表,具有 200 个预测器特征和一个类变量。该表有 300 万条记录,大小为 3GB。每个类的实例数不相等。
我想要:
- 随机抽样 SOURCE 数据库以创建一个较小的数据集,每个类具有相同数量的实例。
- 将样本分成训练集和测试集。
- 在训练集上进行 k-means 聚类以确定每个类的 k 个质心。
- 使用质心对测试数据进行 k-NN 分类。
c++ - 带有符号指标的 KNN 搜索
我正在寻找一个 C++ 库,它允许使用平方伪范数有效地找到点集中一个点的 k 最近邻居:
我的第三个坐标在其平方范数中可能有也可能没有减号。或者,我可以考虑一个 4D 空间,其中第三个组件始终具有正号,而第四个组件始终具有负号。
ANN 库的文档表明它可以使用任何“Minkowski”度量。上面的度量是 Minkowski 度量的定义(在Wolfram Mathworld的意义上,但不是 ANN 的意义上)。然而,ANN 似乎很灵活,似乎只需要一个“+”和“-”运算符(ANN 文档,第 14 页),但它们不是按组件定义的,而是全局定义的。
有没有人概括过人工神经网络来处理这种情况?是微不足道的吗?它不会搞砸 kd-tree 吗?是否存在另一个图书馆?
谢谢!
machine-learning - 什么是特征选择的前馈包装方法?
对于学校项目,我需要从 UCI 存储库中选择一个数据集,并在使用“前馈包装器”特征选择对其进行处理后使用 KNN 对数据进行分类。谷歌搜索“前馈包装器”一无所获......有人可以向我解释它是什么吗?更好的是,向我描述完成这项任务的步骤可能吗?“数据类型”、“属性类型”、“属性个数”应该选择什么样的数据?
最好的,法提赫
matlab - 求测试数据的分类率
我需要使用KNN搜索对测试数据进行分类并找到分类率。
下面是matlab代码:例如:
结果显示在命令窗口中:
如果测试点是'Versicolor',则第一个和第三个测试点的结果分类正确,第二个测试点的结果是错误的,所以分类率为2/3 x100%=66.7%。
是否有任何想法修改matlab代码以自动找到分类率并将结果保存到工作区中?
matlab - 使用不同的 k 值找到分类率
我使用 KNN 搜索对测试数据进行分类并找到分类率。
下面是matlab代码:例如:
但是,上面的 matlab 代码仅适用于 k=1,如果我尝试 k=2,则使用 strcmp 时出现错误“输入必须是相同的大小,或者任何一个都可以是标量。” 反正有修改代码吗??
然后,如果我想测试另一个物种,例如“virginica”,我需要花时间将 true_class 从“versicolor”更改为“virginica”,有什么方法可以自动更改它吗?谢谢
sas - 您如何在 SAS for KNN 中使用 Proc Discrim 处理死锁?
我有一个运行 KNN 分析的 proc discrim 语句。当我设置 k = 1 时,它会为所有内容分配一个类别(如预期的那样)。但是当 k > 1 时,它会留下一些未分配的观察结果(将类别设置为其他)。
我假设这是对两个或更多类别的死锁投票的结果。我知道有一些方法可以解决这个问题,要么随机选择一张陷入僵局的选票作为答案,要么将最近的陷入僵局的选票作为答案。
此功能在 proc discrim 中可用吗?你如何告诉它如何处理死锁?
干杯!
sas - 如何在 SAS 中使用每个类的单个质心来执行 1NN?
我在 SAS 中使用 PROC fastclus 为每个班级计算一个质心,
我正在尝试根据创建的这些质心中最接近的一个对测试集进行分类。这我也在 SAS 中使用 PROC discrim。
我正在使用带有选项的欧几里得距离测量metric=identity
。
返回以下错误。
如果我将 fastproc 中的集群数设置为 2,则此方法有效。
但是,如何在 SAS 中执行每个类具有单个质心的 1NN?
opencv - 实现 OpenCV 特征匹配的具体过程,例如 match() 和 radiusMatch()
你好,我想改进特征匹配算法,所以我需要了解目前的特征匹配方法OpenCV
。我对它的实施有些怀疑。
鉴于此方法:
如何找到最佳匹配特征?
谁能告诉我这两种方法的具体算法或过程?
r - 使用 R 仅查找一个点(不是整个矩阵)的 k 最近邻
是否有一个包或一种简单的方法可以使用 R 为一个点搜索 k 最近邻居(特别是使用 kd 树)?所有提供此功能的包(例如 RANN 或 FNN ...)计算矩阵中所有点的 knn,我只需要为一个点计算。
例如,我有一个包含 10 个点“A”到“E”的矩阵,我想为“A”找到其他 4 个点(“B”到“E”)之间的 2 个最近邻居,而不对所有点进行相同的计算数据集中的行(不计算“B”、“C”、“D”、“E”的 knn)
我希望我的问题很清楚,我的英语不好。
谢谢你的帮助,