Module: Ai4r::Data::Parameterizable
- Included in:
- Classifiers::Classifier, Clusterers::Clusterer, Hmm::HiddenMarkovModel, NeuralNetwork::Backpropagation, NeuralNetwork::Hopfield, NeuralNetwork::Transformer, Reinforcement::PolicyIteration, Reinforcement::QLearning, Search::MCTS, Som::Layer, Som::Node, Som::Som
- Defined in:
- lib/ai4r/data/parameterizable.rb
Overview
Mix-in to declare configurable parameters for algorithms.
Defined Under Namespace
Modules: ClassMethods
Class Method Summary collapse
Instance Method Summary collapse
-
#get_parameters ⇒ Object
Get parameter values on this algorithm instance.
-
#set_parameters(params) ⇒ Object
Set parameter values on this algorithm instance.
Class Method Details
.included(base) ⇒ Object
65 66 67 |
# File 'lib/ai4r/data/parameterizable.rb', line 65 def self.included(base) base.extend(ClassMethods) end |
Instance Method Details
#get_parameters ⇒ Object
Get parameter values on this algorithm instance. Returns a hash with the following format: { :param_name => parameter_value }
55 56 57 58 59 60 61 |
# File 'lib/ai4r/data/parameterizable.rb', line 55 def get_parameters params = {} self.class.get_parameters_info.each_key do |key| params[key] = send(key) if respond_to?(key) end params end |
#set_parameters(params) ⇒ Object
Set parameter values on this algorithm instance. You must provide a hash with the following format: { :param_name => parameter_value }
44 45 46 47 48 49 |
# File 'lib/ai4r/data/parameterizable.rb', line 44 def set_parameters(params) params.each do |key, val| public_send("#{key}=", val) if respond_to?("#{key}=") end self end |