This looks fine to me (though you are building a user-based
recommender, and from the sound of it, you intended to build an
item-based one). You are getting an evaluation result of 0?

Are you using the latest code (version 0.2)?

Also, try increasing the amount of data you use. Your "0.8" can be
"0.95" to train on 95% of the data. Also, for a small data set like
this, pass 1.0 as the last parameter to use all of it.

At the moment you're training on 16,000 ratings, which should still
give some non-trivial result, but that's not a lot.

On Fri, Nov 20, 2009 at 11:15 AM, jamborta <[email protected]> wrote:
>
> thanks, i'm using this one with the standard movielens (100k) dataset.
>
>    public Recommender buildRecommender(DataModel dataModel) throws
> TasteException {
>        DataModel model = null;
>        try {
>            model = new FileDataModel(new File("./data/all_data.data"));
>
>        } catch (FileNotFoundException e) {
>            e.printStackTrace();
>        }
>        UserSimilarity userSimilarity = new
> PearsonCorrelationSimilarity(model);
>        UserNeighborhood neighborhood =
>                new NearestNUserNeighborhood(10, userSimilarity, model);
>        Recommender recommender =
>                new GenericUserBasedRecommender(dataModel, neighborhood,
> userSimilarity);
>        return recommender;
>
> }
>
>
> srowen wrote:
>>
>> 0 is very good! But I agree, it is probably an error.
>>
>> I see you call evaluate() twice. This is not necessary. Call it once,
>> and save the result, then print it. But this is not the issue.
>>
>> What is in the ItemBasedBuilder class? what is your data like? Maybe
>> if I can see this I can suggest why you get this result.
>>
>> On Thu, Nov 19, 2009 at 5:31 PM, jamborta <[email protected]> wrote:
>>>
>>> hi.
>>>
>>> i'm not sure if this is a bug or I do somthing wrong, but when I try to
>>> evaluate a system it returns 0 as a result. I'm using this piece of code:
>>>
>>>            DataModel model = new FileDataModel(new
>>> File("./data/all_data.data"));
>>>            RecommenderBuilder build = new ItemBasedBuilder();
>>>            AverageAbsoluteDifferenceRecommenderEvaluator evaluate = new
>>> AverageAbsoluteDifferenceRecommenderEvaluator();
>>>            DataModelBuilder model2 = null;
>>>            evaluate.evaluate(build, model2, model,0.8,0.2 );
>>>            System.out.println(evaluate.evaluate(build, model2,
>>> model,0.8,0.2 ));
>>>
>>> thanks a lot.
>>> --
>>> View this message in context:
>>> http://old.nabble.com/evaluating-recommender-systems-tp26421408p26421408.html
>>> Sent from the Mahout User List mailing list archive at Nabble.com.
>>>
>>>
>>
>>
>
> --
> View this message in context: 
> http://old.nabble.com/evaluating-recommender-systems-tp26421408p26438752.html
> Sent from the Mahout User List mailing list archive at Nabble.com.
>
>

Reply via email to