python计算信息熵代码
时间: 2023-09-05 07:11:49 浏览: 165
Python计算信息熵实例
5星 · 资源好评率100%
下面是一个计算信息熵的Python代码示例:
```python
from math import log2
def calculate_entropy(data):
entropy = 0
total_count = len(data)
# 计算每个类别的出现次数
class_counts = {}
for item in data:
label = item[-1] # 假设标签信息在数据的最后一列
if label not in class_counts:
class_counts[label] = 0
class_counts[label] += 1
# 计算信息熵
for label in class_counts:
probability = class_counts[label] / total_count
entropy -= probability * log2(probability)
return entropy
# 示例数据
data = [
[1, 'A'],
[2, 'A'],
[3, 'B'],
[4, 'B'],
[5, 'B'],
]
entropy = calculate_entropy(data)
print(f"信息熵: {entropy}")
```
在这个示例中,`calculate_entropy` 函数接受一个数据集 `data`,其中每个样本包含特征和标签信息。函数首先计算每个类别的出现次数,然后根据出现次数计算每个类别的概率。最后,使用信息熵公式计算整个数据集的信息熵。最后输出信息熵的值。
请注意,示例中的数据是一个简单的二分类问题,其中特征用数字表示,标签用字母表示。你可以根据你的实际需求调整代码以适应不同的数据集和特征表示方式。
阅读全文