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:
- Draw an itemset lattice representing the data set given in the above
Table. Label each node in the lattice with the following letter(s):
- N: If the itemset is not considered to be a candidate itemset by
the A-Priori algorithm. There are two reasons for an itemset not to
be considered as a candidate itemset: (1) it is not generated at all during
the candidate generation step, or (2) it is generated during the candidate
generation step but is subsequently removed during the candidate pruning
step because one of its subsets is found to be infrequent.
- F: If the candidate itemset is found to be frequent by the
A-Priori algorithm.
- I: If the candidate itemset is found to be infrequent after
support counting.
- What is the percentage of frequent itemsets (with respect to all
itemsets in the lattice)?
- 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.)
- What is the false alarm rate (i.e., percentage of candidate itemsets that
are found to be infrequent after performing support counting)?
- (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).