You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@mahout.apache.org by Andre Panisson <pa...@di.unito.it> on 2009/04/15 16:02:49 UTC

Estimating detailed preferences

Hi Sean,
I have a doubt about estimating preferences with help of more  
information than only user and item ids. What if I have other  
information like date for example? I see that there is an  
implementation of DetailedPreference that provide an object container  
for this information, and I think it is simple to provide a dataModel  
with DetailedPreference as the base type of the preferences, and a  
Recommender that uses it to learn. But the problem is when I need to  
use the Recommender interface: it has a method  
estimatePreference(Object userID, Object itemID) where you can provide  
only user and item ids. I think it would be more straightforward to  
have a method estimatePreference(Preference pref), where the given  
Preference argument have only the preference value undefined. Then, in  
the method implementation, one could make casts and take all provided  
information. What you think?

André




Re: Estimating detailed preferences

Posted by Sean Owen <sr...@gmail.com>.
Yes it is up to you, or any caller, to extend existing DataModels to build
objects that carry more information. You can use this extra information in
customized alogrithms however you see fit. You do not just need to use
DetailedPreference. You are free to create other implementations with
whatever info you like.

Your specific question seems to be, rather than pass two 'ID' parameters, is
it better to pass them inside a Preference object? This seems more indirect
to me at first glance so I am inclined to say no.

If you mean you need information from the Preference that the user expresses
for the item - the method can look it up. From an API perspective, I do not
think the caller should be forced to do this. Does that still allow you to
get the behavior you want?

Sean

On Apr 15, 2009 3:03 PM, "Andre Panisson" <pa...@di.unito.it> wrote:

Hi Sean,
I have a doubt about estimating preferences with help of more information
than only user and item ids. What if I have other information like date for
example? I see that there is an implementation of DetailedPreference that
provide an object container for this information, and I think it is simple
to provide a dataModel with DetailedPreference as the base type of the
preferences, and a Recommender that uses it to learn. But the problem is
when I need to use the Recommender interface: it has a method
estimatePreference(Object userID, Object itemID) where you can provide only
user and item ids. I think it would be more straightforward to have a method
estimatePreference(Preference pref), where the given Preference argument
have only the preference value undefined. Then, in the method
implementation, one could make casts and take all provided information. What
you think?

André