class Lurn::NaiveBayes::Base
Public Instance Methods
max_class(vector)
click to toggle source
# File lib/lurn/naive_bayes/base.rb, line 10 def max_class(vector) log_probs = predict_log_probabilities(vector) max_index = log_probs.index(log_probs.max) unique_labels[max_index] end
max_probability(vector)
click to toggle source
# File lib/lurn/naive_bayes/base.rb, line 18 def max_probability(vector) probs = predict_probabilities(vector) probs.max end
predict_log_probabilities(vector)
click to toggle source
# File lib/lurn/naive_bayes/base.rb, line 24 def predict_log_probabilities(vector) vector = Vector.elements(vector) jll = joint_log_likelihood(vector) log_prob_x = Math.log(jll.map { |v| Math.exp(v) }.inject(:+)) jll.map{ |v| v - log_prob_x } end
predict_probabilities(vector)
click to toggle source
# File lib/lurn/naive_bayes/base.rb, line 4 def predict_probabilities(vector) log_probabilties = predict_log_probabilities(vector) log_probabilties.map { |p| Math.exp(p) } end