示例#1
0
 def test_efficiency(self):
     "efficiency method should return the proper values"
     self.assertEqual(self.sources["iid5"].efficiency(), 1)
     self.assertEqual(self.sources["ird4"].efficiency(), 1.75/log2(4))
     self.assertEqual(self.sources["ird5"].efficiency(), 2/log2(5))
     self.assertAlmostEqual(self.sources["ird5_2"].efficiency(),
                            1.9609640474436814/log2(5))
示例#2
0
 def test_entropy(self):
     "entropy method should return the proper values"
     self.assertEqual(self.sources["iid5"].entropy(), log2(5))
     self.assertEqual(self.sources["ird4"].entropy(), 1.75)
     self.assertEqual(self.sources["ird5"].entropy(), 2)
     self.assertAlmostEqual(self.sources["ird5_2"].entropy(),
                            1.9609640474436814)
示例#3
0
 def testEntropy(self):
     "entropy method should return the proper values"
     self.assertEqual(self.sources["iid5"].entropy(), log2(5))
     self.assertEqual(self.sources["ird4"].entropy(), 1.75)
     self.assertEqual(self.sources["ird5"].entropy(), 2)
示例#4
0
文件: source.py 项目: ssyossi3/coding
 def information(self):
     return [(sym, log2(1/p)) for sym, p in zip(self.symbols, self.distribution)]
示例#5
0
文件: source.py 项目: ssyossi3/coding
 def entropy(self):
     return sum([p*log2(1/p) for p in self.distribution])
示例#6
0
文件: source.py 项目: horvatha/coding
 def max_entropy(self):
     return log2(self.n)
示例#7
0
文件: source.py 项目: horvatha/coding
 def information(self, ndigits=3):
     return [(sym, round(log2(1/p), ndigits))
             for sym, p in zip(self.symbols, self.distribution)]