This operator create frequent item sets from a given stream.

The result stream creates a tuple with 3 attributes:

  • id: the number (a simple counter) of the pattern
  • set: the frequent pattern, which is a list of tuples (a nested attribute ~ NF^2)
  • support: the support of the pattern


  • SUPPORT: The minimal support that defines what is frequent. This can be either a total number > 1.0 or a double between 0.0 and 1.0. The double indicates the percent in terms of the number of transactions.
  • TRANSACTIONS: A Number of transactions that should be investigated
    • A transaction is a snap-shot of a window. so each time when a window changes, there is a new transaction
  • LEARNER: the algorithm that is used
    • Currently implemented: fpgrowth, Weka (which in turn has further algorithms)
  • ALGORITHM: A set of options to describe the algorithm


This example uses FP-Growth for finding frequent item sets. it does not need any parameters in algorithm

/// support is 3 out of 1000 transactions
fpm =  FREQUENTPATTERN({support=3.0, transactions=1000, learner = 'fpgrowth'}, inputoperator)

/// support is 60% out of 1000 transactions, so it is equal to a support of 600.0
fpm =  FREQUENTPATTERN({support=0.6, transactions=1000, learner = 'fpgrowth'}, inputoperator)
  • No labels