Problem Description:

The A-Priori algorithm uses a generate-and-count strategy for deriving frequent itemsets. Candidate itemsets of size k+1 are created by joining a pair of frequent itemsets of size k (this is known as the candidate generation step). A candidate is discarded if any one of its subsets is found to be infrequent during the candidate pruning step. suppose the A-Priori algorithm is applied to the data set shown in the following table with minsup = 35%, i.e., any itemset occurring in less than 4 transactions is considered to be infrequent.

Transaction ID Items Bought
1 {a,b,d,e}
2 {b,c,d}
3 {a,b,d,e}
4 {a,c,d,e}
5 {b,c,d,e}
6 {b,d,e}
7 {c,d}
8 {a,b,c}
9 {a,d,e}
10 {b,d}

Your Tasks:

  1. Draw an itemset lattice representing the data set given in the above Table. Label each node in the lattice with the following letter(s):
  2. What is the percentage of frequent itemsets (with respect to all itemsets in the lattice)?
  3. What is the pruning ratio of the A-Priori algorithm on this data set? (Pruning ratio is defined as the percentage of itemsets not considered to be a candidate because (1) they are not generated during candidate generation or (2) they are pruned during the candidate pruning step.)
  4. What is the false alarm rate (i.e., percentage of candidate itemsets that are found to be infrequent after performing support counting)?
  5. (Optional) Consider how to develop a program to perform the support count for a group of candidate itemsets with length k (for example k = 3).