def reg_interval_size(self, prediction, y, significance):
idx = int(significance * 100 - 1)
prediction = prediction[:, :, idx]
prediction_size = prediction[:, 1] - prediction[:, 0]
return prediction_size
其中预测为:
[[-0.08654671 0.7144939 ]
[-0.61418434 0.18685626]
[ 0.16648421 0.96752482]
...
[ 0.01177342 0.81281403]
[ 0.44408509 1.2451257 ]
[ 0.37012494 1.17116555]]
在下列情况下,我会得到一个索引错误:
reg_interval_size(self, prediction, y, significance= 0.05):
IndexError: too many indices for array
不确定如何纠正这个问题我尝试改变我的函数中的索引,但是仍然没有成功,所以有什么特别的想法吗?
prediction = prediction[:, :, idx[0]]
TypeError: 'int' object is not subscriptable
idx
是一个int
,因此idx[0]
没有意义。
prediction
是一个2D数组,因此您不能使用以下3个索引访问它:
prediction = prediction[:, :, idx]
我不知道您想做什么,但请尝试以下prediction=prediction[:,idx]