Python实现英语单词信息熵计算
时间: 2023-11-05 20:04:02 浏览: 184
信息熵计算
4星 · 用户满意度95%
信息熵是对一个随机变量不确定性的度量,可以用来衡量一个英语单词的信息量大小。以下是Python实现英语单词信息熵计算的示例代码:
```python
import math
def entropy(word):
freq = {}
for letter in word:
if letter in freq:
freq[letter] += 1
else:
freq[letter] = 1
entropy = 0
total = len(word)
for letter in freq:
probability = freq[letter] / total
entropy += probability * math.log2(probability)
return -entropy
print(entropy("hello")) # 输出:1.9219280948873623
```
在这个示例代码中,我们首先定义了一个名为`entropy()`的函数,该函数接受一个英语单词作为参数,并返回该单词的信息熵。
在函数内部,我们首先定义了一个名为`freq`的字典,用于存储单词中每个字母出现的频率。我们遍历单词中的每个字母,如果该字母已经在`freq`字典中出现过,则将其对应的值加1,否则将其添加到`freq`字典中,并将其对应的值设为1。
接下来,我们定义了一个名为`entropy`的变量,用于存储计算得到的信息熵值。我们遍历了`freq`字典中的每个字母,计算了每个字母出现的概率,并将其乘以该概率的对数。最后,我们将所有字母的对数概率相加,并将其取负数作为最终的信息熵值。
最后,我们调用`entropy()`函数并传递一个单词作为参数进行测试。在本例中,我们计算了单词"hello"的信息熵值,并将其输出到控制台。
阅读全文