python计算信息熵
时间: 2023-07-01 15:28:15 浏览: 164
计算概率分布的微分熵和信息熵的JVHW算法实现_python
计算信息熵需要使用到数学库math和统计库collections。假设有一个数据集,其中包含3个类别,分别为A、B、C,它们的出现次数分别为3、4、2。则可以通过以下代码计算信息熵:
```python
import math
from collections import Counter
data = ['A', 'A', 'A', 'B', 'B', 'B', 'B', 'C', 'C']
count = Counter(data)
total = len(data)
entropy = 0
for c in count.values():
p = c / total
entropy -= p * math.log2(p)
print('信息熵为:', entropy)
```
输出结果为:
```
信息熵为: 1.5304930567574824
```
其中,Counter用于统计每个类别出现的次数,len(data)用于计算数据集中总样本数。接着通过循环计算每个类别的概率p,然后使用信息熵公式计算信息熵。最终输出结果即为信息熵的值。
阅读全文