[
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