Example #1
0
 @Override
 public double evaluate(
     JavaSparkContext sparkContext, PMML model, Path modelParentPath, JavaRDD<String> testData) {
   log.info("Evaluating model");
   JavaRDD<Rating> testRatingData = parsedToRatingRDD(toParsedRDD(testData));
   testRatingData = aggregateScores(testRatingData);
   MatrixFactorizationModel mfModel = pmmlToMFModel(sparkContext, model, modelParentPath);
   double eval;
   if (implicit) {
     double auc = AUC.areaUnderCurve(sparkContext, mfModel, testRatingData);
     log.info("AUC: {}", auc);
     eval = auc;
   } else {
     double rmse = RMSE.rmse(mfModel, testRatingData);
     log.info("RMSE: {}", rmse);
     eval = 1.0 / rmse;
   }
   return eval;
 }