Recommender system based on clusters

I'm wondering if this is a correct approach to build recommender systems:

My problem: Recommend phone devices, you have device X and you are likely to switch to device Y.

  1. Understand the data. I want to know the implication of each dimension on the device switch. How should I do it? Correlation matrix? assign to each switch one ID and check de CM?. Per example, the switch may be different by country, etc.
  2. Once I know the implications of each dimension, build N clusters based on the previous dimensions.
  3. Build N recommender systems (one for each cluster)

I've saw this question and I think that my approach is correct. Should you cluster before performing collaborative filtering?. But not sure how to perform the cluster, I mean, how to choose the correct dimensions.

By the way, do you recommend any kind of algorithm / model?

Topic recommender-system clustering

Category Data Science

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.