Item Set Finder (Borgelt)

The node provides different algorithms to search for frequent items in a list of item sets. The algorithms have been implemented by Christian Borgelt. The following descriptions have been taken from his homepage.

Apriori: The apriori algorithm (Agrawal et al. 1993) carries out a breadth first search on the subset lattice and determines the support of item sets by subset tests. This is a pretty fast implementation that uses a prefix tree to organize the counters for the item sets. The census data set may be used to test the program.

FPgrowth: The FPgrowth algorithm (frequent pattern growth, Han et al 2000) represents the transaction database as a prefix tree which is enhanced with pointers that organize the nodes into lists referring to the same item. The search is carried out by projecting the prefix tree, working recursively on the result, and pruning the original tree. Since version 1.2 this implementation also contains the alpha-pruning of the FP-Bonsai techniques.

RElim: The RElim algorithm (recursive elimination) is inspired by the FP-growth algorithm, but does its work without prefix trees or any other complicated data structures. The main strength of this algorithm is not its speed (although it is not slow, but even outperforms apriori and eclat on some data sets), but the simplicity of its structure. Basically all the work is done in one recursive function of fairly few lines of code.

SaM: The split and merge algorithm (Split and Merge) combines a depth-first traversal of the subset lattice with a horizontal transaction representation. The main strength of this algorithm is not its speed (although it is not slow, but even outperforms apriori and Eclat on some data sets), but the simplicity of its structure. Basically all the work is done in one recursive function of about fairly few lines of code. In addition, it only uses a simple array as the only data structure.

JIM: Finds Jaccard item sets with an extension of the Eclat algorithm. In analogy to frequent item set mining, where one tries to find item sets the support of which exceeds a user-specified threshold (minimum support) in a database of transactions, a Jaccard item set is an item set for which the (generalized) Jaccard index of its item covers exceeds a user-specified threshold. This measure yields a much better assessment of the association strength of the items than simple support. Since the (generalized) Jaccard index is, like the support, also anti-monotone, the same basic approach can be used for the search, provided it is extended to compute the denominator of the Jaccard index.

Dice: Finds Dice item sets with an extension of the Eclat algorithm. In analogy to frequent item set mining, where one tries to find item sets the support of which exceeds a user-specified threshold (minimum support) in a database of transactions, a Dice item set is an item set for which the Dice index of its item covers exceeds a user-specified threshold.

Tanimoto: Finds Tanimoto item sets with an extension of the Eclat algorithm. In analogy to frequent item set mining, where one tries to find item sets the support of which exceeds a user-specified threshold (minimum support) in a database of transactions, a Tanimoto item set is an item set for which the Tanimoto index of its item covers exceeds a user-specified threshold.

Options

Item column
Select the collection column that contains the item set to mine. The column must contain either BitVector or Collection data.
Algorithm
The algorithm to use. For details about the different algorithms see the node description above.
  • Apriori: Apriori algorithm (Agrawal et al. 1993). Breadth first search on the subset lattice using a prefix tree to organise counters for item sets.
  • Apriori association rule
  • FPgrowth: Frequent Pattern Growth algorithm (Han et al. 2000). Represents the transaction database as a prefix tree. Usually the fastest algorithm.
  • RElim: Recursive elimination algorithm. Usually slower than FP-growth but outperforms Apriori and Eclat on some data sets.
  • SaM: Split and Merge algorithm. Can be slow on sparse transaction databases.
  • JIM: Jaccard item set miner based on Eclat. Uses the Jaccard index of an item set as threshold.
  • DICE: Dice item set miner based on Eclat. Uses the Dice coefficient of an item set as threshold.
  • Tanimoto: Tanimoto item set miner based on Eclat. Uses the Tanimoto coefficient of an item set as threshold.
Target type
The type of item set to produce.
  • Frequent: All frequent sets.
  • Closed: A set that is frequent but none of its supersets has the same support.
  • Maximal: A set that is frequent with no frequent supersets.
  • Association rule
Threshold
This is an optional parameter that is only enabled for certain algorithms. The algorithms that support a threshold, including a description, are:
  • RElim: Minimum weight of an item set (default: 10%).
  • SaM: Minimum weight of an item set (default: 10%).
  • JIM: Minimum Jaccard index of an item set (default: 10%).
  • DICE: Minimum Dice coefficient of an item set (default: 10%).
  • Tanimoto: Minimum Tanimoto coefficient of an item set (default: 10%).
.
Sort item set
The items in the frequent item set are sorted in ascending order if this option is selected.
Minimum set size
The minimum size of a set.
Limit set size
Whether to limit the maximum size of a set. It is recommended to limit the maximum set size in order to keep memory consumption to a minimum.
Maximum set size
The maximum size of a set.
Support type
Choose whether the minimum support is specified as a percentage of transactions or as an absolute number of transactions.
  • Percentage: Percentage of transactions
  • Absolute number: Number of transactions
Minimum support
The minimum support. Note that the smaller this value, the more itemsets are considered by the algorithms. For some datasets this can cause a very high memory consumption. If you find yourself in such a scenario, it is advised to increase the minimum support or at least limit the set size.
Additional parameter (space separated)
Additional parameter that should be passed to the algorithm separated by a space. For details about the available parameters see the web page of the corresponding algorithm on Christian Borgelt's web page.

Input Ports

Icon
Transaction list.

Output Ports

Icon
Item sets.

Popular Successors

Views

This node has no views

Workflows

Links

Developers

You want to see the source code for this node? Click the following button and we’ll use our super-powers to find it for you.