初歩的な質問で申し訳ありませんが、私は 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());
}
どんな助けでも大歓迎です