fp_growth library

A comprehensive, memory-efficient implementation of the FP-Growth algorithm for frequent itemset mining and association rule generation.

Classes

AssociationRule<T>
Represents an association rule: antecedent => consequent.
FPGrowth<T>
Implements the FP-Growth algorithm for mining frequent itemsets.
RuleGenerator<T>
Generates association rules from a set of frequent itemsets.

Functions

buildConditionalTransactions(Map<List<int>, int> conditionalPatternBases, Map<int, int> conditionalFrequentItems) Map<List<int>, int>
Builds weighted conditional transactions from conditional pattern bases.
calculateAbsoluteMinSupport(double minSupport, int transactionCount) int
Calculates the absolute minimum support count from a relative or absolute value.
filterFrequentItems(Map<int, int> frequency, int absoluteMinSupport) Map<int, int>
Filters a frequency map to include only items that meet the absoluteMinSupport.
generateSubsets(List<FPNode> nodes) List<List<FPNode>>
Generates all non-empty subsets for a given list of FPNodes.
mineForItem<T>(FPTree tree, int item, List<int> prefix, Map<int, int> frequency, int absoluteMinSupport, ItemMapper<T> mapper, Logger logger) Map<List<int>, int>
Recursively mines frequent itemsets for a specific item and its conditional tree.
mineLogic<T>(FPTree tree, List<int> prefix, Map<int, int> frequency, int absoluteMinSupport, ItemMapper<T> mapper, Logger logger) Map<List<int>, int>
The core recursive mining logic of the FP-Growth algorithm.
transactionsFromCsv(Stream<List<int>> csvStream, {String fieldDelimiter = ',', String eol = '\n'}) Stream<List<String>>
Parses a CSV byte stream efficiently.