Class: DataMining::Apriori

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

Overview

Apriori Algorithm for frequent set mining and association rule learning

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(transactions, minimum_support) ⇒ Apriori

Returns a new instance of Apriori.



11
12
13
14
15
# File 'lib/data_mining/apriori.rb', line 11

def initialize(transactions, minimum_support)
  @transactions = transactions.select(&:flatten!).each(&:shift)
  @min_support  = minimum_support
  @results      = []
end

Instance Attribute Details

#resultsObject (readonly)

Find frequent item sets

Arguments:

transactions: (array of arrays, like [[:id, [transactions]] .. ])
minimum_support: (integer)


9
10
11
# File 'lib/data_mining/apriori.rb', line 9

def results
  @results
end

Instance Method Details

#item_sets_size(size) ⇒ Object



21
22
23
# File 'lib/data_mining/apriori.rb', line 21

def item_sets_size(size)
  @results[size - 1]
end

#mine!Object



17
18
19
# File 'lib/data_mining/apriori.rb', line 17

def mine!
  apriori
end