Извините, если это нубский вопрос, но я новичок в MAHOUT, и мне нужно провести некоторые тесты с наборами данных MovieLens. Что я хотел бы знать, можно ли обучить рекомендатель с помощью u1base.csv и протестировать рекомендатель с помощью u1test.csv, чтобы определить точность и отзыв?
В примерах оценки, которые я нашел, они только пропускают данные, но я хочу использовать u1base для обучения и u1test для тестирования.
u1base.csv и u1test.csv имеют одинаковый формат «UserId,Item,Rating».
Код Java у меня есть:
File userPreferencesFile = new File("u1base.csv");
File userTeste = new File("u1test.csv");
RandomUtils.useTestSeed();
DataModel dataModel = new FileDataModel(userPreferencesFile);
DataModel testModel = new FileDataModel(userTeste);
RecommenderIRStatsEvaluator recommenderEvaluator = new GenericRecommenderIRStatsEvaluator();
RecommenderBuilder recommenderBuilder = new RecommenderBuilder() {
@Override
public Recommender buildRecommender(DataModel dataModel) throws TasteException {
UserSimilarity userSimilarity = new PearsonCorrelationSimilarity(dataModel);
UserNeighborhood userNeighborhood = new NearestNUserNeighborhood(10, userSimilarity, dataModel);
return new GenericUserBasedRecommender(dataModel, userNeighborhood, userSimilarity);
}
};
IRStatistics statistics =
recommenderEvaluator.evaluate(
recommenderBuilder, null, dataModel, null, 2, GenericRecommenderIRStatsEvaluator.CHOOSE_THRESHOLD, 1.0);
System.out.format("The recommender precision is %f%n", statistics.getPrecision());
System.out.format("The recommender recall is %f%n", statistics.getRecall());
}
Любая помощь будет высоко ценится