For SVD based algorithms, you would should use the AllUnknownItems
Strategy then, thats correct.
In the majority of industry usecases that I have seen, people use
pre-computed item similarities (Mahout has lots of machinery for doing
this, btw), so AllSimilarItems totally makes sense there.
It can even make things worse in SVD-based algorithms for which
preference estimation is very fast.
On Wed, Mar 5, 2014 at 7:00 PM, Tevfik Aytekin wrote:
> Hi Sebastian,
> But in order not to select items that is not similar to at least one
> of the items the user interacted with you have to comp
I agree. IMHO using the Mahout recommenders is wrong for this. The recommenders
are the CF/cooccurrence type that expect usage or rating data on fairly long
lived items from a somewhat static catalog. Trying to make them work for
content based recommendations is needlessly difficult especially s
Hi Sebastian,
But in order not to select items that is not similar to at least one
of the items the user interacted with you have to compute the
similarity with all user items (which is the main task for estimating
the preference of an item in item-based method). So, it seems to me
that AllSimilarI
> So both strategies seems to be effectively the same, I don't know what
> the implementers had in mind when designing
> AllSimilarItemsCandidateItemsStrategy.
It can take a long time to estimate preferences for all items a user
doesn't know. Especially if you have a lot of items. Traditional
i
If the similarity between item 5 and two of the items user 1 preferred are not
NaN then it will return 1, that is what I'm saying. If the
similarities were all NaN then
it will not return it.
But surely, you might wonder if all similarities between an item and
user's items are NaN, then
AllUnknown
@Tevfik, running this recommender:
GenericItemBasedRecommender itemRecommender = new
GenericItemBasedRecommender(dataModel, itemSimilarity, new
AllSimilarItemsCandidateItemsStrategy(itemSimilarity), new
AllSimilarItemsCandidateItemsStrategy(itemSimilarity));
With this dataModel:
1,1,1.0
1,2,2.0
@Pat. You described my situation very well. The only additional thing is
that I am also interested in creating some sort of a profile from the user
with all the information s/he has provided by interacting with the articles
and not only recommending similar items (news) based on a specific input.
T
I am ignoring the rest of the thread because I suspect it may have gotten off
track.
Your data is new articles, right? You would like to recommend from known
articles to any user based on an article they rate or even view. You have no
collaborative filtering data because the lifetime of a news
Juan,
You got me wrong,
AllSimilarItemsCandidateItemsStrategy
returns all items that have not been rated by the user and the
similarity metric returns a non-NaN similarity value with at
least one of the items preferred by the user.
So, it does not simply return all items that have not been rated
Hi Tefik,
Thanks for the response. I think what you says contradicts what Sebastian
pointed out before. Also, if AllSimilarItemsCandidateItemsStrategy returns
all items that have not been rated by the user, what would
AllUnknownItemsCandidateItemsStrategy return?
On Wed, Mar 5, 2014 at 1:40 PM,
Sorry there was a typo in the previous paragraph.
If I remember correctly, AllSimilarItemsCandidateItemsStrategy
returns all items that have not been rated by the user and the
similarity metric returns a non-NaN similarity value with at
least one of the items preferred by the user.
On Wed, Mar 5
Hi Juan,
If I remember correctly, AllSimilarItemsCandidateItemsStrategy
returns all items that have not been rated by the user and the
similarity metric returns a non-NaN similarity value that is with at
least one of the items preferred by the user.
Tevfik
On Wed, Mar 5, 2014 at 2:30 PM, Sebast
On 03/05/2014 01:23 PM, Juan José Ramos wrote:
Thanks for the reply, Sebastian.
I am not sure if that should be implemented in the Abstract base class
though because for
instance PreferredItemsNeighborhoodCandidateItemsStrategy, by definition,
it returns the item not rated by the user and rated
Thanks for the reply, Sebastian.
I am not sure if that should be implemented in the Abstract base class
though because for
instance PreferredItemsNeighborhoodCandidateItemsStrategy, by definition,
it returns the item not rated by the user and rated by somebody else.
Back to my last post, I have b
Hi Juan,
that is a good catch. CandidateItemsStrategy is the right place to
implement this. Maybe we should simply extend its interface to add a
parameter that says whether to keep or remove the current users items?
We could even do this in the abstract base class then.
--sebastian
On 03/05
In case somebody runs into the same situation, the key seems to be in the
CandidateItemStrategy being passed to the constructor
of GenericItemBasedRecommender. Looking into the code, if no
CandidateItemStrategy is specified in the
constructor, PreferredItemsNeighborhoodCandidateItemsStrategy is use
First thing is thatI know this requirement would not make sense in a CF
Recommender. In my case, I am trying to use Mahout to create something
closer to a Content-Based Recommender.
In particular, I am pre-computing a similarity matrix between all the
documents (items) of my catalogue and using th
18 matches
Mail list logo