Class: Predicate

Inherits:
Object
  • Object
show all
Defined in:
lib/predicate.rb

Instance Method Summary collapse

Constructor Details

#initialize(pred_xml) ⇒ Predicate

Returns a new instance of Predicate.



6
7
8
9
10
# File 'lib/predicate.rb', line 6

def initialize(pred_xml)
  attributes = pred_xml.attributes
  @pred = NumericalPredicate.new(attributes) if attributes['operator']
  @pred = CategoricalPredicate.new(pred_xml) if attributes['booleanOperator']
end

Instance Method Details

#fieldObject



12
13
14
# File 'lib/predicate.rb', line 12

def field
  @pred.field
end

#missing_feature?(features) ⇒ Boolean

Returns:

  • (Boolean)


22
23
24
25
26
# File 'lib/predicate.rb', line 22

def missing_feature?(features)
  return false if features.has_key? field
  RandomForester.logger.error "Missing feature #{field}"
  true
end

#nil_feature?(features) ⇒ Boolean

Returns:

  • (Boolean)


28
29
30
31
32
# File 'lib/predicate.rb', line 28

def nil_feature?(features)
  return false unless features[field].nil?
  RandomForester.logger.error "Feature #{field} value is nil"
  true
end

#true?(features) ⇒ Boolean

Returns:

  • (Boolean)


16
17
18
19
20
# File 'lib/predicate.rb', line 16

def true?(features)
  return if missing_feature?(features)
  return if nil_feature?(features)
  @pred.true?(features)
end