Examples of Auc


Examples of edu.uci.jforestsx.eval.AUC

    }
  }

  protected EvaluationMetric getEvaluationMetric(String name) throws Exception {
    if (name.equals("AUC")) {
      return new AUC();
    } else if (name.equals("RMSE")) {
      return new RMSE();
    } else if (name.equals("Accuracy")) {
      return new Accuracy();
    } else if (name.equals("BalancedYoundenIndex")) {
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

public class AucExample {

  public static void main(String[] args) throws IOException {
    String inputFile = args[1];
   
    Auc x1 = new Auc();
    OnlineAuc x2 = new GlobalOnlineAuc();
    BufferedReader in = new BufferedReader(new FileReader(inputFile));
    int lineCount = 0;
    String line = in.readLine();
    while (line != null) {
      lineCount++;
      String[] pieces = line.split(",");
      double score = Double.parseDouble(pieces[0]);
      int target = Integer.parseInt(pieces[1]);
      x1.add(target, score);
      x2.addSample(target, score);
      if (lineCount%500 == 0) {
        System.out.printf("%10d\t%10.3f\t%10d\t%.3f\n",
                   lineCount, score, target, x2.auc());
      }
      line = in.readLine();
    }

    System.out.printf("%d lines read\n", lineCount);
    System.out.printf("%10.2f = batch estimate\n", x1.auc());
    System.out.printf("%10.2f = on-line estimate\n", x2.auc())
    }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = new Auc();
      LogisticModelParameters lmp = LogisticModelParameters.loadFrom(new File(modelFile));

      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      OnlineLogisticRegression lr = lmp.createRegression();
      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        System.out.printf("\"%s\",\"%s\",\"%s\"\n", "target", "model-output", "log-likelihood");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        int target = csv.processLine(line, v);
        double score = lr.classifyScalar(v);
        if (showScores) {
          System.out.printf("%d,%.3f,%.6f\n", target, score, lr.logLikelihood(target, v));
        }
        collector.add(target, score);
        line = in.readLine();
      }

      if (showAuc) {
        System.out.printf("AUC = %.2f\n", collector.auc());
      }
      if (showConfusion) {
        Matrix m = collector.confusion();
        System.out.printf("confusion: [[%.1f, %.1f], [%.1f, %.1f]]\n",
            m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
        m = collector.entropy();
        System.out.printf("entropy: [[%.1f, %.1f], [%.1f, %.1f]]\n",
            m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
      }
    }
  }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = null;
      AdaptiveLogisticModelParameters lmp = AdaptiveLogisticModelParameters
          .loadFromFile(new File(modelFile));
      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      AdaptiveLogisticRegression lr = lmp.createAdaptiveLogisticRegression();     
     
      if (lmp.getTargetCategories().size() <=2 ) {
        collector = new Auc();
      }
     
      OnlineSummarizer slh = new OnlineSummarizer();
      ConfusionMatrix cm = new ConfusionMatrix(lmp.getTargetCategories(), defaultCategory);

      State<Wrapper, CrossFoldLearner> best = lr.getBest();
      if (best == null) {
        output.printf("%s\n",
            "AdaptiveLogisticRegression has not be trained probably.");
        return;
      }
      CrossFoldLearner learner = best.getPayload().getLearner();

      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        output.printf(Locale.ENGLISH, "\"%s\", \"%s\", \"%s\", \"%s\"\n",
            "target", "model-output", "log-likelihood", "average-likelihood");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        //TODO: How to avoid extra target values not shown in the training process.
        int target = csv.processLine(line, v);
        double likelihood = learner.logLikelihood(target, v);
        double score = learner.classifyFull(v).maxValue();
       
        slh.add(likelihood);
        cm.addInstance(csv.getTargetString(line), csv.getTargetLabel(target));       
       
        if (showScores) {
          output.printf(Locale.ENGLISH, "%8d, %.12f, %.13f, %.13f\n", target,
              score, learner.logLikelihood(target, v), slh.getMean());
        }
        if (collector != null) {
          collector.add(target, score);
        }
        line = in.readLine();
      }
     
      output.printf(Locale.ENGLISH,"\nLog-likelihood:");
      output.printf(Locale.ENGLISH, "Min=%.2f, Max=%.2f, Mean=%.2f, Median=%.2f\n",
          slh.getMin(), slh.getMax(), slh.getMean(), slh.getMedian());

      if (collector != null) {       
        output.printf(Locale.ENGLISH, "\nAUC = %.2f\n", collector.auc());       
      }
     
      if (showConfusion) {
        output.printf(Locale.ENGLISH, "\n%s\n\n", cm.toString());
       
        if (collector != null){
          Matrix m = collector.entropy();
          output.printf(Locale.ENGLISH,
              "Entropy Matrix: [[%.1f, %.1f], [%.1f, %.1f]]\n", m.get(0, 0),
              m.get(1, 0), m.get(0, 1), m.get(1, 1));
        }       
      }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      a2.setPolicy(FIFO);

      OnlineAuc a3 = new GlobalOnlineAuc();
      a3.setPolicy(RANDOM);

      Auc a4 = new Auc();

      for (int j = 0; j < 10000; j++) {
        double x = gen.nextGaussian();

        a1.addSample(0, x);
        a2.addSample(0, x);
        a3.addSample(0, x);
        a4.add(0, x);

        x = gen.nextGaussian() + 1;

        a1.addSample(1, x);
        a2.addSample(1, x);
        a3.addSample(1, x);
        a4.add(1, x);
      }

      stats[0].add(a1.auc());
      stats[1].add(a2.auc());
      stats[2].add(a3.auc());
      stats[3].add(a4.auc());
    }
   
    int i = 0;
    for (GlobalOnlineAuc.ReplacementPolicy policy : new GlobalOnlineAuc.ReplacementPolicy[]{FAIR, FIFO, RANDOM, null}) {
      OnlineSummarizer summary = stats[i++];
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = null;
      AdaptiveLogisticModelParameters lmp = AdaptiveLogisticModelParameters
          .loadFromFile(new File(modelFile));
      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      AdaptiveLogisticRegression lr = lmp.createAdaptiveLogisticRegression();     

      if (lmp.getTargetCategories().size() <= 2) {
        collector = new Auc();
      }

      OnlineSummarizer slh = new OnlineSummarizer();
      ConfusionMatrix cm = new ConfusionMatrix(lmp.getTargetCategories(), defaultCategory);

      State<Wrapper, CrossFoldLearner> best = lr.getBest();
      if (best == null) {
        output.println("AdaptiveLogisticRegression has not be trained probably.");
        return;
      }
      CrossFoldLearner learner = best.getPayload().getLearner();

      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        output.println("\"target\", \"model-output\", \"log-likelihood\", \"average-likelihood\"");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        //TODO: How to avoid extra target values not shown in the training process.
        int target = csv.processLine(line, v);
        double likelihood = learner.logLikelihood(target, v);
        double score = learner.classifyFull(v).maxValue();

        slh.add(likelihood);
        cm.addInstance(csv.getTargetString(line), csv.getTargetLabel(target));       

        if (showScores) {
          output.printf(Locale.ENGLISH, "%8d, %.12f, %.13f, %.13f%n", target,
              score, learner.logLikelihood(target, v), slh.getMean());
        }
        if (collector != null) {
          collector.add(target, score);
        }
        line = in.readLine();
      }

      output.printf(Locale.ENGLISH,"\nLog-likelihood:");
      output.printf(Locale.ENGLISH, "Min=%.2f, Max=%.2f, Mean=%.2f, Median=%.2f%n",
          slh.getMin(), slh.getMax(), slh.getMean(), slh.getMedian());

      if (collector != null) {       
        output.printf(Locale.ENGLISH, "%nAUC = %.2f%n", collector.auc());
      }

      if (showConfusion) {
        output.printf(Locale.ENGLISH, "%n%s%n%n", cm.toString());

        if (collector != null) {
          Matrix m = collector.entropy();
          output.printf(Locale.ENGLISH,
              "Entropy Matrix: [[%.1f, %.1f], [%.1f, %.1f]]%n", m.get(0, 0),
              m.get(1, 0), m.get(0, 1), m.get(1, 1));
        }       
      }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = new Auc();
      LogisticModelParameters lmp = LogisticModelParameters.loadFrom(new File(modelFile));

      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      OnlineLogisticRegression lr = lmp.createRegression();
      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        output.println("\"target\",\"model-output\",\"log-likelihood\"");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        int target = csv.processLine(line, v);

        double score = lr.classifyScalar(v);
        if (showScores) {
          output.printf(Locale.ENGLISH, "%d,%.3f,%.6f%n", target, score, lr.logLikelihood(target, v));
        }
        collector.add(target, score);
        line = in.readLine();
      }

      if (showAuc) {
        output.printf(Locale.ENGLISH, "AUC = %.2f%n", collector.auc());
      }
      if (showConfusion) {
        Matrix m = collector.confusion();
        output.printf(Locale.ENGLISH, "confusion: [[%.1f, %.1f], [%.1f, %.1f]]%n",
          m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
        m = collector.entropy();
        output.printf(Locale.ENGLISH, "entropy: [[%.1f, %.1f], [%.1f, %.1f]]%n",
          m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
      }
    }
  }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      a2.setPolicy(GlobalOnlineAuc.ReplacementPolicy.FIFO);

      OnlineAuc a3 = new GlobalOnlineAuc();
      a3.setPolicy(GlobalOnlineAuc.ReplacementPolicy.RANDOM);

      Auc a4 = new Auc();

      for (int j = 0; j < 10000; j++) {
        double x = gen.nextGaussian();

        a1.addSample(0, x);
        a2.addSample(0, x);
        a3.addSample(0, x);
        a4.add(0, x);

        x = gen.nextGaussian() + 1;

        a1.addSample(1, x);
        a2.addSample(1, x);
        a3.addSample(1, x);
        a4.add(1, x);
      }

      stats[0].add(a1.auc());
      stats[1].add(a2.auc());
      stats[2].add(a3.auc());
      stats[3].add(a4.auc());
    }
   
    int i = 0;
    for (GlobalOnlineAuc.ReplacementPolicy policy : new GlobalOnlineAuc.ReplacementPolicy[] {
                                                      GlobalOnlineAuc.ReplacementPolicy.FAIR,
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = new Auc();
      LogisticModelParameters lmp = LogisticModelParameters.loadFrom(new File(modelFile));

      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      OnlineLogisticRegression lr = lmp.createRegression();
      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        output.printf(Locale.ENGLISH, "\"%s\",\"%s\",\"%s\"\n", "target", "model-output", "log-likelihood");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        int target = csv.processLine(line, v);
        double score = lr.classifyScalar(v);
        if (showScores) {
          output.printf(Locale.ENGLISH, "%d,%.3f,%.6f\n", target, score, lr.logLikelihood(target, v));
        }
        collector.add(target, score);
        line = in.readLine();
      }

      if (showAuc) {
        output.printf(Locale.ENGLISH, "AUC = %.2f\n", collector.auc());
      }
      if (showConfusion) {
        Matrix m = collector.confusion();
        output.printf(Locale.ENGLISH, "confusion: [[%.1f, %.1f], [%.1f, %.1f]]\n",
          m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
        m = collector.entropy();
        output.printf(Locale.ENGLISH, "entropy: [[%.1f, %.1f], [%.1f, %.1f]]\n",
          m.get(0, 0), m.get(1, 0), m.get(0, 1), m.get(1, 1));
      }
    }
  }
