What is Association in Data Mining?
Association — finding "if this, then that" relationships between items in a dataset — is covered with a full worked example (support, confidence, lift, leverage, and conviction computed together on one dataset) in the lesson on association rule mining, and the Apriori and FP-Growth algorithms that actually find these relationships are each covered in their own dedicated lessons. This lesson covers the algorithms and variants that aren't: Eclat, and quantitative association rules.
Eclat: A Fundamentally Different Data Layout
Apriori and FP-Growth both work from a horizontal data format — each transaction listed with the items it contains. Eclat inverts this into a vertical data format — each item listed with the transaction IDs (TIDs) that contain it — and finds frequent itemsets by intersecting these TID lists directly, rather than scanning transactions repeatedly.
Take 5 transactions:
T1: Milk, Bread
T2: Milk, Butter
T3: Milk, Bread, Butter
T4: Bread, Butter
T5: Milk, Bread
In vertical format, each item is stored with its own TID list:
Milk: {T1, T2, T3, T5} (appears in 4 of 5 transactions)
Bread: {T1, T3, T4, T5} (appears in 4 of 5 transactions)
Butter: {T2, T3, T4} (appears in 3 of 5 transactions)
Finding the support of the itemset {Milk, Bread} requires no re-scanning of the original transaction list at all — it's simply the intersection of the two TID lists already stored:
Milk ∩ Bread = {T1, T2, T3, T5} ∩ {T1, T3, T4, T5} = {T1, T3, T5}
Support({Milk, Bread}) = 3 / 5 = 0.60
This set-intersection approach is what makes Eclat's typical implementation depth-first rather than the breadth-first, level-by-level scanning Apriori uses — larger itemsets are built by intersecting the TID lists of smaller ones already computed, which is often significantly faster in practice, at the cost of TID lists that can themselves become large for very frequent items on very large datasets.
Quantitative Association Rules: Handling Numeric Attributes
Standard association rule mining assumes categorical, presence/absence data — a transaction either contains an item or doesn't. Quantitative association rules extend the technique to numeric attributes (age, income, quantity purchased) by first converting them into categorical ranges through the discretization techniques covered in the lesson on data preprocessing techniques — turning a continuous Age column into bins like 20-29, 30-39, 40-49 before mining begins. Once discretized, each bin functions as an ordinary categorical item, and a discovered rule might read IF Age = 30-39 AND Income = 50k-75k THEN Product Category = Electronics, using exactly the same support and confidence calculations covered in the lesson on association rule mining, just applied to attributes that started out numeric rather than categorical.
A Named Variant Worth Knowing, Briefly
CARMA (Continuous Association Rule Mining Algorithm) is worth mentioning by name specifically because it addresses a limitation the algorithms above share: Apriori, FP-Growth, and Eclat all assume the full dataset is available for repeated processing. CARMA is designed to mine association rules incrementally as new transactions continue to arrive, in the same spirit as the single-pass, bounded-memory constraint covered in the lesson on data stream mining, rather than requiring the entire dataset up front.
Where This Leaves Association Rule Mining Overall
Between the support/confidence/lift measures and the Apriori downward-closure principle covered in the lesson on association rule mining, the FP-tree structure covered in the lesson on FP-Growth, and the vertical TID-list approach covered here, the association-rule family of algorithms all solve the same underlying problem — finding itemsets that occur together more often than chance would predict — using three structurally different strategies (candidate generation, tree compression, and set intersection) that trade off differently between memory use and computation speed.