de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj
Class PreDeConSubspaceIndex<V extends NumberVector<? extends V,?>,D extends Distance<D>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.index.AbstractIndex<O>
      extended by de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex<NV,P>
          extended by de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.AbstractSubspaceProjectionIndex<V,D,SubspaceProjectionResult>
              extended by de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.PreDeConSubspaceIndex<V,D>
Type Parameters:
D - Distance type
V - Vector type
All Implemented Interfaces:
Index, LocalProjectionIndex<V,SubspaceProjectionResult>, SubspaceProjectionIndex<V,SubspaceProjectionResult>, Result

@Title(value="PreDeCon Preprocessor")
@Description(value="Computes the projected dimension of objects of a certain database according to the PreDeCon algorithm.\nThe variance analysis is based on epsilon range queries.")
public class PreDeConSubspaceIndex<V extends NumberVector<? extends V,?>,D extends Distance<D>>
extends AbstractSubspaceProjectionIndex<V,D,SubspaceProjectionResult>

Preprocessor for PreDeCon local dimensionality and locally weighted matrix assignment to objects of a certain database.


Nested Class Summary
static class PreDeConSubspaceIndex.Factory<V extends NumberVector<? extends V,?>,D extends Distance<D>>
          Factory
 
Field Summary
protected  double delta
          The threshold for small eigenvalues.
private  int kappa
          The kappa value for generating the variance vector.
private static Logging logger
          The logger for this class.
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.AbstractSubspaceProjectionIndex
epsilon, minpts, rangeQueryDistanceFunction
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex
storage
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex
relation
 
Constructor Summary
PreDeConSubspaceIndex(Relation<V> relation, D epsilon, DistanceFunction<V,D> rangeQueryDistanceFunction, int minpts, double delta)
          Constructor.
 
Method Summary
protected  SubspaceProjectionResult computeProjection(DBID id, List<DistanceResultPair<D>> neighbors, Relation<V> database)
          This method implements the type of variance analysis to be computed for a given point.
protected  Logging getLogger()
          Get the classes static logger.
 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.
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.AbstractSubspaceProjectionIndex
getLocalProjection, preprocess
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.AbstractIndex
delete, deleteAll, getPageFileStatistics, insert, insertAll
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.index.Index
delete, deleteAll, getPageFileStatistics, insert, insertAll
 

Field Detail

logger

private static final Logging logger
The logger for this class.


delta

protected double delta
The threshold for small eigenvalues.


kappa

private final int kappa
The kappa value for generating the variance vector.

See Also:
Constant Field Values
Constructor Detail

PreDeConSubspaceIndex

public PreDeConSubspaceIndex(Relation<V> relation,
                             D epsilon,
                             DistanceFunction<V,D> rangeQueryDistanceFunction,
                             int minpts,
                             double delta)
Constructor.

Parameters:
relation - Relation
epsilon - Epsilon value
rangeQueryDistanceFunction - range query distance
minpts - Minpts parameter
delta - Delta value
Method Detail

computeProjection

protected SubspaceProjectionResult computeProjection(DBID id,
                                                     List<DistanceResultPair<D>> neighbors,
                                                     Relation<V> database)
Description copied from class: AbstractSubspaceProjectionIndex
This method implements the type of variance analysis to be computed for a given point.

Example1: for 4C, this method should implement a PCA for the given point. Example2: for PreDeCon, this method should implement a simple axis-parallel variance analysis.

Specified by:
computeProjection in class AbstractSubspaceProjectionIndex<V extends NumberVector<? extends V,?>,D extends Distance<D>,SubspaceProjectionResult>
Parameters:
id - the given point
neighbors - the neighbors as query results of the given point
database - the database for which the preprocessing is performed
Returns:
local subspace projection

getLongName

public String getLongName()
Description copied from interface: Result
A "pretty" name for the result, for use in titles, captions and menus.

Specified by:
getLongName in interface Result
Specified by:
getLongName in class AbstractIndex<V extends NumberVector<? extends V,?>>
Returns:
result name

getShortName

public String getShortName()
Description copied from interface: Result
A short name for the result, useful for file names.

Specified by:
getShortName in interface Result
Specified by:
getShortName in class AbstractIndex<V extends NumberVector<? extends V,?>>
Returns:
result name

getLogger

protected Logging getLogger()
Description copied from class: AbstractPreprocessorIndex
Get the classes static logger.

Specified by:
getLogger in class AbstractPreprocessorIndex<V extends NumberVector<? extends V,?>,SubspaceProjectionResult>
Returns:
Logger

Release 0.4.0 (2011-09-20_1324)