Divide the dataset into m partitions, i.e. D1, D2, ......., Dm. The size of the partitions should be such that each partition could fit into memory.
For each parition i, find the frequent itemsets Fi in Di with support ≥ minSupp. If it is frequent in D, then is must be frequent in some Di.
The union of all in Fi's forms the candidate set of the frequent itemsets for D. Get the counts for these only.
Often this requires only 2 scans of D.
![]()