এন্ট্রপি গণনা করার জন্য আমি নিম্নলিখিত ফাংশনটি প্রয়োগ করেছি:
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
ফলাফল:
>>> 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
আমার বোধগম্যতা ছিল যে এনট্রপি 0 এবং 1, 0 এর মধ্যে, যার অর্থ খুব নির্দিষ্ট এবং 1 অর্থ অত্যন্ত অনিশ্চিত। কেন আমি 1 এর চেয়ে বেশি এনট্রপি পরিমাপ করব?
আমি জানি যে আমি লগ বেসের আকার বাড়িয়ে দিলে এনট্রপি পরিমাপটি আরও ছোট হবে তবে আমি মনে করি বেস 2 মানক, সুতরাং আমি মনে করি না যে সমস্যাটি।
আমি অবশ্যই স্পষ্ট কিছু মিস করছি, তবে কী?