ECLAT is a frequent-itemset-mining algorithm for association rules. It represents transactions vertically, records the invoices containing each item, and uses depth-first search with set intersections to find frequent combinations. section 4.11 section 4.5
A practical ECLAT workflow follows the transaction structure through progressively larger itemsets:
- Start with each individual item and collect the invoice numbers in which it appears. section 4.5
- Intersect invoice sets to evaluate pairs and then larger combinations, retaining combinations that meet the support threshold. section 4.5
- Traverse the combination tree depth-first, backtracking when a branch reaches a terminal node and continuing until combinations are exhausted. section 4.5
- Inspect support for individual items and combinations, then use the results to assess association-rule candidates. section 4.5.1 section 4.11
Invoice intersections
If milk appears in invoices 1001 and 1003, while eggs appears in 1001, 1002, 1003, 1004, and 1005, their pair appears in invoices 1001 and 1003. Extending the same process gives three-item combinations such as milk, eggs, and bread in invoices 1001 and 1003.
Python implementation with pyECLAT
Load a transaction CSV into a pandas DataFrame, create an ECLAT instance, and fit it with min_support=0.02, min_combination=1, max_combination=3, and separator=' & '. The returned supports quantify item and combination frequency; one reported example gives french fries and eggs a support of 3.43%. section 4.5.1
