假设你有数百个numpy数组,你想要计算它们之间的相关性。我是在嵌套的for循环的帮助下计算的。但是,执行花费了大量的时间(20分钟!)。提高计算效率的一种方法是计算相关表对角线的一半,将其复制到另一半,并使对角线等于1。我的意思是,关联(x,y)=关联(y,x)和关联(x,x)始终等于1。但是,使用这些更正,代码也将花费大量时间(大约7-8分钟)。还有其他建议吗?
My code
for x in data_set:
for y in data_set:
correlation = np.corrcoef(x,y)[1][0]发布于 2016-11-28 21:01:43
我确信你可以通过创建一个2-D数组并计算它的相关矩阵(而不是一个接一个地计算成对的相关)来实现更快的结果。
在https://docs.scipy.org/doc/numpy/reference/generated/numpy.corrcoef.html的corrcoef文档中,输入可以是:“包含多个变量和观察值的一维或二维数组。m的每一行代表一个变量,每列代表所有这些变量的一个观察值。”numpy
https://stackoverflow.com/questions/40844813
复制相似问题