Hi Amrhal, combining data for a recommender from two data sources is current research. Search for ensemble learning or blending learners. Basically the combination of multiple learners is called blending. (http://pragmatictheory.blogspot.de/2008/07/blending-101.html). Blending different models is currently one of the most important features to get these great accuracy's like in the NetFlix Price or blending offline and online learning methods to do something in semi realtime (Fast Online Learning through Offline Initialization for Time-sensitive Recommendation - http://users.cis.fiu.edu/~lzhen001/activities/KDD_USB_key_2010/docs/p703.pdf).
I recommend the chapter Combining Multiple Learners from Introduction to Machine Learning. (http://www.amazon.com/Introduction-Machine-Learning-Adaptive-Computation/dp/026201243X/) As far as I know there are currently no ensemble or blending learners in Mahout. Here you find a block diagram how such a data model could look like: https://source.apaxo.de/svn/semrecsys/trunk/doc/images/SemanticRecommenderDataModel.pdf In the block diagram you see 3 data source: explicit ratings, implicit views and explicit purchases. This data model should be optimized to sell as much products as possible. So a customer can interact in up to 3 ways with a product view it, rate it, and buy it. You could call these different contexts and then use different contexts for learning (see Workshop on Context-Aware Recommender Systems 2009/2010/2011). e.g. you could use Tensor Factorization etc. Further you have to differentiate between the data model and the learner (recommender). I just describe how to make the learner more accurate and use data from different sources. If you just keep the same data for the same context in your Oracle database then it won't be very complicated to integrate it with the MySQL database. Have a great week Manuel On 30.04.2012, at 23:37, Amrhal Lelasm wrote: > > Thank you Sean but what I want is to combine the input data I'm getting from > two severs before feeding it to the recommender.It's more like appending the > data of > MySQLJDBCDataModel with MyOracleJDBCDataModel(which I reckon I have to > implement) and then sorting the data from the two database servers and > finally giving it to the recommender engine. > > >> Date: Mon, 30 Apr 2012 06:38:03 +0100 >> Subject: Re: integrating databases >> From: [email protected] >> To: [email protected] >> >> Can you connect to an Oracle database? sure, just do so. I think the >> SQL just works, but you'll find out. >> >> On Mon, Apr 30, 2012 at 2:36 AM, Amrhal Lelasm <[email protected]> wrote: >>> >>> I had a nice week playing with the Mahout CF Libray and its >>> MySQLJDBCDataModel to get the input data from a database. >>> But then this idea occurred to me. I have another sever with similar data >>> sets, which is running another database server, Oracle, namely. >>> >>> >>> I'm wondering how I can combine these two to get the input data for my >>> recommender engine. Do, I start by implementing the the JDBCDataModel or ? >>> >>> >>> I appreciate any insight you might have for this? >>> >>> >>> >>> >>> >>> >>> >>> >>> > -- Manuel Blechschmidt Dortustr. 57 14467 Potsdam Mobil: 0173/6322621 Twitter: http://twitter.com/Manuel_B
