de.lmu.ifi.dbs.elki.index.preprocessed.localpca
Class KNNQueryFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.index.AbstractIndex<O>
      extended by de.lmu.ifi.dbs.elki.index.preprocessed.AbstractPreprocessorIndex<NV,PCAFilteredResult>
          extended by de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex<NV>
              extended by de.lmu.ifi.dbs.elki.index.preprocessed.localpca.KNNQueryFilteredPCAIndex<NV>
Type Parameters:
NV - Vector type
All Implemented Interfaces:
Index, FilteredLocalPCAIndex<NV>, LocalProjectionIndex<NV,PCAFilteredResult>, Result

@Title(value="Knn Query Based Local PCA Preprocessor")
@Description(value="Materializes the local PCA and the locally weighted matrix of objects of a database. The PCA is based on k nearest neighbor queries.")
public class KNNQueryFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>
extends AbstractFilteredPCAIndex<NV>

Provides the local neighborhood to be considered in the PCA as the k nearest neighbors of an object.


Nested Class Summary
static class KNNQueryFilteredPCAIndex.Factory<V extends NumberVector<V,?>>
          Factory class
 
Field Summary
private  int k
          Query k
private  KNNQuery<NV,DoubleDistance> knnQuery
          The kNN query instance we use
private static Logging logger
          Logger.
 
Fields inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex
pca
 
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
KNNQueryFilteredPCAIndex(Relation<NV> database, PCAFilteredRunner<NV> pca, KNNQuery<NV,DoubleDistance> knnQuery, int k)
          Constructor.
 
Method Summary
 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.
protected  List<DistanceResultPair<DoubleDistance>> objectsForPCA(DBID id)
          Returns the objects to be considered within the PCA for the specified query object.
 
Methods inherited from class de.lmu.ifi.dbs.elki.index.preprocessed.localpca.AbstractFilteredPCAIndex
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
Logger.


knnQuery

private final KNNQuery<NV extends NumberVector<? extends NV,?>,DoubleDistance> knnQuery
The kNN query instance we use


k

private final int k
Query k

Constructor Detail

KNNQueryFilteredPCAIndex

public KNNQueryFilteredPCAIndex(Relation<NV> database,
                                PCAFilteredRunner<NV> pca,
                                KNNQuery<NV,DoubleDistance> knnQuery,
                                int k)
Constructor.

Parameters:
database - Database to use
pca - PCA Runner to use
knnQuery - KNN Query to use
k - k value
Method Detail

objectsForPCA

protected List<DistanceResultPair<DoubleDistance>> objectsForPCA(DBID id)
Description copied from class: AbstractFilteredPCAIndex
Returns the objects to be considered within the PCA for the specified query object.

Specified by:
objectsForPCA in class AbstractFilteredPCAIndex<NV extends NumberVector<? extends NV,?>>
Parameters:
id - the id of the query object for which a PCA should be performed
Returns:
the list of the objects (i.e. the ids and the distances to the query object) to be considered within the PCA

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<NV extends NumberVector<? extends NV,?>>
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<NV extends NumberVector<? extends NV,?>>
Returns:
result name

getLogger

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

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

Release 0.4.0 (2011-09-20_1324)