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