numpy corrcoef导致计算机挂起

时间:2017-07-07 15:59:12

标签: python python-3.x numpy windows-10 anaconda

当试图计算numpy corrcoef时

cc = np.corrcoef(y, y2)

yy2的形状为

<class 'tuple'>: (32383, 1)

我的电脑挂了。不仅是翻译而且是整台计算机。

这怎么可能以及如何解决?

2 个答案:

答案 0 :(得分:0)

根据documentation,默认情况下“每行代表一个变量,在列中有观察结果”。具有形状(32383, 1)意味着32383个变量,每个变量具有1个观察值,这对于相关目的而言完全没有意义。所以,抛开计算机行为,继续前进的方式是

cc = np.corrcoef(y, y2, rowvar=False)

表示您的对应于变量。

答案 1 :(得分:0)

计算两个形状this.postToPaymentApi(url, data, options, order).then(data => { console.log(data); }) 数组之间的相关系数将产生(32383, 1)数组。这样的数组的大小为(32383, 32383)。考虑到您在计算结果时可能会有一些开销,您可能需要大约几十Gb来计算它。

可能发生的事情不是您的计算机挂起,而是计算溢出RAM并开始执行paging,即使用硬盘驱动器存储部分结果。这非常慢,因此您的计算机似乎已经挂起。如果有足够的时间,它应该给出结果。

如果您想要计算行式互相关(形状为(32383 * 32383 * 8) / (1024 ** 3) = 7.8 Gb),您可以这样做:

(1, 1)