Hi Mahmut, I also implemented an evaluator today which does a simple split and it is running pretty fast but it would be great if you could share your code so that I can work out if I am missing anything. In my implementation I take a parameter from user which decides the percentage os split say 0.6 would mean a 60-40 train to test split and them I generate a single model with the 60 percent train data and use the same model to evaluate each user an use the 40% test split to validate, i.e. to calculate precision, recall, etc.
Thanks and regards. On Fri, Jun 5, 2015 at 4:15 PM, Mahmut Özge Karakaya <[email protected]> wrote: > Hi Bhaskar, > > I used to have same problem and implemented a similar evaluator as you have > mentioned. > It's really much faster than original version. > Moreover in my version splitted dataset is an input since I use it for > several tests. > I may share the code or we may work on this. > > Regards. > > > 2015-06-05 9:51 GMT+03:00 Bhaskar Bagchi <[email protected]>: > > > Hi, > > > > I was working with the GenericRecommenderIRStatsEvaluator when I noticed > > that the GenericRelevantItemsDataSplitter.java class only removes the > *good > > user preferences* for the user for which the evaluation is being run and > > keeps all the other data points and builds the data point for every user > > separately before evaluation. This makes the loop O(n^2). > > > > Why don't we make a single split of data using the percentage provided by > > the user and build a single recommender model using this split, which can > > be used to evaluate all the users? This will make the evaluator pretty > > fast. > > > > Can anyone help me with making a single data split for evaluation? > > > > -- > > Thanks and Regards > > > > Bhaskar Bagchi > > Data Science Intern > > TinyOwl > > > -- Regards Bhaskar Bagchi Data Science Intern (+91) 9455625419
