Class: Lurn::NaiveBayes::Base
- Inherits:
-
Object
- Object
- Lurn::NaiveBayes::Base
show all
- Defined in:
- lib/lurn/naive_bayes/base.rb
Instance Method Summary
collapse
Instance Method Details
#max_class(vector) ⇒ Object
10
11
12
13
14
15
16
|
# 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) ⇒ Object
18
19
20
21
22
|
# File 'lib/lurn/naive_bayes/base.rb', line 18
def max_probability(vector)
probs = predict_probabilities(vector)
probs.max
end
|
#predict_log_probabilities(vector) ⇒ Object
24
25
26
27
28
29
|
# 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) ⇒ Object
4
5
6
7
8
|
# 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
|