public abstract class AbstractProjectedHashFunctionFamily extends java.lang.Object implements LocalitySensitiveHashFunctionFamily<NumberVector>
Modifier and Type | Class and Description |
---|---|
static class |
AbstractProjectedHashFunctionFamily.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
protected int |
k
The number of projections to use for each hash function.
|
protected RandomProjectionFamily |
proj
Projection family to use.
|
protected RandomFactory |
random
Random generator to use.
|
protected double |
width
Width of each bin.
|
Constructor and Description |
---|
AbstractProjectedHashFunctionFamily(RandomFactory random,
RandomProjectionFamily proj,
double width,
int k)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super NumberVector>> |
generateHashFunctions(Relation<? extends NumberVector> relation,
int l)
Generate hash functions for the given relation.
|
TypeInformation |
getInputTypeRestriction()
Get the input type information.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
isCompatible
protected RandomFactory random
protected RandomProjectionFamily proj
protected double width
protected int k
public AbstractProjectedHashFunctionFamily(RandomFactory random, RandomProjectionFamily proj, double width, int k)
random
- Random generatorproj
- Projection familywidth
- Bin widthk
- Number of projections for each hash function.public java.util.ArrayList<? extends LocalitySensitiveHashFunction<? super NumberVector>> generateHashFunctions(Relation<? extends NumberVector> relation, int l)
LocalitySensitiveHashFunctionFamily
generateHashFunctions
in interface LocalitySensitiveHashFunctionFamily<NumberVector>
relation
- Relation to indexl
- Number of hash tables to usepublic TypeInformation getInputTypeRestriction()
LocalitySensitiveHashFunctionFamily
getInputTypeRestriction
in interface LocalitySensitiveHashFunctionFamily<NumberVector>
Copyright © 2019 ELKI Development Team. License information.