此功能正在运行,但我在项目中进行了一些修改,然后出现了数学域错误,并且未对其进行任何更改
def entropy(self,num,total):
num2=total-num
if num/total == 0 :
return 0
elif num2/total == 0:
return 0
else:
entropoy_value=(-num/total*math.log(num/total,2)+(-num2/total*math.log(num2/total,2)))
return entropoy_value
答案 0 :(得分:0)
检查在num
或total
中是否有负值,这将导致域错误:如果x <= 0,则math.log(x)
。
答案 1 :(得分:0)
因为您要记录一个负数的日志(即num2为负数)