summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java14
1 files changed, 7 insertions, 7 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java
index 093cf652..be9ba959 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/similarityfunction/kernel/FooKernelFunction.java
@@ -43,7 +43,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameters.IntParameter;
*
* @author Simon Paradies
*/
-public class FooKernelFunction extends AbstractPrimitiveDistanceFunction<NumberVector<?, ?>, DoubleDistance> implements PrimitiveSimilarityFunction<NumberVector<?, ?>, DoubleDistance> {
+public class FooKernelFunction extends AbstractPrimitiveDistanceFunction<NumberVector<?>, DoubleDistance> implements PrimitiveSimilarityFunction<NumberVector<?>, DoubleDistance> {
/**
* The default max_degree.
*/
@@ -52,7 +52,7 @@ public class FooKernelFunction extends AbstractPrimitiveDistanceFunction<NumberV
/**
* Parameter for the maximum degree
*/
- public static final OptionID MAX_DEGREE_ID = OptionID.getOrCreateOptionID("fookernel.max_degree", "The max degree of the" + FooKernelFunction.class.getSimpleName() + ". Default: " + DEFAULT_MAX_DEGREE);
+ public static final OptionID MAX_DEGREE_ID = new OptionID("fookernel.max_degree", "The max degree of the" + FooKernelFunction.class.getSimpleName() + ". Default: " + DEFAULT_MAX_DEGREE);
/**
* Degree of the polynomial kernel function
@@ -78,25 +78,25 @@ public class FooKernelFunction extends AbstractPrimitiveDistanceFunction<NumberV
* an instance of {@link DoubleDistance DoubleDistance}.
*/
@Override
- public DoubleDistance similarity(final NumberVector<?, ?> o1, final NumberVector<?, ?> o2) {
+ public DoubleDistance similarity(final NumberVector<?> o1, final NumberVector<?> o2) {
if(o1.getDimensionality() != o2.getDimensionality()) {
throw new IllegalArgumentException("Different dimensionality of FeatureVectors\n first argument: " + o1.toString() + "\n second argument: " + o2.toString());
}
double sim = 0.0;
// iterate over differently powered dimensions
- for(int degree = 1; degree <= max_degree; degree++) {
+ for(int degree = 0; degree < max_degree; degree++) {
sim += Math.pow(o1.doubleValue(degree) * o2.doubleValue(degree), degree);
}
return new DoubleDistance(sim);
}
@Override
- public DoubleDistance distance(final NumberVector<?, ?> fv1, final NumberVector<?, ?> fv2) {
+ public DoubleDistance distance(final NumberVector<?> fv1, final NumberVector<?> fv2) {
return new DoubleDistance(Math.sqrt(similarity(fv1, fv1).doubleValue() + similarity(fv2, fv2).doubleValue() - 2 * similarity(fv1, fv2).doubleValue()));
}
@Override
- public VectorFieldTypeInformation<? super NumberVector<?, ?>> getInputTypeRestriction() {
+ public VectorFieldTypeInformation<? super NumberVector<?>> getInputTypeRestriction() {
return TypeUtil.NUMBER_VECTOR_FIELD;
}
@@ -106,7 +106,7 @@ public class FooKernelFunction extends AbstractPrimitiveDistanceFunction<NumberV
}
@Override
- public <T extends NumberVector<?, ?>> DistanceSimilarityQuery<T, DoubleDistance> instantiate(Relation<T> database) {
+ public <T extends NumberVector<?>> DistanceSimilarityQuery<T, DoubleDistance> instantiate(Relation<T> database) {
return new PrimitiveDistanceSimilarityQuery<T, DoubleDistance>(database, this, this);
}