Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package zad2;
- import org.apache.mahout.cf.taste.eval.RecommenderBuilder;
- import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
- import org.apache.mahout.cf.taste.impl.eval.RMSRecommenderEvaluator;
- import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
- import org.apache.mahout.cf.taste.impl.recommender.GenericItemBasedRecommender;
- import org.apache.mahout.cf.taste.impl.similarity.file.FileItemSimilarity;
- import org.apache.mahout.cf.taste.model.DataModel;
- import org.apache.mahout.cf.taste.recommender.ItemBasedRecommender;
- import org.apache.mahout.cf.taste.recommender.RecommendedItem;
- import org.apache.mahout.cf.taste.similarity.ItemSimilarity;
- import org.apache.mahout.common.RandomUtils;
- import java.io.File;
- import java.util.List;
- import static zad2.UserRecommender.EVALUATION_PERCENTAGE;
- import static zad2.UserRecommender.TRAINING_PERCENTAGE;
- public class ItemRecommender {
- public static void main(String[] args) throws Exception {
- RandomUtils.useTestSeed();
- DataModel model = new FileDataModel(
- new File("/home/marin/Dropbox/fax/4. godina/rovkp/dz3/jester_ratings.dat"), "\t+");
- ItemSimilarity similarity = new FileItemSimilarity(
- new File("/home/marin/Dropbox/fax/4. godina/rovkp/dz3/item_similarity.csv"));
- ItemBasedRecommender recommender = new
- GenericItemBasedRecommender(model, similarity);
- //izračunaj i ispiši 10 preporuka za korisnika s ID-jem 22
- List<RecommendedItem> recommendations = recommender.recommend(22, 10);
- for (RecommendedItem recommendation : recommendations) {
- System.out.println(recommendation);
- }
- RecommenderBuilder builder = dataModel -> {
- return new GenericItemBasedRecommender(dataModel, similarity);
- };
- RecommenderEvaluator recommenderEvaluator = new RMSRecommenderEvaluator();
- double score = recommenderEvaluator.evaluate(builder, null, model, TRAINING_PERCENTAGE, EVALUATION_PERCENTAGE);
- System.out.println("Score is " + score);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement