When you swap users and items, then you have 2M items. And if you're
using a recommender based on item-item similarities, then it's going
to be incredibly slow since there are so many pairs to consider. You
have to set some of the pruning / sampling values to limit what is
searched for it to be at all feasible.

With 9000 items you were getting away with no sampling since it was so small.

CandidateItemStrategy and its implementations are what you need to look at.

Sean

On Sun, Apr 15, 2012 at 5:59 PM, Will Chiong <[email protected]> wrote:
> Ah, I see...
>
> I tried this and unfortunately the recommendations are extremely slow when I 
> invert the data model.
>
> I have about 2 million users, and 9000 items.
>
> The normal recommendations I did before (recommending items for users) takes 
> only seconds.
>
> When I tried your suggestion to suggest an audience of users for an item, a 
> recommend call took over an hour.  Are there any suggestions for improving 
> the speed of recommendations, or specific recommenders to use for this kind 
> of dataset?
>
> Thanks again,
>
> -Will
>
>
> On Apr 14, 2012, at 3:38 AM, Burak Arikan wrote:
>
>> In other words, turning your "UserID, ItemID, rank" list to a "ItemID, 
>> UserID, rank" list will generate user recommendations to items.
>>
>> Cheers,
>> burak
>> @arikan
>>
>> On Apr 14, 2012, at 10:32 AM, Burak Arikan <[email protected]> wrote:
>>
>>> Replace the userIDs with itemIDs in your csv data, that will do it.
>>>
>>> Cheers,
>>> burak
>>> @arikan
>>>
>>> On Apr 14, 2012, at 8:17 AM, Will C <[email protected]> wrote:
>>>
>>>> So I've seen methods to have Mahout Taste recommend items for a user, such
>>>> as:
>>>> https://builds.apache.org/job/Mahout-Quality/javadoc/org/apache/mahout/cf/taste/recommender/Recommender.html#recommend(long,
>>>> int)
>>>>
>>>> Is there the equivalent for the opposite, where I want to find a set of
>>>> users that can be recommended a product?
>

Reply via email to