I have a set of data about which I would like as a first step, discover some interesting or frequent relationships. For this I know that there are several algorithms, like association or sequence learning or rules. However, I just know FP-growth. Which other alternatives of this algorithms, can I use to extract rules or relationships from any dataset?


1 Answer 1


Typically, I would start by trying the Market-Basket algorithm. This is the standard first pass for checking association rules.

The idea is to proceed in steps:

Step 1: Filter individual terms (S1) which appear more than a threshold (t1)

Step 2: Choose pairs of terms (S2) from S1, such that the frequency of appearance is more than some other threshold (t2).

The filtering reduces the number of terms in next iterations which need to be searched. Typically, you would chose S1 to have only 1% of the total number of terms, so subsequent filterings are making much fewer pairs

You can run the algorithm in a distributed fashion (using Map-reduce), and can implementations in most standard ML packages (Weka). There are many open source implementations easily found on Github (https://github.com/siwest/market_basket/blob/master/market_basket.py)

  • $\begingroup$ As far as I know sklearn doesn't have any implementation on that, could you provide the reference of another package ? $\endgroup$
    – tumbleweed
    Feb 22, 2018 at 23:28
  • $\begingroup$ Sorry about that; sloppy work on my part $\endgroup$
    – Sid
    Feb 23, 2018 at 2:00

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.