class Apriori::List
Attributes
sets[R]
Public Class Methods
create_subsets(set)
click to toggle source
# File lib/apriori/list.rb, line 5 def self.create_subsets set (1).upto(set.size - 1).flat_map { |n| set.combination(n).to_a } end
new(sets)
click to toggle source
# File lib/apriori/list.rb, line 9 def initialize sets @sets = sets end
Public Instance Methods
make_candidates()
click to toggle source
# File lib/apriori/list.rb, line 18 def make_candidates if (size + 1) <= 2 sets.flatten.combination(size + 1).to_a else self_join(prune) end end
size()
click to toggle source
# File lib/apriori/list.rb, line 13 def size return 0 if sets.empty? sets.first.size end
Private Instance Methods
prune()
click to toggle source
# File lib/apriori/list.rb, line 32 def prune sets.reject{|a1| sets.select{|a2| a1[0...-1] == a2[0...-1]}.size == 1} end
self_join(set)
click to toggle source
# File lib/apriori/list.rb, line 28 def self_join set set.map{|a1| set.select{|a2| a1[0...-1] == a2[0...-1]}.flatten.uniq}.uniq end