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?
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)