I don't see this behavior. Each result is slightly different by about +/-2% when I run it, as expected.
On Thu, Sep 29, 2011 at 7:15 AM, Lance Norskog <[email protected]> wrote: > If you run this version of GroupLensRecommenderEvaluatorRunner, an odd > thing > happens. The first evaluation will be number X, the second will be Y, the > third will be Y, ..., the Nth will be Y. The same Y as the second and the > third and the fourth. The RecommenderEvaluator implementation is > stochastic, > but this should be a different number each time. Anyone know how this could > happen? (You can load the DataModel outside the loop, the numbers are the > same.) > > public static void main(String... args) throws IOException, > TasteException, > OptionException { > File ratingsFile = TasteOptionParser.getRatings(args); > long first = System.currentTimeMillis(); > long last = first; > for(int i = 0; i < 30; i++) { > DataModel model = ratingsFile == null ? new GroupLensDataModel() : new > GroupLensDataModel(ratingsFile); > RecommenderEvaluator evaluator = new > AverageAbsoluteDifferenceRecommenderEvaluator(); > double evaluation = evaluator.evaluate(new > GroupLensRecommenderBuilder(), > null, > model, > 0.9, > 0.3); > long now = System.currentTimeMillis(); > log.info("Result #{}: {}", i, String.valueOf(evaluation)); > log.info("\t{} ms", now - last); > last = System.currentTimeMillis(); > } > log.info("Total time: {} ms", last - first); > } > > > -- > Lance Norskog > [email protected] >
