距离矩阵的并行构造

2024-04-13

我对大量多维向量进行层次凝聚聚类,我注意到最大的瓶颈是距离矩阵的构造。此任务的简单实现如下(此处使用 Python):

''' v = an array (N,d), where rows are the observations
and columns the dimensions'''
def create_dist_matrix(v):
   N = v.shape[0]
   D = np.zeros((N,N))
   for i in range(N):
      for j in range(i+1):
          D[i,j] = cosine(v[i,:],v[j,:]) # scipy.spatial.distance.cosine()
   return D

我想知道向这个例程添加一些并行性的最佳方法是什么。一种简单的方法是中断外部循环并将其分配给多个作业,例如如果您有 10 个处理器,请为不同的范围创建 10 个不同的作业i然后连接结果。然而,这种“横向”解决方案似乎不太正确。是否有其他并行算法(或现有库)可以完成此任务?任何帮助将不胜感激。


好像scikit-learn有一个名为 pdist 的并行版本成对距离 https://scikit-learn.org/stable/modules/generated/sklearn.metrics.pairwise_distances.html

from sklearn.metrics.pairwise import pairwise_distances

D = pairwise_distances(X = v, metric = 'cosine', n_jobs = -1)

where n_jobs = -1指定将使用所有 CPU。

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

距离矩阵的并行构造 的相关文章

  • ValueError:无法将 DatetimeIndex 转换为 dtype datetime64[us]

    我正在尝试为 S P 500 ETF 创建一个包含 30 分钟数据的 PostgreSQL 表 spy30new 用于测试新插入的数据 来自具有 15 分钟数据的多个股票的表 全部 15 个 all15 在 dt 时间戳 和 instr 股
  • 为什么 takewhile() 会跳过第一行?

    我有一个这样的文件 1 2 3 TAB 1 2 3 TAB 我想将 TAB 之间的行作为块读取 import itertools def block generator file with open file as lines for li
  • python:如何检查一行是否为空行

    试图弄清楚如何编写一个 if 循环来检查一行是否为空 该文件有许多字符串 其中之一是一个空行 用于与其他语句分隔开 不是 我认为是一个回车符后面跟着另一个回车符 new statement asdasdasd asdasdasdasd ne
  • 回归模型 statsmodel python

    这更多是一个统计问题 因为代码运行良好 但我正在学习 python 中的回归建模 我在下面使用 statsmodel 编写了一些代码来创建一个简单的线性回归模型 import statsmodels api as sm import num
  • 确定列的累积最大值

    我正在尝试以下代码 df pd DataFrame 23 52 36 49 52 61 75 82 97 12 columns A B df C np where df A gt df C shift df A df C shift pri
  • 使用 Numpy 与 einsum 和 tensordot 进行相同的操作

    假设我有两个 3D 数组A and B形状的 3 4 N and 4 3 N 我可以计算沿第三轴的切片之间的点积 with einsum np eisum ikl kjl gt ijl A B 是否可以执行相同的操作numpy tensor
  • 是否可以使用 csv.DictReader 保持列顺序?

    例如 我的 csv 有如下列 ID ID2 Date Job No Code 我需要以相同的顺序写回各列 这dict立即打乱了顺序 所以我相信这更多是读者的问题 蟒蛇的dicts 在 3 6 之前不维持顺序 但是 无论如何 在该版本中csv
  • 解码来自 S60 设备的 WBXML SyncML 消息

    我正在尝试解码来自诺基亚 N95 的 WBXML 编码的 SyncML 消息 我的第一次尝试是使用 python pywbxml 模块 它包装了对 libwbxml 的调用 用此方法解码消息会得到许多 标签以及 标签内的一大块二进制文件 我
  • Python:像石英一样的事件调度程序[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • python-messaging 无法处理 HTTP 请求

    我正在使用下面的代码尝试使用 python messaging 发送彩信https github com pmarti python messaging blob master doc tutorial mms rst https gith
  • 与 GridSearchCV 的并行错误,与其他方法一起工作正常

    我使用 GridSearchCV 时遇到以下问题 它在使用时给我一个并行错误n jobs gt 1 同时n jobs gt 1与 RadonmForestClassifier 等单一模型配合良好 下面是一个显示错误的简单工作示例 train
  • 创建 Pyomo 约束的性能

    我正在用 pyomo 设置一个更大的能量优化问题 正如其他中提到的 设置花费了不合理的时间问题 https stackoverflow com questions 43413067 performance of pyomo to gener
  • 如何在pandas中分组后从每组中选择前n行? [复制]

    这个问题在这里已经有答案了 我有一个具有以下形状的 pandas 数据框 open year open month type col1 col2 我想找到每个 年 月 中的顶级类型 所以我首先找到每个 年 月 中每种类型的计数 freq d
  • 使用字典时如何避免 KeyError?

    现在我正在尝试编写汇编程序 但我不断收到此错误 Traceback most recent call last File Users Douglas Documents NeWS py line 44 in if item in regis
  • 数据框更新后如何刷新绘图?

    假设您已经使用以下方法构建了一个图形px line 使用数据框 数据框稍后会添加新数据 用新数据刷新数据的好方法是什么 一个例子可以是px data stocks 从列的子集开始 GOOG AAPL AMZN FB NFLX MSFT 例如
  • 适用于 Python 的 GitLab CI 共享 Windows 运行器

    我在 GitLab 中有一个 python 项目仓库 我看到 GitLab 共享了可用的测试版 Windows 运行程序 请参阅this https about gitlab com blog 2020 01 21 windows shar
  • 如何从 Django 中的链接设置预定义的表单值?

    我的项目是这样布局的 1 page has many categories 2 category belongs to page has many items 3 item belongs to category 当我进入一个页面时 我想修
  • 使用 Python 3.x 基本获取 URL 的 HTML 正文

    我是Python新手 我对 Python 2 x 中的旧 urllib 和 urllib2 与 Python 3 中的新 urllib 之间的差异有点困惑 除此之外 我不确定数据在发送到 urlopen 之前何时需要编码 我一直在尝试使用
  • Python google云函数部署失败-Madmom pip包

    我正在尝试使用 madmom python pip 包部署 Python3 7 Google Cloud Function 但是指定madmom 0 16 1requirements txt 中的内容导致部署失败 当我从requiremen
  • Django 多个外键,相同的相关名称

    我想创建一个模型 1 其中具有相同其他模型 2 的多个外键 我希望这些外键具有相同的related name因为每个外键将指向 model 2 的不同实例 因为我需要所有外键的一个反向关系 也许一个例子会更明确 class Parent M

随机推荐

  • MySQL ORDER BY 带 % 的字段

    我正在尝试使用通配符进行 ORDER BY FIELD 工作 但没有成功 SELECT positions departments dept name departments dept url divisions dept name AS
  • 营销人员的网络表单动态地形成字段条件可见性

    我们使用 WFFM 来创建登陆页面 我们的营销人员很容易使用它 现在 我们正在考虑定制它们 例如 我们有以下需求 在我们的表单上 我们显示居住国家 地区 但是当您选择某些国家 地区时 我们希望再显示一个名为的下拉菜单state provin
  • ADT eclipse xml 布局文本编辑器 - 在文件关闭并重新打开之前经常损坏[重复]

    这个问题在这里已经有答案了 可能的重复 移动和消失的代码行 Eclipse 的 XML 编辑器出现问题 https stackoverflow com questions 10030727 moving and vanishing line
  • 使用 big.matrix 对象计算欧几里德距离矩阵

    我有一个类对象big matrix in R有尺寸778844 x 2 这些值都是整数 公里 我的目标是使用以下公式计算欧几里德距离矩阵big matrix并因此得到一个类的对象big matrix 我想知道是否有最佳方法可以做到这一点 我
  • Scrum 燃尽模式 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我所在的团队由 10 人组成 负责处理大型遗留代码库 但产品负责人不太理想 我们的积压工作状况非常糟糕 大型史诗经常破坏我们的冲刺 该团队
  • 如何在 Android 上以编程方式设置进度条的样式

    我在 style xml 中有 ProgressBar 样式 当我创建布局时 放置 ProgressBar 并设置样式 例如 style style ProgressBarStyle 将布局设置为对话框 一切都很好 其他方式以编程方式创建对
  • 安装 PCRE 时出错

    我正在尝试在我的 Ubuntu 11 10 服务器上安装 PCRE 当我运行 make 命令时 我得到一个非常长的输出 它总是以这个错误结束 libtool link cd libs rm f libpcreposix la ln s li
  • Join 中的用例声明

    大家好 我想使用此查询在连接中使用 case 语句 但出现错误 Select CONVERT VARCHAR 10 SII SIDATE 103 DATE SII SALEID SII ItemName SI TenancyID FROM
  • 在 Mongoose 中使用 AND 组合两个 OR 查询

    我想在 Mongoose 中使用 AND 组合两个 OR 查询 就像这个 SQL 语句一样 SELECT FROM WHERE a 1 OR b 1 AND c 1 OR d 1 我在 NodeJS 模块中尝试了此操作 该模块仅从主应用程序
  • 在 SQL 中比较图像

    与数据库中的图像进行比较的最佳方法是什么 我尝试比较它们 Image 是 Image 类型 Select from Photos where Photo Image 但收到错误 数据类型图像和图像在等于运算符中不兼容 由于图像数据类型是二进
  • 在 Twitter Fabric 中使用自定义登录按钮?

    我一直在尝试使用普通按钮来使用 twitter sdk 执行身份验证过程 但它似乎不起作用 有人尝试过类似的事情吗 我已经正确设置了 API 密钥等 登录过程正确执行 但回调部分似乎没有被调用 我的日志都没有被执行 成功或失败部分都没有 T
  • 具有多个逗号分隔值的返回语句[重复]

    这个问题在这里已经有答案了 可能的重复 JavaScript 语法 逗号是什么意思 https stackoverflow com questions 3561043 javascript syntax what comma means 这
  • 使用jsPDF在服务器端保存pdf

    我有一个应用程序 可以生成一个 HTML 页面 其中包含用户可以编辑的数据 最后我用 jsPDF 生成了一个 pdf 文件 有什么方法可以将生成的 pdf 保存在服务器端数据库中吗 我正在使用 PrimeFaces 提前致谢 为其他用户更新
  • 如何强制 Typescript 中的所有变量都声明类型

    据我所知 当你在Typescript中声明变量时 你可以选择是否为变量指定类型 如果未指定类型 则使用默认的 any 类型 有没有办法强制所有变量都声明类型 即使它可能是 任何 例如 当未指定类型时 我希望出现编译器错误 这样一来 程序员将
  • 如何使 Django slugify 与 Unicode 字符串正常工作?

    我能做什么来预防slugify过滤器去除非 ASCII 字母数字字符 我使用的是 Django 1 0 2 编程网 http cnprog com有问题的网址中有中文字符 所以我查看了他们的代码 他们没有使用slugify在模板中 相反 他
  • Ace 代码编辑器动态设置语言 [关闭]

    Closed 这个问题是无法重现或由拼写错误引起 help closed questions 目前不接受答案 我正在尝试通过下拉菜单来选择语言来实现 Ace 代码编辑器 我的下拉菜单有一个模式 ID 我已经让编辑器正常工作 但我无法像我希望
  • JNI 和 Java:ant 调用 make 还是 make 调用 ant?

    我即将第一次进入 JNI Java 本机接口 的世界 以提供从平台特定的 C C 代码到 Java 的文件系统更改通知 除非有人推荐一些我错过的出色的图书馆来做这件事 作为 JNI 的新手 我已经设法找到了很多关于 JNI 接口方面和库生成
  • 避免从存储过程返回结果集

    假设我有一些返回结果集的存储过程 并且我无法更改它 create procedure test procedure as begin select 1 end 我知道我可以将结果集插入表中 因此它将对调用代码隐藏 declare t tab
  • Worklight 在线 + 离线身份验证

    我正在尝试通过 Worklight 实现以下目标 我的应用程序有两组功能 仅当应用程序连接到服务器并且用户经过身份验证时才能访问一组功能 另一组功能可以离线访问 但它们需要来自加密 JSONStore 的数据 我在客户端设备上有一个 JSO
  • 距离矩阵的并行构造

    我对大量多维向量进行层次凝聚聚类 我注意到最大的瓶颈是距离矩阵的构造 此任务的简单实现如下 此处使用 Python v an array N d where rows are the observations and columns the