Hi again, 
When I do the itembased recommendation, I find there are some latency in 
getAllOtherItems(long userID). Because it is calculating the items' neighbors 
and merge these neighbors together. So I am thinking if I precompute each 
item's neighbors and store in the database, then when I getAllOtherItems(), I 
could merge these neighbors directly. Is this useful for reducing the latency? 
Or is there other way to make the online-recommendation much faster?
Thank you.




>Yes you probably want a new, separate table. You have an extra step of
>computing some notion of similarity anyway, and you probably want to
>separate this table from your main data table anyhow for reasons of
>performance and business logic separation.
>
>2010/7/19 Young <[email protected]>:
>> So my prpblem is that I want to build datamodel based on what user has 
>> bought or added to their favorite or rated.
>> You mean I need a table describe all these user behavior. For example, if 
>> user buys one item, I guess the user preference is 4 and add into this table?
>>
>>
>>
>>
>>>No, you need one table (or view if you like) containing all data. If
>>>you can't do this, you could write your own copy of a JDBCDataModel
>>>that can query multiple tables, or, that changes its SQL queries to
>>>use UNION statements. I imagine it will slow down a lot.
>>>
>>>If you mean, can you use a table with preferences with a model that
>>>ignores preferences, sure you can. The extra column is ignored.
>>>
>>>2010/7/19 Young <[email protected]>:
>>>> Hi,
>>>> I have three tables, one is with preference and another two are without 
>>>> preference. Does mahout have some algorithm to integret these tables into 
>>>> one datamodel?
>>>>
>>>> Thank you
>>

Reply via email to