@Reference(authors="E. Schubert, A. Zimek, H.-P. Kriegel", title="Fast and Scalable Outlier Detection with Approximate Nearest Neighbor Ensembles", booktitle="Proc. 20th International Conference on Database Systems for Advanced Applications (DASFAA)", url="http://dx.doi.org/10.1007/978-3-319-18123-3_2") public class NaiveProjectedKNNPreprocessor<O extends NumberVector> extends AbstractIndex<O> implements KNNIndex<O>
E. Schubert, A. Zimek, H.-P. Kriegel
Fast and Scalable Outlier Detection with Approximate Nearest Neighbor
Ensembles
Proc. 20th International Conference on Database Systems for Advanced
Applications (DASFAA), Hanoi, Vietnam, 2015.
Modifier and Type | Class and Description |
---|---|
static class |
NaiveProjectedKNNPreprocessor.Factory<V extends NumberVector>
Index factory class
|
protected class |
NaiveProjectedKNNPreprocessor.NaiveProjectedKNNQuery
KNN Query processor for naive projections.
|
Modifier and Type | Field and Description |
---|---|
private static Logging |
LOG
Class logger.
|
(package private) Mean |
mean
Mean number of distance computations.
|
(package private) WritableDataStore<int[]> |
positions
Curve position storage
|
(package private) RandomProjectionFamily |
proj
Random projection family to use.
|
(package private) List<ModifiableDoubleDBIDList> |
projected
Projected data.
|
(package private) int |
projections
Number of projections to use.
|
(package private) Random |
random
Random number generator.
|
(package private) double |
window
Curve window size.
|
relation
Constructor and Description |
---|
NaiveProjectedKNNPreprocessor(Relation<O> relation,
double window,
int projections,
RandomProjectionFamily proj,
Random random)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
KNNQuery<O> |
getKNNQuery(DistanceQuery<O> distanceQuery,
Object... hints)
Get a KNN query object for the given distance query and k.
|
String |
getLongName()
A "pretty" name for the result, for use in titles, captions and menus.
|
String |
getShortName()
A short name for the result, useful for file names.
|
void |
initialize()
Initialize the index.
|
void |
logStatistics()
Send statistics to the logger, if enabled.
|
protected void |
preprocess() |
static int[] |
randomPermutation(int[] out,
Random random)
Perform a random permutation of the array, in-place.
|
static int[] |
range(int start,
int end)
Initialize an integer value range.
|
private static final Logging LOG
final double window
final int projections
WritableDataStore<int[]> positions
Mean mean
RandomProjectionFamily proj
Random random
List<ModifiableDoubleDBIDList> projected
public NaiveProjectedKNNPreprocessor(Relation<O> relation, double window, int projections, RandomProjectionFamily proj, Random random)
relation
- Relation to index.window
- Window multiplicator.projections
- Number of projections to use.proj
- Projection family to use.random
- Random number generator.public void initialize()
Index
initialize
in interface Index
protected void preprocess()
public static int[] range(int start, int end)
start
- Starting valueend
- End value (exclusive)public static int[] randomPermutation(int[] out, Random random)
out
- Prefilled array to be modified.random
- Random generator.public String getLongName()
Result
getLongName
in interface Result
getLongName
in class AbstractIndex<O extends NumberVector>
public String getShortName()
Result
getShortName
in interface Result
getShortName
in class AbstractIndex<O extends NumberVector>
public void logStatistics()
Index
logStatistics
in interface Index
public KNNQuery<O> getKNNQuery(DistanceQuery<O> distanceQuery, Object... hints)
KNNIndex
getKNNQuery
in interface KNNIndex<O extends NumberVector>
distanceQuery
- Distance queryhints
- Hints for the optimizernull
Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.