Class AbstractRangeQueryNeighborPredicate<O,M,N>
- java.lang.Object
-
- elki.clustering.dbscan.predicates.AbstractRangeQueryNeighborPredicate<O,M,N>
-
- Type Parameters:
O- object typeM- model typeN- neighborhood type
- All Implemented Interfaces:
NeighborPredicate<N>
- Direct Known Subclasses:
FourCNeighborPredicate,PreDeConNeighborPredicate
public abstract class AbstractRangeQueryNeighborPredicate<O,M,N> extends java.lang.Object implements NeighborPredicate<N>
Abstract local model neighborhood predicate.- Since:
- 0.7.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classAbstractRangeQueryNeighborPredicate.Instance<N,M>Instance for a particular data set.
-
Constructor Summary
Constructors Constructor Description AbstractRangeQueryNeighborPredicate(double epsilon, elki.distance.Distance<? super O> distance)Full constructor.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract McomputeLocalModel(elki.database.ids.DBIDRef id, elki.database.ids.DoubleDBIDList neighbors, elki.database.relation.Relation<? extends O> relation)Method to compute the actual data model.elki.data.type.TypeInformationgetInputTypeRestriction()Input data type restriction.(package private) abstract elki.logging.LogginggetLogger()Get the class logger.elki.database.datastore.DataStore<M>preprocess(java.lang.Class<? super M> modelcls, elki.database.relation.Relation<? extends O> relation, elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> query)Perform the preprocessing step.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.dbscan.predicates.NeighborPredicate
getOutputType, instantiate
-
-
-
-
Field Detail
-
epsilon
protected double epsilon
Range to query with.
-
distance
protected elki.distance.Distance<? super O> distance
Distance function to use.
-
-
Constructor Detail
-
AbstractRangeQueryNeighborPredicate
public AbstractRangeQueryNeighborPredicate(double epsilon, elki.distance.Distance<? super O> distance)Full constructor.- Parameters:
epsilon- Epsilon valuedistance- Distance function to use
-
-
Method Detail
-
getInputTypeRestriction
public elki.data.type.TypeInformation getInputTypeRestriction()
Description copied from interface:NeighborPredicateInput data type restriction.- Specified by:
getInputTypeRestrictionin interfaceNeighborPredicate<O>- Returns:
- Type restriction
-
preprocess
public elki.database.datastore.DataStore<M> preprocess(java.lang.Class<? super M> modelcls, elki.database.relation.Relation<? extends O> relation, elki.database.query.range.RangeSearcher<elki.database.ids.DBIDRef> query)
Perform the preprocessing step.- Parameters:
modelcls- Class of modelsrelation- Data relationquery- Range query- Returns:
- Precomputed models
-
computeLocalModel
protected abstract M computeLocalModel(elki.database.ids.DBIDRef id, elki.database.ids.DoubleDBIDList neighbors, elki.database.relation.Relation<? extends O> relation)
Method to compute the actual data model.- Parameters:
id- Object IDneighbors- Neighborsrelation- Data relation- Returns:
- Model for this object.
-
getLogger
abstract elki.logging.Logging getLogger()
Get the class logger.- Returns:
- Logger
-
-