Class: ConditionalProbabilityMatrix
- Inherits:
-
Object
- Object
- ConditionalProbabilityMatrix
- Defined in:
- lib/fathom/archive/conditional_probability_matrix.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#child ⇒ Object
readonly
Returns the value of attribute child.
-
#matrix ⇒ Object
readonly
Returns the value of attribute matrix.
-
#parent ⇒ Object
readonly
Returns the value of attribute parent.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(parent, child) ⇒ ConditionalProbabilityMatrix
constructor
A new instance of ConditionalProbabilityMatrix.
- #inspect ⇒ Object
- #probability(opts = {}) ⇒ Object (also: #p)
Constructor Details
#initialize(parent, child) ⇒ ConditionalProbabilityMatrix
Returns a new instance of ConditionalProbabilityMatrix.
87 88 89 90 91 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 87 def initialize(parent, child) @parent, @child = parent, child @matrix = @parent.probabilities.col * @child.probabilities assert_name_access end |
Instance Attribute Details
#child ⇒ Object (readonly)
Returns the value of attribute child.
85 86 87 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 85 def child @child end |
#matrix ⇒ Object (readonly)
Returns the value of attribute matrix.
85 86 87 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 85 def matrix @matrix end |
#parent ⇒ Object (readonly)
Returns the value of attribute parent.
85 86 87 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 85 def parent @parent end |
Class Method Details
.define_node_accessor(node, cpm) ⇒ Object
78 79 80 81 82 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 78 def define_node_accessor(node, cpm) define_method(node.name.to_sym) do NodeAccessor.new(cpm) end end |
Instance Method Details
#inspect ⇒ Object
103 104 105 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 103 def inspect "ConditionalProbabilityMatrix: #{matrix.to_a.inspect}" end |
#probability(opts = {}) ⇒ Object Also known as: p
93 94 95 96 97 98 99 100 |
# File 'lib/fathom/archive/conditional_probability_matrix.rb', line 93 def probability(opts={}) child_label = opts[:child] parent_label = opts[:parent] raise ArgumentError, "Must provide a child and parent label. E.g., probability(:child => true, :parent => false)" unless child_label and parent_label child_label_index = get_index(child, child_label) parent_label_index = get_index(parent, parent_label) self.matrix[parent_label_index, child_label_index] end |