Method: Ariel::Learner#perfect?
- Defined in:
- lib/ariel/learner.rb
#perfect?(rule) ⇒ Boolean
A given rule is perfect if it successfully matches the label on at least one example and fails all others.
100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 |
# File 'lib/ariel/learner.rb', line 100 def perfect?(rule) perfect_count=0 fail_count=0 @examples.each do |example| if rule.matches(example, :perfect) perfect_count+=1 elsif rule.matches(example, :fail) fail_count+=1 end end if (perfect_count >= 1) && (fail_count == (@examples.size - perfect_count)) return true else Log.debug "Rule was not perfect, perfect_count=#{perfect_count}, fail_count=#{fail_count}" return false end end |