mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <sro...@gmail.com>
Subject Re: Grouplens dataset Recommenderjob with Hadoop
Date Mon, 22 Nov 2010 18:13:41 GMT
It looks fine except that you have this in the constructor -- why?
               LoadEvaluator.runLoad(delegate);
               List<RecommendedItem> recommendations = delegate.recommend(1,1);


               for (RecommendedItem recommendation : recommendations){
                       System.out.println(recommendation);
               }

This happens outside, in other code running an eval.

Again, you probably want to look at the examples in the book, which
walk through this.

On Mon, Nov 22, 2010 at 4:32 PM, Stefano Bellasio
<stefanobellasio@gmail.com> wrote:
>
> 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