As in the example data 'intro.csv' in the MIA it has users 1-5 so if I ask for recommendations for user 1 then this works but if I ask for recommendations for user 6 (a new user yet to be added to the data model) then I get no recommendations ... so if I substitute users for orders then again I will get no recommendations ... which I sort of understand so do I need to inject my 'new' active order; along with its attached item/s into the data model first and then ask for the recommendations for the order by offering up the new orderId? or is there a way of merely offering up an 'item' and then getting recommendations based merely on the item using the data already stored and the relationships with my item?
My assumptions: #1 I am assuming the data model is a static island of data that has been processed (flattened) overnight (most probably by an Hadoop process) due to the size of this data ... rather than a living document that is updated as soon as new data is available. #2 I'm also assuming that instead of reading in the data model and providing recommendations 'on the fly' I will have to run thru every item in my catalogue and find out the top 5 recommended items that are ordered with each item (most probably via a Hadoop process) and then store this output in dynamoDb or luncene for quick access. Sorry for all the questions but it such an interesting subject. On 11 April 2013 22:04, Ted Dunning <ted.dunn...@gmail.com> wrote: > Actually, making this user based is a really good thing because you get > recommendations from one session to the next. These may be much more > valuable for cross-sell than things in the same order. > > > On Thu, Apr 11, 2013 at 12:50 PM, Sean Owen <sro...@gmail.com> wrote: > >> You can try treating your orders as the 'users'. Then just compute >> item-item similarities per usual. >> >> On Thu, Apr 11, 2013 at 7:59 PM, Billy <b...@ntlworld.com> wrote: >> > Thanks for replying, >> > >> > >> > I don't have users, well I do :-) but in this case it should not >> influence >> > the recommendations >> > >> > , >> > these need to be based on the relationship between >> > " >> > items ordered with other items >> > in the 'same order' >> > ". >> > >> > E.g. If item #1 has been order with item #4 >> > >> > [ >> > 22 >> > ] >> > times and item #1 has been order with item #9 >> > [ >> > 57 >> > ] >> > times then >> > if I added item #1 to my order >> > these would both be recommended >> > but item #9 would be recommended above item #4 purely based on the fact >> that >> > the relationship between item #1 and item #9 is greater than the >> > relationship with item #4. >> > >> > What I don't want is; if a user ordered items #A, #B, #C separately >> > 'at some point in their order history' then recommen >> > d #A and #C to other users who order #B ... I still don't want this if >> the >> > items are similar and/or the users similar. >> > >> > Cheers >> > >> > Billy >> > >> > >> > >> > On 11 Apr 2013 18:28, "Sean Owen" <sro...@gmail.com> wrote: >> >> >> >> This sounds like just a most-similar-items problem. That's good news >> >> because that's simpler. The only question is how you want to compute >> >> item-item similarities. That could be based on user-item interactions. >> >> If you're on Hadoop, try the RowSimilarityJob (where you will need >> >> rows to be items, columns the users). >> >> >> >> On Thu, Apr 11, 2013 at 6:11 PM, Billy <b...@ntlworld.com> wrote: >> >> > I am very new to Mahout and currently just ready up to chapter 5 of >> >> > 'MIA' >> >> > but after reading about the various User centric and Item centric >> >> > recommenders they all seem to still need a userId so still unsure if >> >> > Mahout >> >> > can help with a fairly common recommendation. >> >> > >> >> > My requirement is to produce 'n' item recommendations based on a >> chosen >> >> > item. >> >> > >> >> > E.g. "if I've added item #1 to my order then based on all the >> >> > other items; in all the other orders for this site, what are the >> >> > likely items that I may also want add to my order based; on the item >> to >> >> > item relationship in the history of orders of this site?" >> >> > >> >> > Most probably using the most popular relationship between the item I >> >> > have >> >> > chosen and all the items in all the other orders. >> >> > >> >> > My data is not 'user' specific; and I don't think it should be, but >> more >> >> > like order specific as its the pattern of items in each order that >> >> > should >> >> > determine the recommendation. >> >> > >> >> > I have no preference values so merely boolean preferences will be >> used. >> >> > >> >> > If Mahout can perform these calculations then how must I present the >> >> > data? >> >> > >> >> > Will I need to shape the data in some way to feed into Mahout >> (currently >> >> > versed in using Hadoop via Aws Emr using Java) >> >> > >> >> > Thanks for the advice in advance, >> >> > >> >> > Billy >> > >