给定两个向量X和Y,我必须找到它们的相关性,即它们的线性相关性/独立性两个向量的维数相等结果应该是一个从[-1.01。
例子:

X=[-1, 2,    0]
Y=[ 4, 2, -0.3]

求y=cor(x,y),使y属于[-1.0..1。
它应该是一个包含列表理解的简单构造。不允许使用外部库。
更新:好的,如果点积足够,那么这里是我的解决方案:
nX = 1/(sum([x*x for x in X]) ** 0.5)
nY = 1/(sum([y*y for y in Y]) ** 0.5)
cor = sum([(x*nX)*(y*nY)  for x,y in zip(X,Y) ])

正确的?

最佳答案

对我来说听起来像是一个dot product
解出两个向量夹角的余弦方程,它总是在-1,1的范围内,你就得到了你想要的。
等于点积除以两个向量的大小。

08-24 13:05