[英]How to calculate pairwise cosine distance of matrix using broadcasting in python
我有一个这样的矩阵,其中每一行都是一个向量,需要在不使用循环的情况下计算向量之间的成对余弦距离(在本例中,作为 2x2 矩阵)? 我知道笛卡尔距离可以填充一个维度,但不知道这里的最佳方法。
m = np.array([[1, 3, 5],[2,6,10]])
这种类型的问题会让你斥责“堆栈不适合做作业”,但我想你可以这样做......
from numpy import linalg as LA
import numpy as np
m = np.array([[1, 3, 5],[2,6,10]])
cos = float(sum(m[0]*m[1]))/float(LA.norm(m[0])*LA.norm(m[1]))
当然,如果你想避免使用linlag
float(sum(m[0]*m[1]))/(float(sum(m[0]*m[0]))**0.5*float(sum(m[1]*m[1]))**0.5)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.