View Full Code Here

Examples of org.apache.mahout.classifier.evaluation.Auc

      if (!showAuc && !showConfusion && !showScores) {
        showAuc = true;
        showConfusion = true;
      }

      Auc collector = null;
      AdaptiveLogisticModelParameters lmp = AdaptiveLogisticModelParameters
          .loadFromFile(new File(modelFile));
      CsvRecordFactory csv = lmp.getCsvRecordFactory();
      AdaptiveLogisticRegression lr = lmp.createAdaptiveLogisticRegression();     
     
      if (lmp.getTargetCategories().size() <=2 ) {
        collector = new Auc();
      }
     
      OnlineSummarizer slh = new OnlineSummarizer();
      ConfusionMatrix cm = new ConfusionMatrix(lmp.getTargetCategories(), defaultCategory);

      State<Wrapper, CrossFoldLearner> best = lr.getBest();
      if (best == null) {
        output.printf("%s\n",
            "AdaptiveLogisticRegression has not be trained probably.");
        return;
      }
      CrossFoldLearner learner = best.getPayload().getLearner();

      BufferedReader in = TrainLogistic.open(inputFile);
      String line = in.readLine();
      csv.firstLine(line);
      line = in.readLine();
      if (showScores) {
        output.printf(Locale.ENGLISH, "\"%s\", \"%s\", \"%s\", \"%s\"\n",
            "target", "model-output", "log-likelihood", "average-likelihood");
      }
      while (line != null) {
        Vector v = new SequentialAccessSparseVector(lmp.getNumFeatures());
        //TODO: How to avoid extra target values not shown in the training process.
        int target = csv.processLine(line, v);
        double likelihood = learner.logLikelihood(target, v);
        double score = learner.classifyFull(v).maxValue();
       
        slh.add(likelihood);
        cm.addInstance(csv.getTargetString(line), csv.getTargetLabel(target));       
       
        if (showScores) {
          output.printf(Locale.ENGLISH, "%8d, %.12f, %.13f, %.13f\n", target,
              score, learner.logLikelihood(target, v), slh.getMean());
        }
        if (collector != null) {
          collector.add(target, score);
        }
        line = in.readLine();
      }
     
      output.printf(Locale.ENGLISH,"\nLog-likelihood:");
      output.printf(Locale.ENGLISH, "Min=%.2f, Max=%.2f, Mean=%.2f, Median=%.2f\n",
          slh.getMin(), slh.getMax(), slh.getMean(), slh.getMedian());

      if (collector != null) {       
        output.printf(Locale.ENGLISH, "\nAUC = %.2f\n", collector.auc());       
      }
     
      if (showConfusion) {
        output.printf(Locale.ENGLISH, "\n%s\n\n", cm.toString());
       
        if (collector != null) {
          Matrix m = collector.entropy();
          output.printf(Locale.ENGLISH,
              "Entropy Matrix: [[%.1f, %.1f], [%.1f, %.1f]]\n", m.get(0, 0),
              m.get(1, 0), m.get(0, 1), m.get(1, 1));
        }       
      }
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.