我有一个python代码,如下:
...
bestProb=-1;
bestIndex=-1;
prob=np.zeros(numClasses) #numClasses=2
for i in range(0,numClasses):
prob[i]=findProb(x,weights,b,i)
for i in range(0,numClasses):
if prob[i]>bestProb:
bestProb=prob
bestIndex=i
...
类的数目为2。运行此代码时,出现错误:
File "regression.py", line 19, in predict
if prob[i]>bestProb:
ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
我知道如果将整个数组与一个数字进行比较会发生此错误,但是我写prob[i]
时不是仅使用一个数字吗?如果我错了,请告诉我该如何解决。谢谢!
此外,请注意,findProb()给出一个数字,而不是一个序列。所以那也不是问题。
编辑:问题出在bestProb=prob
中。应该是bestProb=prob[i]
。对不起,麻烦。谢谢!
答案 0 :(得分:0)
您需要调试<lib-autocomplete formControlName="state"></lib-autocomplete>
变量。尝试在Prob[i]
语句之前添加print(Prob[i])
,以观察if
的内容。有时,它只是一个元素的数组,您只需要使其Prob[i]
即可。如果那不起作用,那么您需要检查您的逻辑。