What are the restrictions of application fields in searching for association rules (finding frequent itemsets)?

All examples I came across cover topic of 'true' basket-analysis in the sense of using a list of products which a sample of customers purchased with a goal to find rules such 'when one buys bread, it is likely butter is bought, too'.

What about more abstract applications? I mean finding any rules in dataset.

EXAMPLE. Let's assume I have a huge dataset with tourist-trip prices in 2013 year. The data includes trip-price and trip-features (such country of destination, days the travel lasts, accommodation condition elements, means of transport, extracurricular activities etc.). I want to find different associations between price and other trip features. My idea is to categorize price variable and find frequent itemsets among these trips (e.g. air conditioning=true, 5* hotel=true and Australia=true => high price=true).

  • Is this a good way to work with such problems?
  • Would you suggest any other general way of dealing with searching for any types of assocciations in different data sets?

3 Answers 3


I think what you might want to look at is 'Subgroup discovery', which is finding interesting rules with respect to a target variable .


Also see: Foundations of Rule Learning Authors: Johannes Fürnkranz, Dragan Gamberger, Nada Lavrač ISBN: 978-3-540-75196-0 (Print) 978-3-540-75197-7 (Online) http://link.springer.com/book/10.1007%2F978-3-540-75197-7

Other areas to explore are 'contrast set mining' and 'emerging pattern mining' these and others sometimes go by the name of 'descriptive rule learning'.

  • $\begingroup$ It is so far the most contributing answer for me, thank you a lot for it! $\endgroup$ Commented Oct 7, 2014 at 11:46
  • 1
    $\begingroup$ @Marciszka: If you dig into the first link (Herrera et al.), and search on terms like "decision", "tree", or "decision tree", you'll quickly discover that most of what they're talking about in "subgroup discovery" is just decision tree algorithms (the solution that I advocated) by another name. If you have the time, inclination and programming expertise to learn some of these algorithms and implement them yourself, please do so; it will be an excellent learning exercise. But if you actually want a quick result, then re-read my answer, download Weka, watch the videos, and run your data on J48. $\endgroup$
    – stachyra
    Commented Oct 7, 2014 at 15:22
  • $\begingroup$ You can do easy subgroup discovery with cloudflows : Cloudflows and it also has weka and orange and scikit :) $\endgroup$
    – user27815
    Commented Oct 7, 2014 at 15:53

If you want to be able to discover easily human-quantifiable "rules" in your data which predict which features are associated with high vs. low prices, then it sounds like what you want to do is run a decision tree-based statistical classifier on your data set, treating the "trip-price" field as the class variable.

A good example of a tree-based classifier is the C4.5 algorithm or its successor, C5.0. The C5.0 algorithm is implemented in the R package C50, and a slightly modified version of C4.5 is also implemented in Weka as J48 (confusingly named, I know, but if you dig around a little bit you'll discover that it is indeed derived essentially from C4.5). A short video course covering use of the GUI version of Weka can be found here, and in particular, a 10 minute video (section 3.4 in the course syllabus) which introduces J48 specifically can be found here. There is also the CART (Classification And Regression Tree) algorithm as well; a version of that is implemented in the Python scikit-learn package.

Lastly, it's worth noting that tree-based classifiers are only needed if you actually want to have human-understandable predictive rules that you easily write down on a sheet of paper. If you just want a computer to be able to accurately predict class outcomes (i.e., was it an expensive vacation or a cheap one) based on trip features (air conditioning, brand of hotel, country location, etc.) and you don't really care why the computer made a particular prediction, there are many other types of supervised machine learning algorithms that can help you as well.


One would be tempted to do this but the problem with this method is with categorization of the numeric field.

But mind you association rules can be overwhelming in number.

  • $\begingroup$ What exactly poses a problem here? I mean I do not see a problem with the categorization you have mentioned (in my case I have not so many variables and I believe I can categorize them even manually). $\endgroup$ Commented Oct 2, 2014 at 22:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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