Statistics 输入为无张量的皮尔逊相关是否可以计算?

Statistics 输入为无张量的皮尔逊相关是否可以计算?,statistics,theano,Statistics,Theano,scipy.stats包提供了一个使用numpy数组计算皮尔逊系数的函数。但是有没有一个库,我们可以用它来传递阿诺张量作为输入,并计算相关性。Eval()函数是将张量转换为值的选项,但这在代码运行时是不可能的。中心余弦相似性与Pearson相关性相同。 在theano中,可按如下方式计算: a = T.vector(dtype=theano.config.floatX) b = T.vector(dtype=theano.config.floatX) a_centered, b_centere

scipy.stats包提供了一个使用numpy数组计算皮尔逊系数的函数。但是有没有一个库,我们可以用它来传递阿诺张量作为输入,并计算相关性。Eval()函数是将张量转换为值的选项,但这在代码运行时是不可能的。

中心余弦相似性与Pearson相关性相同。
在theano中,可按如下方式计算:

a = T.vector(dtype=theano.config.floatX)
b = T.vector(dtype=theano.config.floatX)

a_centered, b_centered = a - a.mean(), b - b.mean()
r_num = T.dot(a_centered, b_centered)
r_den = T.sqrt(T.dot(a_centered, a_centered) * T.dot(b_centered, b_centered))

# written without the dot products for pedagogical reasons
# r_num = T.sum(a_centered * b_centered)
# r_den = T.sqrt(T.sum(a_centered ** 2) * T.sum(b_centered ** 2))

pearson_corr = r_num / r_den
pearson_corr_fn = theano.function([a, b], pearson_corr)

v1 = np.asarray([3, 4, 5, 7], dtype=np.float32)
v2 = np.asarray([2, 5, 3, 1], dtype=np.float32)

print pearson_corr_fn(v1, v2)

不客气。如果答案是你想要的,请接受;否则,请告诉我们您需要什么。