O
- Vector type indexed@Reference(authors="Erich Schubert, Arthur Zimek, Hans-Peter Kriegel", title="Fast and Scalable Outlier Detection with Approximate Nearest Neighbor Ensembles", booktitle="Proc. 20th Int. Conf. Database Systems for Advanced Applications (DASFAA 2015)", url="https://doi.org/10.1007/978-3-319-18123-3_2", bibkey="DBLP:conf/dasfaa/SchubertZK15") public class SpacefillingMaterializeKNNPreprocessor<O extends NumberVector> extends AbstractMaterializeKNNPreprocessor<O>
This version does the bulk kNN-join operation, i.e. precomputes the k nearest
neighbors for every object, then discards the curves. This is usually more
memory intensive but faster than SpacefillingKNNPreprocessor
.
Reference:
Erich Schubert, Arthur Zimek, Hans-Peter Kriegel
Fast and Scalable Outlier Detection with Approximate Nearest Neighbor
Ensembles
Proc. 20th Int. Conf. Database Systems for Advanced Applications
(DASFAA 2015)
Modifier and Type | Class and Description |
---|---|
static class |
SpacefillingMaterializeKNNPreprocessor.Factory<V extends NumberVector>
Index factory class
|
Modifier and Type | Field and Description |
---|---|
(package private) java.util.List<SpatialSorter> |
curvegen
Spatial curve generators
|
private static Logging |
LOG
Class logger
|
(package private) Mean |
mean
Mean number of distance computations
|
(package private) java.util.Random |
random
Random number generator.
|
(package private) int |
variants
Number of variants to generate for each curve
|
(package private) double |
window
Curve window size
|
distanceFunction, distanceQuery, k
relation, storage
Constructor and Description |
---|
SpacefillingMaterializeKNNPreprocessor(Relation<O> relation,
DistanceFunction<? super O> distanceFunction,
int k,
java.util.List<SpatialSorter> curvegen,
double window,
int variants,
java.util.Random random)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
KNNQuery<O> |
getKNNQuery(DistanceQuery<O> distQ,
java.lang.Object... hints)
Get a KNN query object for the given distance query and k.
|
protected Logging |
getLogger()
Get the classes static logger.
|
java.lang.String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
java.lang.String |
getShortName()
A short name for the result, useful for file names.
|
void |
logStatistics()
Send statistics to the logger, if enabled.
|
protected void |
preprocess()
Perform the preprocessing step.
|
createStorage, get, getDistanceQuery, getK, initialize
private static final Logging LOG
final java.util.List<SpatialSorter> curvegen
final double window
final int variants
Mean mean
java.util.Random random
public SpacefillingMaterializeKNNPreprocessor(Relation<O> relation, DistanceFunction<? super O> distanceFunction, int k, java.util.List<SpatialSorter> curvegen, double window, int variants, java.util.Random random)
relation
- Relation to index.distanceFunction
- Distance functionk
- kcurvegen
- Curve generatorswindow
- Window multiplicatorvariants
- Number of curve variants to generaterandom
- Random number generatorprotected void preprocess()
AbstractMaterializeKNNPreprocessor
preprocess
in class AbstractMaterializeKNNPreprocessor<O extends NumberVector>
public java.lang.String getLongName()
Result
public java.lang.String getShortName()
Result
public void logStatistics()
Index
protected Logging getLogger()
AbstractPreprocessorIndex
getLogger
in class AbstractPreprocessorIndex<O extends NumberVector,KNNList>
public KNNQuery<O> getKNNQuery(DistanceQuery<O> distQ, java.lang.Object... hints)
KNNIndex
getKNNQuery
in interface KNNIndex<O extends NumberVector>
getKNNQuery
in class AbstractMaterializeKNNPreprocessor<O extends NumberVector>
distQ
- Distance queryhints
- Hints for the optimizernull
Copyright © 2019 ELKI Development Team. License information.