python里怎么计算一个数组的熵?
1个回答
用stats.entropy来算
from scipy import stats
import pandas as pd
def Entropy(labels, base=2):
# 计算概率分布
probs = pd.Series(labels).value_counts() / len(labels)
# 计算底数为base的熵
en = stats.entropy(probs, base=base)
return en
运行结果
>>> Entropy([1, 1, 0, 1, 1])
0.72192809488736231