NV
- Vector type@Title(value="Range 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 epsilon range queries.") public class RangeQueryFilteredPCAIndex<NV extends NumberVector<?>> extends AbstractFilteredPCAIndex<NV>
Modifier and Type | Class and Description |
---|---|
static class |
RangeQueryFilteredPCAIndex.Factory<V extends NumberVector<?>>
Factory class.
|
Modifier and Type | Field and Description |
---|---|
private DoubleDistance |
epsilon
Query epsilon.
|
private static Logging |
LOG
Logger.
|
private RangeQuery<NV,DoubleDistance> |
rangeQuery
The kNN query instance we use.
|
pca
storage
relation
Constructor and Description |
---|
RangeQueryFilteredPCAIndex(Relation<NV> database,
PCAFilteredRunner<NV> pca,
RangeQuery<NV,DoubleDistance> rangeQuery,
DoubleDistance epsilon)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
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.
|
void |
logStatistics()
Send statistics to the logger, if enabled.
|
protected DistanceDBIDList<DoubleDistance> |
objectsForPCA(DBIDRef id)
Returns the objects to be considered within the PCA for the specified query
object.
|
getLocalProjection, initialize
private static final Logging LOG
private final RangeQuery<NV extends NumberVector<?>,DoubleDistance> rangeQuery
private final DoubleDistance epsilon
public RangeQueryFilteredPCAIndex(Relation<NV> database, PCAFilteredRunner<NV> pca, RangeQuery<NV,DoubleDistance> rangeQuery, DoubleDistance epsilon)
database
- Database to usepca
- PCA Runner to userangeQuery
- Range Query to useepsilon
- Query rangeprotected DistanceDBIDList<DoubleDistance> objectsForPCA(DBIDRef id)
AbstractFilteredPCAIndex
objectsForPCA
in class AbstractFilteredPCAIndex<NV extends NumberVector<?>>
id
- the id of the query object for which a PCA should be performedpublic String getLongName()
Result
getLongName
in interface Result
getLongName
in class AbstractIndex<NV extends NumberVector<?>>
public String getShortName()
Result
getShortName
in interface Result
getShortName
in class AbstractIndex<NV extends NumberVector<?>>
protected Logging getLogger()
AbstractPreprocessorIndex
getLogger
in class AbstractPreprocessorIndex<NV extends NumberVector<?>,PCAFilteredResult>
public void logStatistics()
Index