Skip to content
Permalink
d54f9b9bdc
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
21 lines (17 sloc) 494 Bytes
#!/usr/bin/env python
"""Computes entropy of a sequence of messages
"""
from __future__ import division
from collections import Counter
from math import log
def entropy(sequence):
res = 0
n = len(sequence)
counts = Counter(sequence).values()
for count in counts:
res -= (count / n) * (log(count, 2) - log(n, 2))
return res
if __name__=="__main__":
print entropy([1, 2, 1, 1, 1, 1])
print entropy([1, 1, 1, 1, 1, 1])
print entropy([1, 1, 1, 2, 2, 2])