如果在计算信息熵时出现了-inf,那可能是因为某个概率值为0,导致在计算的时候出现了除以0的情况。这是因为熵的计算公式中包含了对每个概率值取对数,当概率值为0时,对数的值为负无穷大。
解决这个问题的方法是在计算过程中加一个很小的数,这样就可以避免出现0概率的情况。
例如 :
import numpy asnp
def entropy(labels):
n_labels = len(labels)
if n_labels <= 1:
return 0
counts = np.bincount(labels)
probs = coun