Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I am currently working on a system that will generate product recommendations like those on Amazon: "People who bought this also bought this.."

This is how I plan to do it:

  • Process the data using Apache Mahout and generate recommendations(data is stored in MySQL), currently item based only.
  • Apply a clustering algorithm to make cluster of users and then apply the association rules subjective to each cluster.

My questions are:

  • Will Mahout provide me enough flexibility to tweak the existing algorithms according to my needs. If yes, how?

  • Is there a better alternative like R?

share|improve this question

migrated from Aug 24 '11 at 14:49

This question came from our site for professional and enthusiast programmers.

I'm guessing you're talking about the project? – Alex Feinman Aug 24 '11 at 14:57
Are you talking about Apache Mahout or R language and platform? – Chiron Aug 24 '11 at 16:16
Ya,I am talking about Apache Mahout and R language. – samridhi Aug 25 '11 at 7:51
up vote 1 down vote accepted

As I think we've already discussed in some detail on other threads -- yes you can do things like clustering and collaborative filtering in Mahout. How you do it depends on exactly what you want to do, and it's not entirely clear here. I don't know how you intend to use clustering with recommenders here nor what an association rule is in this context.

But it's open source, so it's the most flexible thing possible: you can make it do whatever you like. So I suppose "yes" is the first answer.

R is not a platform, so I don't think you can view it as somehow an alternative to Mahout.

share|improve this answer
Thanks Sean.Actually,I want to apply the clustering algorithm on users [visitors of the client website] and after the users are categorized into cluster say Cluster 'A' and Cluster 'B' based on their similarity, apply association rules to generate the recommendations specific to each cluster.My question was if I can achieve this using Mahout.Hope this clarifies my question. – samridhi Aug 25 '11 at 7:49

Yes you can do this. You will need to train several recommenders on each audience segment and have to build your business rules for each segment.

Usually, but not always, this will be a bad idea.

I would also recommend that you go to the Mahout mailing list with these questions. You will find many more Mahout user there.

share|improve this answer
Thanks a lot Ted.But is clustering bad altogether?I mean ,I agree that categorizing the users into clusters wont be accurate,but on broad level,wouldn't it be helpful to generate personalized recommendations for each cluster that matches their user behavior? – samridhi Aug 26 '11 at 7:49

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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