Examples of RunningAverageAndStdDev


Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

   * Standard deviation of normalized producer accuracy
   * Not a standard score
   * @return double
   */
  public RunningAverageAndStdDev getNormalizedStats() {
    RunningAverageAndStdDev summer = new FullRunningAverageAndStdDev();
    for (int d = 0; d < confusionMatrix.length; d++) {
      double total = 0;
      for (int j = 0; j < confusionMatrix.length; j++) {
        total += confusionMatrix[d][j];
      }
      summer.addDatum(confusionMatrix[d][d] / (total + 0.000001));
    }
   
    return summer;
  }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

  private static Collection<Callable<Void>> wrapWithStatsCallables(Collection<Callable<Void>> callables) {
    int size = callables.size();
    Collection<Callable<Void>> wrapped = Lists.newArrayListWithExpectedSize(size);
    int count = 1;
    RunningAverageAndStdDev timing = new FullRunningAverageAndStdDev();
    for (Callable<Void> callable : callables) {
      boolean logStats = count++ % 1000 == 0;
      wrapped.add(new StatsCallable(callable, logStats, timing));
    }
    return wrapped;
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

    returnString.append(confusionMatrix);
    returnString.append("=======================================================\n");
    returnString.append("Statistics\n");
    returnString.append("-------------------------------------------------------\n");
   
    RunningAverageAndStdDev normStats = confusionMatrix.getNormalizedStats();
    returnString.append(StringUtils.rightPad("Kappa", 40)).append(
      StringUtils.leftPad(decimalFormatter.format(confusionMatrix.getKappa()), 10)).append('\n');
    returnString.append(StringUtils.rightPad("Accuracy", 40)).append(
      StringUtils.leftPad(decimalFormatter.format(confusionMatrix.getAccuracy()), 10)).append("%\n");
    returnString.append(StringUtils.rightPad("Reliability", 40)).append(
      StringUtils.leftPad(decimalFormatter.format(normStats.getAverage() * 100.00000001), 10)).append("%\n");
    returnString.append(StringUtils.rightPad("Reliability (standard deviation)", 40)).append(
      StringUtils.leftPad(decimalFormatter.format(normStats.getStandardDeviation()), 10)).append('\n');
   
    if (hasLL) {
      returnString.append(StringUtils.rightPad("Log-likelihood", 30)).append("mean      : ").append(
        StringUtils.leftPad(decimalFormatter.format(summarizer.getMean()), 10)).append('\n');
      returnString.append(StringUtils.rightPad("", 30)).append(StringUtils.rightPad("25%-ile   : ", 10)).append(
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

    refresh(null);
  }
 
  @Override
  public float getTransformedValue(Preference pref) throws TasteException {
    RunningAverageAndStdDev meanAndStdev = meanAndStdevs.get(pref.getUserID());
    if (meanAndStdev.getCount() > 1) {
      double stdev = meanAndStdev.getStandardDeviation();
      if (stdev > 0.0) {
        return (float) ((pref.getValue() - meanAndStdev.getAverage()) / stdev);
      }
    }
    return 0.0f;
  }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

 
  private class MeanStdevRetriever implements Retriever<Long,RunningAverageAndStdDev> {
   
    @Override
    public RunningAverageAndStdDev get(Long userID) throws TasteException {
      RunningAverageAndStdDev running = new FullRunningAverageAndStdDev();
      PreferenceArray prefs = dataModel.getPreferencesFromUser(userID);
      int size = prefs.length();
      for (int i = 0; i < size; i++) {
        running.addDatum(prefs.getValue(i));
      }
      return running;
    }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

  private static double computeThreshold(PreferenceArray prefs) {
    if (prefs.length() < 2) {
      // Not enough data points -- return a threshold that allows everything
      return Double.NEGATIVE_INFINITY;
    }
    RunningAverageAndStdDev stdDev = new FullRunningAverageAndStdDev();
    int size = prefs.length();
    for (int i = 0; i < size; i++) {
      stdDev.addDatum(prefs.getValue(i));
    }
    return stdDev.getAverage() + stdDev.getStandardDeviation();
  }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

    for (Map.Entry<Long,PreferenceArray> entry : testPrefs.entrySet()) {
      estimateCallables.add(
          new PreferenceEstimateCallable(recommender, entry.getKey(), entry.getValue(), noEstimateCounter));
    }
    log.info("Beginning evaluation of {} users", estimateCallables.size());
    RunningAverageAndStdDev timing = new FullRunningAverageAndStdDev();
    execute(estimateCallables, noEstimateCounter, timing);
    return computeFinalEvaluation();
  }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

    Collection<Callable<Void>> callables = Lists.newArrayList();
    while (userSampler.hasNext()) {
      callables.add(new LoadCallable(recommender, userSampler.next()));
    }
    AtomicInteger noEstimateCounter = new AtomicInteger();
    RunningAverageAndStdDev timing = new FullRunningAverageAndStdDev();
    AbstractDifferenceRecommenderEvaluator.execute(callables, noEstimateCounter, timing);
    return new LoadStatistics(timing);
  }
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

      long userID = validationPrefs.get(0).getUserID();
      estimateCallables.add(
          new PreferenceEstimateCallable(recommender, userID, validationPrefs, noEstimateCounter));
    }

    RunningAverageAndStdDev timing = new FullRunningAverageAndStdDev();
    execute(estimateCallables, noEstimateCounter, timing);

    double result = computeFinalEvaluation();
    log.info("Evaluation result: {}", result);
    return result;
View Full Code Here

Examples of org.apache.mahout.cf.taste.impl.common.RunningAverageAndStdDev

    refresh(null);
  }

  @Override
  public float getTransformedValue(Preference pref) throws TasteException {
    RunningAverageAndStdDev meanAndStdev = meanAndStdevs.get(pref.getUserID());
    if (meanAndStdev.getCount() > 1) {
      double stdev = meanAndStdev.getStandardDeviation();
      if (stdev > 0.0) {
        return (float) ((pref.getValue() - meanAndStdev.getAverage()) / stdev);
      }
    }
    return 0.0f;
  }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.