- "A probability distribution estimated from counts in datafile."
- def __init__(self, data=[], N=None, missingfn=None):
- for key,count in data:
- self[key] = self.get(key, 0) + int(count)
- self.N = float(N or sum(self.itervalues()))
- self.missingfn = missingfn or (lambda k, N: 1./N)
+ """A probability distribution estimated from counts in datafile.
+ Values are stored and returned as log probabilities.
+ """
+ def __init__(self, data=[], estimate_of_missing=None):
+ self.total = sum([int(d[1]) for d in data])
+ for key, count in data:
+ self[key] = log10(int(count) / self.total)
+ self.estimate_of_missing = estimate_of_missing or (lambda k, N: 1./N)