Project: Quantitative Association Rule Miner

published on April 6, 2012

Technologies: 
C++
Data mining
Qt
Time range: 
December 2009
As a: 
student

School year: first master year, first semester.

For the “Data mining” course, we had to build a quantitative association rule miner for 20% of the grades of the course. It had to mine for 3 types of quantitative association rules, given a minimum support threshold:

  1. (A = 5) ⇒ (B = 3) with confidence = X 1
  2. (C >= 5) ⇒ (A >= 33) with confidence = X 2
  3. (B >=5, D ⇐ 3) ⇒ (E >= 13) with confidence = X 3

We were allowed to implement this in any language, using any algorithm. (We had learned about Apriori and FP-Growth, with the latter being far more complex to implement.) I chose for C++/Qt and the FP-Growth algorithm. The fastest implementation would also be given one additional point.

My implementation was two to four times faster than the second fastest implementation, depending on the test case (and 5 to 250 times faster than the slowest one).

The code is available on GitHub.


  1. Exact quantitative association rules. ↩︎

  2. Ranged with only “greater than” quantitative association rules. ↩︎

  3. Ranged with both “smaller than” and “greater than” quantitative association rules. ↩︎