Package statechum.analysis.learning.PrecisionRecall

Examples of statechum.analysis.learning.PrecisionRecall.ConfusionMatrix


  public void testClassify1()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to= buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"a"}
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(1.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(1.,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(1.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here


  public void testClassify2()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"notransition"}
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(0.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(1.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify3()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"c"}
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(0.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(1.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify4()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"a","a"} // FN
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(0.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify5()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"a","a"} // FN
        ,new String[]{"b"} // TP
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(1.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.66666666,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.25,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify6()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"a","a"} // FN
        ,new String[]{"b","b"} // FP
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(0.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify7()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[]{"a","a"} // FN
        ,new String[]{"b","b"} // FP
        ,new String[]{"c"} // TN
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(0.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(0,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.25,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  public void testClassify8()
  {
    LearnerGraph from = buildLearnerGraph("A-a->A-b->B / A-c-#C","testClassify1a",mainConfiguration,converter),
    to=buildLearnerGraph("A-b->A-a->B","testClassify1b",mainConfiguration,converter);
   
    ConfusionMatrix matrix = DiffExperiments.classify(TestFSMAlgo.buildSet(new String[][]{
        new String[] {"a"} // TP
        ,new String[] {"b"} // TP
        ,new String[]{"b","b"} // FP
        ,new String[]{"c"} // TN
    },mainConfiguration,converter), from, to);
    Assert.assertEquals(2./3.,matrix.getPrecision(),Configuration.fpAccuracy);
    Assert.assertEquals(1,matrix.getRecall(),Configuration.fpAccuracy);
    Assert.assertEquals(0.8,matrix.fMeasure(),Configuration.fpAccuracy);
    Assert.assertEquals(0.5,matrix.getSpecificity(),Configuration.fpAccuracy);
    Assert.assertEquals(0.75,matrix.BCR(),Configuration.fpAccuracy);
  }
View Full Code Here

  private Pair<Double,Long> compareLang(LearnerGraph from, LearnerGraph to,
      Collection<List<Label>> sequences)
  {
   
    final long startTime = System.nanoTime();
    ConfusionMatrix matrix = classify(sequences, from,to);
    final long duration = System.nanoTime() - startTime;
    double result = matrix.fMeasure();
    assert !Double.isNaN(result);
    return new Pair<Double,Long>(result,duration);
  }
View Full Code Here

      else if(!inTarget && inMutated)
        fp++;
      else if(!inTarget && !inMutated)
        tn++;
    }
    return new ConfusionMatrix(tp,tn,fp,fn);
  }
View Full Code Here

TOP

Related Classes of statechum.analysis.learning.PrecisionRecall.ConfusionMatrix

Copyright © 2018 www.massapicom. 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.