首页
学习
活动
专区
圈层
工具
发布

相关表
EN

Stack Overflow用户
提问于 2016-11-28 20:50:35
回答 1查看 562关注 0票数 1

假设你有数百个numpy数组,你想要计算它们之间的相关性。我是在嵌套的for循环的帮助下计算的。但是,执行花费了大量的时间(20分钟!)。提高计算效率的一种方法是计算相关表对角线的一半,将其复制到另一半,并使对角线等于1。我的意思是,关联(x,y)=关联(y,x)和关联(x,x)始终等于1。但是,使用这些更正,代码也将花费大量时间(大约7-8分钟)。还有其他建议吗?

代码语言:javascript
复制
My code
for x in data_set:
    for y in data_set:
        correlation = np.corrcoef(x,y)[1][0]
EN

回答 1

Stack Overflow用户

发布于 2016-11-28 21:01:43

我确信你可以通过创建一个2-D数组并计算它的相关矩阵(而不是一个接一个地计算成对的相关)来实现更快的结果。

https://docs.scipy.org/doc/numpy/reference/generated/numpy.corrcoef.html的corrcoef文档中,输入可以是:“包含多个变量和观察值的一维或二维数组。m的每一行代表一个变量,每列代表所有这些变量的一个观察值。”numpy

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40844813

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档