You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@mahout.apache.org by "Sebastian Schelter (JIRA)" <ji...@apache.org> on 2011/04/10 20:04:05 UTC
[jira] [Commented] (MAHOUT-640) Implementation of refresh in
SVDRecommender
[ https://issues.apache.org/jira/browse/MAHOUT-640?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13018120#comment-13018120 ]
Sebastian Schelter commented on MAHOUT-640:
-------------------------------------------
Hi Chris,
the patch looks very good. I found out that being able to persist the resulting factorization is really a useful and necessary feature after I accidentally computed the wrong predictions after a 10 hour training run last week and my factorization was gone after the program terminated...
The only thing to reconsider in your patch IMHO would be how the factorization is persisted. I think it is better to have another class that can take a factorization and write it to some output than have the factorization persist itself. This would also give users the possibility to plug in their own customized persistance strategy. And I think I binary format would be better as default because it needs less memory.
Furthermore I think we should not introduce another SVDRecommender implementation (as this patch does with PersistentSVDRecommender) but rather modify the existing SVDRecommender. It has become a common pattern that our Recommender classes can be given "strategies" from outside so that users can control how different steps are done. An example of this would be org.apache.mahout.cf.taste.recommender.CandidateItemsStrategy which controls how the recommenders select the initial set of items that can possibly be recommended before those are ranked. I imagine that we could give a kind of "PersistanceStrategy" to the SVDRecommender which controls whether and how the factorization is persisted. A default could be not to persist it and we would supply an implementation that saves it to a file.
What do you think about these suggestions?
> Implementation of refresh in SVDRecommender
> -------------------------------------------
>
> Key: MAHOUT-640
> URL: https://issues.apache.org/jira/browse/MAHOUT-640
> Project: Mahout
> Issue Type: Improvement
> Components: Collaborative Filtering
> Affects Versions: 0.4
> Reporter: Chris Newell
> Assignee: Sean Owen
> Priority: Minor
> Fix For: 0.5
>
> Attachments: refreshable_svd.patch, refreshable_svd_v2.patch
>
> Original Estimate: 408h
> Remaining Estimate: 408h
>
> SVDRecommender (in package org.apache.mahout.cf.taste.impl.recommender.svd) and associated classes do not properly implement refresh.
> Plan:
> - make the AbstractFactorizer class implement refreshable.
> - complete the implementation of refresh in SVDRecommender.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira