Yes, getCandidateItems() needs to be modified as well.

--sebastian

On 05/02/2014 10:39 AM, dodi hakim wrote:
Ok, but these methods are called in many places. Furthermore, the
recommend() is only the entry point to call getCandidateItem() method
in AbstractCandidateItemsStrategy class, so we still need to add a
parameter in the getCandidateItem() method.



On 2 May 2014 17:45, Sebastian Schelter <[email protected]> wrote:

I think it would be better to add a parameter to the recommend() methods
so that this can be decided on a per invocation basis.

--sebastian


On 05/02/2014 09:40 AM, dodi hakim wrote:

Thanks,

My proposed solution for this is to add  a method in Recommender interface
(e.g isUserItemInclude) and pass a Recommender class in method
   getCandidateItem in both CandidateItemStrategy and
MostSimilarItemsCandidateItemsStrategy interfaces. For example, in
  method
doGetCandidateItems of PreferredItemsNeighborhoodCandidateItemsStrategy
class - that implements these two interfaces, it has line
possibleItemsIDs.removeAll(preferredItemIDs) to remove user's preferable
items.

In addition, we need to list which Recommender classes that including/not
user's item in returned recommendation.

Any advice and suggestions will be greatly appreciate.

Thanks,


Dodi








On 2 May 2014 16:53, Sebastian Schelter (JIRA) <[email protected]> wrote:


       [
https://issues.apache.org/jira/browse/MAHOUT-1428?page=
com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel]

Sebastian Schelter reopened MAHOUT-1428:
----------------------------------------


here you are

  Recommending already consumed items
-----------------------------------

                  Key: MAHOUT-1428
                  URL: https://issues.apache.org/jira/browse/MAHOUT-1428
              Project: Mahout
           Issue Type: Bug
           Components: Collaborative Filtering
             Reporter: Mario Levitin
              Fix For: 1.0


Mahout does not recommend items which are already consumed by the user.
For example,
In the getAllOtherItems method of GenericUserBasedRecommender class

there is the following line

possibleItemIDs.removeAll(dataModel.getItemIDsFromUser(theUserID));
which removes user's items from the possibleItemIDs to prevent these

items from being recommended to the user. This is ok for many
recommendation cases but for many other cases it is not.

The Recommender classes  (I mean all of them, NN-based and SVD-based as

well as hadoop and non-hadoop versions) might have a parameter for this
for
excluding or not excluding user items in the returned recommendations.



--
This message was sent by Atlassian JIRA
(v6.2#6252)







Reply via email to