There is a problem in the mailing system I guess. I am sending 1 file in 1
mail. This has the code file.
On Wed, Jul 15, 2009 at 2:15 PM, Sean Owen <[email protected]> wrote:
> There is still only one text file attached. But anyway I believe Thomas has
> identified the problem.
>
> On Jul 15, 2009 1:03 PM, "Laya Patwa" <[email protected]> wrote:
>
> You did not get the code? But I sent it. Anyways please find 3 files
> attached with this mail containing the code and the 2 data files.
> My apologies for the mistake.
>
> On Wed, Jul 15, 2009 at 1:57 PM, Sean Owen <[email protected]> wrote: > >
> Thomas is right, you have...
>
package de.coeud.userbasedrecommender;
import java.util.List;
import java.io.File;
import org.apache.mahout.cf.taste.impl.model.file.FileDataModel;
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.CachingRecommender;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
import org.apache.mahout.cf.taste.impl.similarity.AveragingPreferenceInferrer;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.model.User;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
import org.apache.mahout.cf.taste.recommender.RecommendedItem;
import org.apache.mahout.cf.taste.recommender.Recommender;
import org.apache.mahout.cf.taste.similarity.UserSimilarity;
public class UserBasedRecommender {
/**
* @param args
*/
public static void main(String[] args) {
try {
DataModel model = new FileDataModel(new
File("data2/tdata.csv"));
UserSimilarity userSimilarity = new
PearsonCorrelationSimilarity(
model);
userSimilarity.setPreferenceInferrer(new
AveragingPreferenceInferrer(
model));
UserNeighborhood neighborhood = new
NearestNUserNeighborhood(3,
userSimilarity, model);
Recommender recommender = new
GenericUserBasedRecommender(model,
neighborhood, userSimilarity);
List<User> users = ((GenericUserBasedRecommender)
recommender).mostSimilarUsers("5", 3);
Recommender cachingRecommender = new
CachingRecommender(recommender);
List<RecommendedItem> recommendations =
cachingRecommender.recommend("3", 20);
// List<RecommendedItem> recommendations =
recommender.recommend("3", 20);
System.out.println(recommendations.size());
System.out.println(recommendations);
System.out.println(users);
} catch (Exception e) {
e.printStackTrace();
}
}
}