module Baobab::Shannon
Public Class Methods
entropy(*probabilities)
click to toggle source
# File lib/baobab/shannon.rb, line 5 def self.entropy *probabilities probabilities.reduce(0) do |memo, p| if p.zero? then 0 else memo + self.entropy_term(p) end end end
entropy_term(probability)
click to toggle source
# File lib/baobab/shannon.rb, line 11 def self.entropy_term probability - probability * Math::log2(probability) end