summaryrefslogtreecommitdiff
path: root/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints
diff options
context:
space:
mode:
Diffstat (limited to 'elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints')
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/AxisBasedReferencePoints.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/FullDatabaseReferencePoints.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/GridBasedReferencePoints.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomGeneratedReferencePoints.java14
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomSampleReferencePoints.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/ReferencePointsHeuristic.java1
-rw-r--r--elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/StarBasedReferencePoints.java1
7 files changed, 14 insertions, 6 deletions
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/AxisBasedReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/AxisBasedReferencePoints.java
index 026cf048..337197a3 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/AxisBasedReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/AxisBasedReferencePoints.java
@@ -43,6 +43,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.DoubleParameter;
* surrounding cube.
*
* @author Erich Schubert
+ * @since 0.3
*/
public class AxisBasedReferencePoints implements ReferencePointsHeuristic {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/FullDatabaseReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/FullDatabaseReferencePoints.java
index aed7845f..9e4b9c8f 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/FullDatabaseReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/FullDatabaseReferencePoints.java
@@ -33,6 +33,7 @@ import de.lmu.ifi.dbs.elki.database.relation.RelationUtil;
* Strategy to use the complete database as reference points.
*
* @author Erich Schubert
+ * @since 0.3
*/
public class FullDatabaseReferencePoints implements ReferencePointsHeuristic {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/GridBasedReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/GridBasedReferencePoints.java
index 1d614bff..45e3c66b 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/GridBasedReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/GridBasedReferencePoints.java
@@ -44,6 +44,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.IntParameter;
* Grid-based strategy to pick reference points.
*
* @author Erich Schubert
+ * @since 0.3
*/
public class GridBasedReferencePoints implements ReferencePointsHeuristic {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomGeneratedReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomGeneratedReferencePoints.java
index 9de4e5e8..9b287443 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomGeneratedReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomGeneratedReferencePoints.java
@@ -25,6 +25,7 @@ package de.lmu.ifi.dbs.elki.utilities.referencepoints;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Random;
import de.lmu.ifi.dbs.elki.data.NumberVector;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
@@ -41,8 +42,9 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.RandomParameter;
/**
* Reference points generated randomly within the used data space.
- *
+ *
* @author Erich Schubert
+ * @since 0.3
*/
public class RandomGeneratedReferencePoints implements ReferencePointsHeuristic {
/**
@@ -62,7 +64,7 @@ public class RandomGeneratedReferencePoints implements ReferencePointsHeuristic
/**
* Constructor.
- *
+ *
* @param samplesize Size of desired sample set
* @param scale Scaling factor
* @param rnd Random generator
@@ -86,14 +88,14 @@ public class RandomGeneratedReferencePoints implements ReferencePointsHeuristic
mean[d] -= delta[d] * .5;
}
+ Random rand = rnd.getSingleThreadedRandom();
ArrayList<Vector> result = new ArrayList<>(samplesize);
double[] vec = new double[dim];
for(int i = 0; i < samplesize; i++) {
for(int d = 0; d < dim; d++) {
- vec[d] = mean[d] + (Math.random() - 0.5) * scale * delta[d];
+ vec[d] = mean[d] + (rand.nextDouble() - 0.5) * scale * delta[d];
}
Vector newp = new Vector(vec);
- // logger.debug("New reference point: " + FormatUtil.format(vec));
result.add(newp);
}
@@ -102,9 +104,9 @@ public class RandomGeneratedReferencePoints implements ReferencePointsHeuristic
/**
* Parameterization class.
- *
+ *
* @author Erich Schubert
- *
+ *
* @apiviz.exclude
*/
public static class Parameterizer extends AbstractParameterizer {
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomSampleReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomSampleReferencePoints.java
index a8b17234..14d91a55 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomSampleReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/RandomSampleReferencePoints.java
@@ -45,6 +45,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.RandomParameter;
* Random-Sampling strategy for picking reference points.
*
* @author Erich Schubert
+ * @since 0.3
*/
public class RandomSampleReferencePoints implements ReferencePointsHeuristic {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/ReferencePointsHeuristic.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/ReferencePointsHeuristic.java
index 2b417d84..00cef7dc 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/ReferencePointsHeuristic.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/ReferencePointsHeuristic.java
@@ -32,6 +32,7 @@ import de.lmu.ifi.dbs.elki.database.relation.Relation;
* Simple Interface for an heuristic to pick reference points.
*
* @author Erich Schubert
+ * @since 0.3
*/
public interface ReferencePointsHeuristic {
/**
diff --git a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/StarBasedReferencePoints.java b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/StarBasedReferencePoints.java
index f1e1c1fb..2b35108b 100644
--- a/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/StarBasedReferencePoints.java
+++ b/elki/src/main/java/de/lmu/ifi/dbs/elki/utilities/referencepoints/StarBasedReferencePoints.java
@@ -42,6 +42,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.Flag;
* Star-based strategy to pick reference points.
*
* @author Erich Schubert
+ * @since 0.3
*/
public class StarBasedReferencePoints implements ReferencePointsHeuristic {
/**