Entropiyi hesaplamak için aşağıdaki işlevi uyguladım:
from math import log
def calc_entropy(probs):
my_sum = 0
for p in probs:
if p > 0:
my_sum += p * log(p, 2)
return - my_sum
Sonuç:
>>> calc_entropy([1/7.0, 1/7.0, 5/7.0])
1.1488348542809168
>>> from scipy.stats import entropy # using a built-in package
# give the same answer
>>> entropy([1/7.0, 1/7.0, 5/7.0], base=2)
1.1488348542809166
Anladığım kadarıyla entropi 0 ile 1 arasında, 0 çok kesin ve 1 çok belirsiz. Neden 1'den büyük entropi ölçümü alıyorum?
Günlük tabanının boyutunu artırırsam entropi ölçüsü daha küçük olur, ancak taban 2'nin standart olduğunu düşündüm, bu yüzden sorun olduğunu düşünmüyorum.
Açık bir şeyi özlemeliyim, ama ne?