mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Stefano Bellasio <stefanobella...@gmail.com>
Subject Re: Grouplens dataset Recommenderjob with Hadoop
Date Mon, 22 Nov 2010 16:32:48 GMT
Well, guys i wrote this code, can you tell me if it's right or not? 
Thanks in advance :)

package org.apache.mahout.cf.taste.hadoop.item;
import org.apache.mahout.cf.taste.common.Refreshable;
import org.apache.mahout.cf.taste.common.TasteException;
import org.apache.mahout.cf.taste.example.grouplens.GroupLensDataModel;
import org.apache.mahout.cf.taste.impl.eval.LoadEvaluator;
import org.apache.mahout.cf.taste.impl.model.file.*;
import org.apache.mahout.cf.taste.impl.recommender.*;
import org.apache.mahout.cf.taste.impl.recommender.svd.SVDRecommender;
import org.apache.mahout.cf.taste.impl.similarity.*;
import org.apache.mahout.cf.taste.model.*;
import org.apache.mahout.cf.taste.recommender.*;
import org.apache.mahout.cf.taste.similarity.*;
import java.io.*;
import java.util.*;
public class ItemBased implements Recommender {


		private final Recommender delegate;
		private DataModel model;
		
		public ItemBased(DataModel model) throws TasteException, IOException {
		
		ItemSimilarity similarity = new PearsonCorrelationSimilarity(model);	
		
	
		delegate = new GenericItemBasedRecommender(model, similarity);
		LoadEvaluator.runLoad(delegate);
		List<RecommendedItem> recommendations = delegate.recommend(1,1);
		
		
		for (RecommendedItem recommendation : recommendations){
			System.out.println(recommendation);
		}
}
		@Override
		public float estimatePreference(long userID, long itemID)
				throws TasteException {
			// TODO Auto-generated method stub
			return delegate.estimatePreference(userID, itemID);
		}
		@Override
		public DataModel getDataModel() {
			return delegate.getDataModel();
		}
		@Override
		public List<RecommendedItem> recommend(long userID, int howMany)
				throws TasteException {
			return delegate.recommend(userID, howMany);
		}
		@Override
		public List<RecommendedItem> recommend(long userID, int howMany,
				IDRescorer rescorer) throws TasteException {
			// TODO Auto-generated method stub
			return delegate.recommend(userID, howMany);
		}
		@Override
		public void removePreference(long userID, long itemID)
				throws TasteException {
			// TODO Auto-generated method stub
			
		}
		@Override
		public void setPreference(long userID, long itemID, float value)
				throws TasteException {
			delegate.setPreference(userID, itemID, value);
			
		}
		@Override
		public void refresh(Collection<Refreshable> alreadyRefreshed) {
			
			delegate.refresh(alreadyRefreshed);
			
		}
}
Il giorno 21/nov/2010, alle ore 07.49, web service ha scritto:

> Well, I did run the grouplensrecommender on hadoop.Most of the time the
> problem I encountered (like exceptions of yours) was packing the libs,
> creating jar and configuring input paths. As Sean said, look at
> GroupLensRecommender implementation in
> o.a.m.c.t.example.grouplens.GroupLensRecommender.
> 
> HTH
> 
> 
> On Sat, Nov 20, 2010 at 7:11 AM, Sean Owen <srowen@gmail.com> wrote:
> 
>> The first part looks right, but you have not delegated any methods.
>> Please see the example I referred you to.
>> 
>> On Sat, Nov 20, 2010 at 3:06 PM, Stefano Bellasio <
>> stefanobellasio@gmail.com
>>> wrote:
>> 
>>> Something like this? And then i have to package it and use instead of
>>> Mahout-core..job right? Thanks again
>>> 
>>> 
>> 


Mime
View raw message