Вычисление энтропии Шеннона в Python: методы и примеры

«Энтропия Шеннона Python» относится к вычислению энтропии Шеннона с использованием языка программирования Python. Энтропия Шеннона — это мера количества информации или случайности в наборе данных. Вот несколько методов расчета энтропии Шеннона в Python, а также примеры кода:

Метод 1. Использование математической библиотеки

import math
def shannon_entropy(data):
    entropy = 0
    total = len(data)
    for item in set(data):
        probability = data.count(item) / total
        entropy -= probability * math.log2(probability)
    return entropy
# Example usage
data = [1, 0, 1, 1, 0, 1, 0, 0]
entropy = shannon_entropy(data)
print("Shannon entropy:", entropy)

Метод 2: использование класса Collections.Counter

from collections import Counter
def shannon_entropy(data):
    entropy = 0
    total = len(data)
    counts = Counter(data)
    for count in counts.values():
        probability = count / total
        entropy -= probability * math.log2(probability)
    return entropy
# Example usage
data = [1, 0, 1, 1, 0, 1, 0, 0]
entropy = shannon_entropy(data)
print("Shannon entropy:", entropy)

Метод 3. Использование библиотеки scipy

from scipy.stats import entropy
def shannon_entropy(data):
    p_data = data.value_counts() / len(data)
    entropy_val = entropy(p_data, base=2)
    return entropy_val
# Example usage
data = [1, 0, 1, 1, 0, 1, 0, 0]
entropy = shannon_entropy(data)
print("Shannon entropy:", entropy)

Эти методы предоставляют разные подходы к вычислению энтропии Шеннона с использованием Python. Вы можете выбрать метод, который соответствует вашим потребностям и предпочтениям.