我使用python突发检测包链接(https://github.com/nmarinsek/burst_detection/blob/master/README.rst)来尝试结果。但是程序总是有一些错误:ValueError:用序列设置数组元素。 有趣的是,当我删除r数组中大于94的值时,一切正常。第34个元素在[842>;处停止,因为[842 gt]。在
错误的详细信息如下:
C:\Python27\lib\site-packages\burst_detection\__init__.py:29: RuntimeWarning: invalid value encountered in double_scalars
return -np.log(np.float(c.binomial(d,r)) * (p**r) * (1-p)**(d-r))
Traceback (most recent call last):
File "burstConstructDataPrepare.py", line 33, in <module>
q, d, r, p = bd.burst_detection(r,d,n,s=2,gamma=1,smooth_win=1)
File "C:\Python27\lib\site-packages\burst_detection\__init__.py", line 82, in burst_detection
q[t] = np.where(cost[t,:] == min(cost[t,:]))
ValueError: setting an array element with a sequence.
源代码:
^{pr2}$然后我试着只在研发中加入10到20个元素,这很管用。当它有524个元素时,它显示这种错误。 有人知道为什么吗? 谢谢!在
看起来是
burst_detection
包中的一个bug。我不知道那条线应该做什么,但是将尝试将左边的
^{pr2}$q[t]
设置为右侧,它是一个单一的数组元素。当只有一个成本等于最小成本时,这种方法很有效,但是当两个州共享相同的最小成本时,右侧的长度为2。要让它只选择其中一个最优状态,您需要将该行更改为您可以通过转到安装包的位置并手动编辑该行来完成此操作。如果您认为包维护人员可以解决这个问题,那么您也可以在GitHub上的跟踪器上打开一个问题。在
相关问题 更多 >
编程相关推荐