1

我有一个代码可以计算联合分布的熵,并且正在使用 histogram2d 计算 **pairwise ** 大小为 20000 x 300(以及如此大的数据集)的矩阵的所有列的联合熵,即 n * n-1/2 计算

大部分时间都花在计算关节数上。一个简单的 cProfiling 揭示了以下代价高昂的功能:

   histogram2d ->  histogramdd -> atleast_2d -> asarray -> numpy.core.multiarray.array
       87%            85%     |       40%          38%             39%
                              |-->  digitize
                                      10 %

我认为 np.digitize 是做大部分工作的人。但似乎大部分时间都被 asarray 等其他函数占用了!有人可以指出如何以更简单的方式更快地进行这些计算!(即,显然不是让我用 C/C++ 编写直方图函数?)

提前致谢。这个问题与我之前发布的 MI 的计算有关: Optimal way to calculate pairwisemutual information using numpy

4

0 回答 0