[
https://issues.apache.org/jira/browse/MAHOUT-824?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13119181#comment-13119181
]
Sean Owen commented on MAHOUT-824:
----------------------------------
I don't have a paper; I am suggesting however that such pruning can even
improve the result. A diff based on 1 user is different than one based on 100
users' data. The pruning indeed appears dumb. Ideally it would at least throw
out a "poor" diff in favor of a new one that's better. But, under this scheme,
it's low-count diffs that are worst. And so a new 1-count diff is by definition
among the worst. So it's as optimal a strategy as anything. Put another way, if
you haven't seen an A-B diff at all in millions and millions of users, it's
unlikely to be of consequence.
> FastByIDRunningAverage: Optimize SlopeOneRecommender by optimizing
> MemoryDiffStorage
> ------------------------------------------------------------------------------------
>
> Key: MAHOUT-824
> URL: https://issues.apache.org/jira/browse/MAHOUT-824
> Project: Mahout
> Issue Type: Improvement
> Reporter: Lance Norskog
> Assignee: Sean Owen
> Priority: Trivial
> Fix For: 0.6
>
> Attachments: MAHOUT-824.patch, MAHOUT-824.short.patch
>
>
> The SlopeOneRecommender has by far the best RMS of all of the online
> recommenders in Mahout (that I've found). Unfortunately the implementation
> also uses much more memory and is unuseable on my laptop.
> This patch optimizes memory (and speed) by folding
> FastByIDMap<RunningAverage> into one class: FastByIDRunningAverage. This is
> what it sounds like: a Long-addressable array of running averages (and
> optionally standard deviation).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators:
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira