【发布时间】:2016-03-23 09:19:47
【问题描述】:
给定 Python 中的两个矩阵 A 和 B,我想找出两个矩阵中的行之间的相关性。矩阵的长度为 5*7。
我想找出A 和B 中每一行之间的相关性并将相关性平均:
A = data_All_Features_rating1000_topk_nr ;
B = data_All_Features_rating1000_leastk_nr ;
corr_1 = corrcoeff(A[0,:],B[0,:]])
corr_2 = corrcoeff(A[0,:],B[1,:]])
corr_3 = corrcoeff(A[0,:],B[2,:]])
corr_4 = corrcoeff(A[0,:],B[3,:]])
corr_5 = corrcoeff(A[0,:],B[4,:]])
corr_6 = corrcoeff(A[1,:],B[1,:]])
corr_7 = corrcoeff(A[1,:],B[2,:]])
corr_8 = corrcoeff(A[1,:],B[3,:]])
corr_9 = corrcoeff(A[1,:],B[4,:]])
corr_10 = corrcoeff(A[2,:],B[2,:]])
corr_11 = corrcoeff(A[2,:],B[3,:]])
corr_12 = corrcoeff(A[2,:],B[4,:]])
corr_13 = corrcoeff(A[3,:],B[3,:]])
corr_14 = corrcoeff(A[3,:],B[4,:]])
corr_14 = corrcoeff(A[4,:],B[4,:]])
corravg = avg(corr_1,corr_2,...,corr_14).
这就是我的工作:
topk = 5
corr_res = []
p = 0 ;
for i in range(0,topk):
for j in range(i,topk):
a = data_All_Features_rating1000_topk_nr[i,:]
b = data_All_Features_rating1000_leastk_nr[j,:]
tmp = np.corrcoef(a,b)
print tmp[0,1]
corr_res = corr_res.extend(tmp[0,1])
我收到此错误:
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-159-ab1d737eed71> in <module>()
22 tmp = np.corrcoef(a,b)
23 print tmp[0,1]
---> 24 corr_res = corr_res.extend(tmp[0,1])
25 # print p+1
26 # print corr_res
TypeError: 'numpy.float64' object is not iterable
【问题讨论】:
-
其中一个维度是测试不同的相关指标,如果python支持的话。
标签: python correlation