使用欧氏距离在 numpy 数组列表中查找 numpy 数组的最近邻居

2023-12-08

我有一个 n 维向量,我想使用欧几里得距离在 n 维向量列表中找到它的 k 个最近邻。

我编写了以下代码(k=10),它可以工作,但运行速度太慢,我想知道是否有更优化的解决方案。

def nearest_neighbors(value, array, nbr_neighbors=1):
    return np.argsort(np.array([np.linalg.norm(value-x) for x in array]))[:nbr_neighbors]

使用 scipy 的kd-tree.

一个小例子是可以在这里找到.

很多人似乎抱怨性能并推荐sklearn的实现不过(链接 sklearn.neighbors,它正在使用这个数据结构内部)!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用欧氏距离在 numpy 数组列表中查找 numpy 数组的最近邻居 的相关文章

随机推荐

  • Swift - 将协议数组向上转换为超级协议数组会导致错误

    在 Swift 中 我注意到我可以向上转换一个符合名为的协议的对象 比方说SubProtocol到另一个称为SuperProtocol这是一个超级协议SubProtocol 但我不能对协议数组做同样的事情 这是我在 Playground 中
  • 使用 pywin32 Dispatch 在 Excel 中的命名工作表之后移动工作表

    我有大量文件 需要将其中的某个工作表复制到另一个工作簿 需要将它们放置在具有特定名称的工作表之后 同时保留要移动的工作表中的所有格式 我在另一个线程中看到 pywin32 将是可行的方法 但是我很难在指定的工作表 之后 复制此工作表 xl
  • 设计一个指令序列,以便在使用偏移量解码时执行其他操作

    这个问题是后续问题那个问题 要设置此问题的上下文 请考虑无空编程 这是一种将指令序列 shellcode 伪装成字符串的技术 在C编程语言中 字节0标志着字符串的结束 因此指令序列必须设计为不包含任何此类字节 否则它将被滥用的字符串操作函数
  • 文本框出现在单选按钮检查上

    我有以下 table td align center td table
  • pandas - groupby 和重新缩放值

    我想向此数据框添加一个重新缩放的列 I Value A 1 A 4 A 2 A 5 B 1 B 2 B 1 这样新列 我们称之为scale 遵循一个函数value每组的列I 该函数只是每个组范围的标准化 lambda x x min x m
  • 如何在单个 MSI 中部署多个项目?

    我的解决方案中有 3 个要部署的项目 是否有一种快速有效的方法可以使用 Visual Studio 的安装项目来使用一个 MSI 部署所有三个应用程序 并让用户在安装过程中决定要安装哪些应用程序 我有 3 个单独应用程序的设置项目 我还有一
  • Google 表格中的一项功能可处理多个工作表

    在 Google Sheets 中我必须重复一个函数 因为getSheetByName 不接受一系列工作表 它只接受一张工作表 有没有一种方法可以让一个函数循环指定的工作表 不是所有工作表 i e 表 1 表 2 等 function re
  • 蓝牙SPP接收到的一些包帧会丢失还是?

    我使用android示例代码进行修改 只想收到包裹 但是 我的代码只在这里修改 private final Handler mHandler new Handler Override public void handleMessage Me
  • 在 grails 的 jasper 报告中以 pdf 格式显示新安装的字体

    我正在使用 iReport 4 5 0 和 grails 2 1 1 我想对 pdf 格式的报告中的某些文本使用 Canterbury 字体 因此我使用 iReport 设计器将该字体分配给我想要的文本 我还进入 iReport 设计器的工
  • 熟悉 MVC - 如何使用会话逻辑、附加类和后台逻辑

    在编写 PHP 代码时 我决定放弃意大利面条式代码并尝试实现 MVC 为了实现MVC框架 我发泄本文文章给了我一个良好的开端 我成功地创建了我的网站并开发了前端 现在 我正在尝试使用会话和其他会员区功能来实现后端 我的大脑充满了新信息 我的
  • 查找两个字符串数组之间的非公共元素

    有一个问题是如何找到两个字符串数组之间的非公共元素 例如 String a a b c d String b b c O p should be a d 我已经尝试过以下方法 但请告知是否有其他有效的方法来实现相同的目标 String a
  • TLabel 和 TGroupbox 标题在调整大小时闪烁

    所以 我有一个应用程序加载不同的插件并创建一个 每个 TPageControl 上都有一个新选项卡 每个 DLL 都有一个与其关联的 TForm 创建表单时将其父级 hWnd 作为新的 TTabSheet 由于就 VCL 而言 TTabSh
  • WebResource.axd 不适用于 Internet Explorer 11

    我们正在针对新的 Windows 8 1 IE 11 浏览器 classic 和 Metro 测试我们的网站 有一个Javascript文件嵌入WebResource axd The WebResource可以在 Firefox Googl
  • 将 H2 数据传输到 PostgreSQL

    我正在从 H2 数据库过渡到 PostgreSQL 据我发现 在 H2 上执行 SCRIPT TO 命令时创建的 SQL 转储包含几个不适当的结构 Unicode 数据用函数 STRINGDECODE unicode data 包装 二进制
  • 将OutputStream发送到浏览器并让浏览器保存它[重复]

    这个问题在这里已经有答案了 我想从 Rich Faces 数据表导出数据 我已经从数据表中的数据创建了outputStream 现在想将这个OutputStream发送到浏览器并让它保存 我怎样才能做到这一点 FileOutputStrea
  • 无法在无 cookie Web 应用程序上创建 asp.net 会话

    我有一个无cookie的基于asp net 4 5的网络应用程序
  • HTML5 localStorage 不适用于 Android WebView

    我正在使用 Buzztouch 为客户端制作移动应用程序 因此 html 页面不在应用程序内 它们是通过 JSON 从服务器加载的 客户希望应用程序上有一个屏幕 用户可以在其中将详细信息输入时间表并将其存储在手机上 我尝试使用 localS
  • 如何计算Android应用程序中两点之间的距离

    在我的应用程序中 我试图计算一个人从一个地方到另一个地方的旅行距离 为此 我使用半正矢公式 R earth s radius mean radius 6 371km lat lat2 lat1 long long2 long1 a sin
  • 为什么线程不停止?

    我的服务生成一个新线程 并根据通常推荐java中断 的方法 当我停止服务时 我会在 onDestroy 中停止线程 服务停止 到达中断代码 然而 很快线程就会从 Runnable 的开头重新启动 public class DoScan ex
  • 使用欧氏距离在 numpy 数组列表中查找 numpy 数组的最近邻居

    我有一个 n 维向量 我想使用欧几里得距离在 n 维向量列表中找到它的 k 个最近邻 我编写了以下代码 k 10 它可以工作 但运行速度太慢 我想知道是否有更优化的解决方案 def nearest neighbors value array