""" 求样本集合x的信息熵 :param attribute: 结果 -> array :return: 结果的信息熵 -> float """
时间: 2023-06-20 15:06:22 浏览: 105
Python计算信息熵实例
5星 · 资源好评率100%
这是一个计算给定样本集合的信息熵的函数,其中参数 attribute 是一个数组,表示样本的结果集合。以下是可能的实现:
```
import math
def information_entropy(attribute):
# 统计结果的频率
freq = {}
for item in attribute:
if item in freq:
freq[item] += 1
else:
freq[item] = 1
# 计算信息熵
entropy = 0
for count in freq.values():
prob = count / len(attribute)
entropy -= prob * math.log2(prob)
return entropy
```
这个函数首先统计了结果的频率,然后计算了信息熵。信息熵的计算公式是 $H(X) = -\sum_{i=1}^{n} p_i \log_2(p_i)$,其中 $n$ 是结果的种类数,$p_i$ 是第 $i$ 种结果出现的概率。最后,函数返回计算得到的信息熵。
阅读全文