3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
# File 'lib/evoc/algorithms/closed_rules.rb', line 3
def self.closed_rules(tx_store:,query:)
tree = self.initialize_tree(tx_store,query)
closed_rules = Evoc::RuleStore.new(query: query)
tree.children.each do |consequent|
self.extend_nodes(consequent).each do |frequency, closed_sets|
closed_sets.each do |closed_set|
antecedent = closed_set - consequent.name
closed_rules << Evoc::Rule.new(lhs: antecedent.map(&:to_i), rhs: consequent.name.map(&:to_i),tx_store: tx_store, m_support: frequency.to_r/tx_store.size)
end
end
end
return closed_rules
end
|