de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj
Class FourCSubspaceIndex<V extends NumberVector<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,PCAFilteredResult>
              extended by de.lmu.ifi.dbs.elki.index.preprocessed.subspaceproj.FourCSubspaceIndex<V,D>
Type Parameters:
V - Vector type
D - Distance type
All Implemented Interfaces:
Index, LocalProjectionIndex<V,PCAFilteredResult>, SubspaceProjectionIndex<V,PCAFilteredResult>, Result

@Title(value="4C Preprocessor")
@Description(value="Computes the local dimensionality and locally weighted matrix of objects of a certain database according to the 4C algorithm.\nThe PCA is based on epsilon range queries.")
public class FourCSubspaceIndex<V extends NumberVector<V,?>,D extends Distance<D>>
extends AbstractSubspaceProjectionIndex<V,D,PCAFilteredResult>

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


Nested Class Summary
static class FourCSubspaceIndex.Factory<V extends NumberVector<V,?>,D extends Distance<D>>
          Factory class for 4C preprocessors.
 
Field Summary
private static Logging logger
          Our logger
private  PCAFilteredRunner<V> pca
          The Filtered PCA Runner
 
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
FourCSubspaceIndex(Relation<V> relation, D epsilon, DistanceFunction<V,D> rangeQueryDistanceFunction, int minpts, PCAFilteredRunner<V> pca)
          Full constructor.
 
Method Summary
protected  PCAFilteredResult 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
Our logger


pca

private PCAFilteredRunner<V extends NumberVector<V,?>> pca
The Filtered PCA Runner

Constructor Detail

FourCSubspaceIndex

public FourCSubspaceIndex(Relation<V> relation,
                          D epsilon,
                          DistanceFunction<V,D> rangeQueryDistanceFunction,
                          int minpts,
                          PCAFilteredRunner<V> pca)
Full constructor.

Parameters:
relation - Relation
epsilon - Epsilon value
rangeQueryDistanceFunction -
minpts - MinPts value
pca - PCA runner
Method Detail

computeProjection

protected PCAFilteredResult 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<V,?>,D extends Distance<D>,PCAFilteredResult>
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

getLogger

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

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

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<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<V,?>>
Returns:
result name

Release 0.4.0 (2011-09-20_1324)