mahout-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Sean Owen <>
Subject Re: Introducing randomness into my results
Date Sat, 02 Jul 2011 07:56:14 GMT
Yes, it's a good idea. Usually it serves a purpose for evaluation
only. You know the relative strength of recommendations, and know how
much ranking them 1st, 2nd, 3rd, etc biases the user to click on them.
So you can predict how many clicks each should relatively get. And you
can easily pull up recommendation #10 if you want to see if it gets
unusually more clicks than you'd expect. This tells you there's
something suboptimal about recs if so.

Don't make similarity change randomly. It is supposed to have
properties like symmetry and transitivity, which would then break.

You can make the neighborhood pick other users, yes. But I think the
most direct way to do this is to reorder the final recommendations.
That works for any implementation. So I would do #2.

But again I would not do this just for its own sake; on its face, it
hurts recommendation quality. Do so if you are using it to evaluate

On Fri, Jul 1, 2011 at 7:42 PM, Salil Apte <> wrote:
> My first post to the Mahout group. First, Mahout devs, you have created
> something great so thanks!
> I have inherited some Mahout code and am trying to make some improvements. I
> was hoping to get some guidance.
> 1. We are using the NearestNUserNeighborhood class for neighborhood
> calculations. While I want to use the similarity metrics provided in Mahout,
> I also want to introduce some randomness. In effect, I want to include a few
> people into the final nearest neighbors set that are not actually that
> close. That way, my recommender will include some outliers into the results
> which is a desirable property for our recommender. What's the best way of
> doing this? I can of course implement my own similarity metric (which could
> internally use PearsonCorrelationSimilarity) and then randomly give a high
> correlation number to certain people. But is there a better way?
> 2. I also want to introduce some randomness into the final recommended set.
> I am thinking I can do this by creating a custom IDRescorer and randomly
> bumping up the score for some of the items. This will of course require some
> tweaking (how often an item gets a bump, how much of a bump does it get,
> etc.) but is there a better way of going about this?
> Thanks for the help!
> -Salil

View raw message