mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <sro...@gmail.com>
Subject Re: Exclusing certain ratings when running recommender
Date Wed, 09 May 2012 13:18:55 GMT
In that case -- the rescoring never operates on "original items". It is
rescoring only estimated ratings.
If you supply no rescorer, no filtering or rescoring happens.
You would never delete data to make an item unrecommendable for one query,
because you would be totally deleting the data!

I hope this finally clarifies -- something like this could happen:

There are 9 items in the world: 1 2 3 4 5 6 7 8 9
User A expresses a rating for 1 2 3, so only 4 5 6 7 8 9 are recommendable
The framework further selects as possible candidates 6 7 8 9
The filter removes 6 7, leaving 8 9 as possibilities   <-- THIS IS FILTERING
The recommender algorithm predicts a rating of 3.5 for 8, and 3.2 for 9
The rescorer changes the prediction for 9 from 3.2 to 4.1  <-- THIS IS
RESCORING
The final recommendations are 9 (score of 4.1), then 8 (score of 3.5)

To say it a third time: IDRescorer already does *exactly what you are
describing*!!!

On Wed, May 9, 2012 at 11:33 AM, Mugoma Joseph Okomba <mugoma@yengas.com>wrote:

>
> By 'original items' I mean the items in the database (just the raw table
> rows). In the example I gave original items are 10. Actually should be
> 'original ratings', not 'original items'
>
> If you look at CachingRecommender it has 2 recommend () methods: one with
> IDRescorer and other without. My understanding of this is that the one
> with IDRescorer has *recommended* items altered by IDRescorer. The one
> without doesn't. So, the IDRescorer works on *recommended* items and not
> *original* ratings.
>
> The confusion is not about filtering parse but what's being filtered.
>
> For the example I gave I could do an SQL to delete the 'unwanted' ratings
> then have a clean set of ratings to feed into the recommender so that the
> recommender sees 7 ratings instead of 10. But this doesn't look intuitive
> so I thought there's a better way of handling this within mahout.
>
> Probably what I need is a new data model that overwrites
> getPreferencesFromUser(long id) and getPreferencesForItem(long itemID)
>
>
> On Wed, May 9, 2012 12:25 pm, Sean Owen wrote:
> > What do you mean "original items"? The user's preferred items are already
> > not candidates for recommendation, but that is nothing to do with the
> > rescorer. It operates on all *candidate* items, *before* scoring.
> >
> > What is your distinction between filtering *recommended* items and
> > *original* items? Either way it is filtered. I don't understand what you
> > are getting at.
> >
> > On Wed, May 9, 2012 at 10:09 AM, Mugoma Joseph Okomba
> > <mugoma@yengas.com>wrote:
> >
> >>
> >> If it's true that IDRescorer works on original items then that's both
> >> bad
> >> and good news for me.
> >>
> >> The bad news is is that all the code I had previous written involving
> >> IDRescorer is all bugy since I had assumed that IDRescorer filters
> >> recommendations and not original list
> >>
> >> The bit of good news is that I don't have to anything for the new task.
> >>
> >> But, if IDRescorer changes original list, what can be used to change
> >> recommendations?
> >
>
>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message