summaryrefslogtreecommitdiff
path: root/test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java
diff options
context:
space:
mode:
Diffstat (limited to 'test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java')
-rw-r--r--test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java73
1 files changed, 0 insertions, 73 deletions
diff --git a/test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java b/test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java
deleted file mode 100644
index 1988f060..00000000
--- a/test/de/lmu/ifi/dbs/elki/evaluation/roc/TestComputeROC.java
+++ /dev/null
@@ -1,73 +0,0 @@
-package de.lmu.ifi.dbs.elki.evaluation.roc;
-
-/*
- This file is part of ELKI:
- Environment for Developing KDD-Applications Supported by Index-Structures
-
- Copyright (C) 2012
- Ludwig-Maximilians-Universität München
- Lehr- und Forschungseinheit für Datenbanksysteme
- ELKI Development Team
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU Affero General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU Affero General Public License for more details.
-
- You should have received a copy of the GNU Affero General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-import junit.framework.Assert;
-
-import org.junit.Test;
-
-import de.lmu.ifi.dbs.elki.JUnit4Test;
-import de.lmu.ifi.dbs.elki.database.ids.DBIDUtil;
-import de.lmu.ifi.dbs.elki.database.ids.HashSetModifiableDBIDs;
-import de.lmu.ifi.dbs.elki.database.ids.distance.DoubleDistanceDBIDPairList;
-import de.lmu.ifi.dbs.elki.math.geometry.XYCurve;
-
-/**
- * Test to validate ROC curve computation.
- *
- * @author Erich Schubert
- */
-public class TestComputeROC implements JUnit4Test {
- /**
- * Test ROC curve generation, including curve simplification
- */
- @Test
- public void testROCCurve() {
- HashSetModifiableDBIDs positive = DBIDUtil.newHashSet();
- positive.add(DBIDUtil.importInteger(1));
- positive.add(DBIDUtil.importInteger(2));
- positive.add(DBIDUtil.importInteger(3));
- positive.add(DBIDUtil.importInteger(4));
- positive.add(DBIDUtil.importInteger(5));
-
- final DoubleDistanceDBIDPairList distances = new DoubleDistanceDBIDPairList();
- // Starting point: ................................ 0.0,0. ++
- distances.add(0.0, DBIDUtil.importInteger(1)); // + 0.0,.2 -- redundant
- distances.add(1.0, DBIDUtil.importInteger(2)); // + 0.0,.4 ++
- distances.add(2.0, DBIDUtil.importInteger(6)); // - .25,.4 ++
- distances.add(3.0, DBIDUtil.importInteger(7)); // -
- distances.add(3.0, DBIDUtil.importInteger(3)); // + .50,.6 -- redundant
- distances.add(4.0, DBIDUtil.importInteger(8)); // -
- distances.add(4.0, DBIDUtil.importInteger(4)); // + .75,.8 ++
- distances.add(5.0, DBIDUtil.importInteger(9)); // - 1.0,.8 ++
- distances.add(6.0, DBIDUtil.importInteger(5)); // + 1.0,1. ++
-
- XYCurve roccurve = ROC.materializeROC(new ROC.DBIDsTest(positive), new ROC.DistanceResultAdapter<>(distances.iter()));
- // System.err.println(roccurve);
- Assert.assertEquals("ROC curve too complex", 6, roccurve.size());
-
- double auc = XYCurve.areaUnderCurve(roccurve);
- Assert.assertEquals("ROC AUC not right.", 0.6, auc, 0.0001);
- }
-}