Class: SVMKit::NaiveBayes::BaseNaiveBayes
- Inherits:
-
Object
- Object
- SVMKit::NaiveBayes::BaseNaiveBayes
- Includes:
- Base::BaseEstimator, Base::Classifier
- Defined in:
- lib/svmkit/naive_bayes/naive_bayes.rb
Overview
BaseNaiveBayes is a class that has methods for common processes of naive bayes classifier.
Direct Known Subclasses
Instance Attribute Summary
Attributes included from Base::BaseEstimator
Instance Method Summary collapse
-
#predict(x) ⇒ Numo::Int32
Predict class labels for samples.
-
#predict_log_proba(x) ⇒ Numo::DFloat
Predict log-probability for samples.
-
#predict_proba(x) ⇒ Numo::DFloat
Predict probability for samples.
Methods included from Base::Classifier
Instance Method Details
#predict(x) ⇒ Numo::Int32
Predict class labels for samples.
18 19 20 21 22 |
# File 'lib/svmkit/naive_bayes/naive_bayes.rb', line 18 def predict(x) n_samples = x.shape.first decision_values = decision_function(x) Numo::Int32.asarray(Array.new(n_samples) { |n| @classes[decision_values[n, true].max_index] }) end |
#predict_log_proba(x) ⇒ Numo::DFloat
Predict log-probability for samples.
28 29 30 31 32 |
# File 'lib/svmkit/naive_bayes/naive_bayes.rb', line 28 def predict_log_proba(x) n_samples, = x.shape log_likelihoods = decision_function(x) log_likelihoods - Numo::NMath.log(Numo::NMath.exp(log_likelihoods).sum(1)).reshape(n_samples, 1) end |
#predict_proba(x) ⇒ Numo::DFloat
Predict probability for samples.
38 39 40 |
# File 'lib/svmkit/naive_bayes/naive_bayes.rb', line 38 def predict_proba(x) Numo::NMath.exp(predict_log_proba(x)).abs end |