Advertisement
Guest User

Untitled

a guest
Sep 14th, 2012
3,257
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. import numpy as np
  2.  
  3.  
  4. def kl(p, q):
  5. """Kullback-Leibler divergence D(P || Q) for discrete distributions
  6.  
  7. Parameters
  8. ----------
  9. p, q : array-like, dtype=float, shape=n
  10. Discrete probability distributions.
  11. """
  12. p = np.asarray(p, dtype=np.float)
  13. q = np.asarray(q, dtype=np.float)
  14.  
  15. return np.sum(np.where(p != 0, p * np.log(p / q), 0))
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement