def build_rule(class_value, instances)
rule = {:class_value => class_value, :conditions => {}}
rule_instances = instances.collect {|data| data }
attributes = @data_set.data_labels[0...-1].collect {|label| label }
until(is_perfect(instances, rule) || attributes.empty?)
freq_table = build_freq_table(rule_instances, attributes, class_value)
condition = get_condition(freq_table)
rule[:conditions].merge!(condition)
rule_instances = rule_instances.select do |data|
matches_conditions(data, condition)
end
end
return rule
end