【问题标题】:Is there more efficient way to compute a distance matrix?有没有更有效的方法来计算距离矩阵?
【发布时间】:2019-12-11 18:19:29
【问题描述】:

我有一百个 288 数组,我需要为所有数组计算一个距离矩阵,它与下面的代码一起工作。 10 秒。有没有更有效的方法来做到这一点,因为它需要用 50000 个数组来完成,而且需要太多时间。

dist=np.zeros((100,100))
pf = np.array(purpose_fin)
  for i in range(100):
   for j in range(100):
    dist[i][j] = 288-sum(np.equal(pf[i],pf[j]))

【问题讨论】:

标签: python matrix


【解决方案1】:

使用 Scipy 库

from scipy.spatial import distance_matrix
distance_matrix([[0,0],[0,1]], [[1,0],[1,1]])

scipy.spatial.distance_matrix

汉明距离

from scipy.spatial import distance
distance.hamming([1, 0, 0], [0, 1, 0])

Hamming Distance

【讨论】:

  • 注意:OP 说的是“距离”,但是从使用计数策略而不是 np.equal 来看,可能特别想要汉明距离。
猜你喜欢
  • 1970-01-01
  • 2021-08-30
  • 2018-11-30
  • 2018-06-19
  • 1970-01-01
  • 2020-11-16
  • 2023-03-18
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多