Hi, all:

I try to user mahout api to make recommendations, but I find some userId
has no recommendations, why?

here is my code
public static void main(String args[]) throws Exception {
        String inFile = "F:\\hadoop\\data\\recsysinput.txt";
        DataModel dataModel = new FileDataModel(new File(inFile));
        UserSimilarity userSimilarity = new
PearsonCorrelationSimilarity(dataModel);
        UserNeighborhood userNeighborhood = new
NearestNUserNeighborhood(100, userSimilarity, dataModel);
        Recommender recommender = new
GenericUserBasedRecommender(dataModel, userNeighborhood, userSimilarity);

        for (int i = 1; i < 5; i++) {
            List<RecommendedItem> recommendations =
recommender.recommend(i, 1);

            System.out.println("recommend for user:" + i);
            for (RecommendedItem recommendation : recommendations) {
                System.out.println(recommendation);
            }
        }
    }


input data(recsysinput.txt):
1,101,5.0
1,102,3.0
1,103,2.5
2,101,2
2,102,2.5
2,103,5
2,104,2
3,101,2.5
3,104,4
3,105,4.5
3,107,5
4,101,5
4,103,3
4,104,4.5
4,106,4
5,101,4
5,102,3
5,103,2
5,104,4
5,105,3.5
5,106,4

output:
recommend for user:1
RecommendedItem[item:104, value:5.0]
recommend for user:2
RecommendedItem[item:106, value:4.0]
recommend for user:3
RecommendedItem[item:106, value:4.0]
recommend for user:4
RecommendedItem[item:105, value:5.0]
recommend for user:5

UserId 5 has no recommendations, is it right?
Can I get some recommendations for userId 5, even if the recommendation
results are not good enough?

thanks
Regards!

Reply via email to