Skip to content

Instantly share code, notes, and snippets.

@Kamilahsantos
Created February 10, 2019 17:03
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Kamilahsantos/47f1272000f59cd2a2326f117c7bc76a to your computer and use it in GitHub Desktop.
Save Kamilahsantos/47f1272000f59cd2a2326f117c7bc76a to your computer and use it in GitHub Desktop.
package br.com.kamila;
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.eval.RecommenderBuilder;
import org.apache.mahout.cf.taste.impl.neighborhood.ThresholdUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.Recommender;
import org.apache.mahout.cf.taste.recommender.UserBasedRecommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
//aqui connstruimos nosso recomendador
public class RecomendadorBuilder implements RecommenderBuilder {
public Recommender buildRecommender(DataModel model) throws TasteException {
//ele irá se basear na similaridade entre os usuários para contruir recomendações.
UserSimilarity similarity = new PearsonCorrelationSimilarity(model);
//pega a maior similaridade (vizinhança) entre os usuários do nosso modelo
UserNeighborhood neighborhood = new ThresholdUserNeighborhood(0.1, similarity, model);
//fazemos nossa recomendação baseada no usuário, que é retornada no recommender
UserBasedRecommender recommender = new GenericUserBasedRecommender(model, neighborhood, similarity);
return recommender;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment