我有一个代码,用于计算关节分布的熵,并使用histogram2d来计算大小为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 compute pairwise mutual information using numpy