I am new to Apache Mahout recommender. The use case involves providing suggestions to users based on their purchase history. I am planning to use the following information :
- Purchase category
- Purchase amount
- Time of purchase (Example - recommend a pair of denims 6 months after the first pair was bought)
- Location of user
To identify users with similar purchase pattern/time of purchase and give them more preference, do I have to make custom data model for every user? I was planning to import from the database periodically to recreate the data model. Is there a way to dynamically give preference like mentioned below:
- Location + purchase category + time match
- Purchase category + time match
- Location + time match (example winter clothing)
Currently I am using the sample code provided. (A lot of modifications are needed)
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
List<RecommendedItem> recommendations = recommender.recommend(74, 10);