Package elki.outlier.lof
Class OnlineLOF<O>
- java.lang.Object
-
- elki.outlier.lof.FlexibleLOF<O>
-
- elki.outlier.lof.OnlineLOF<O>
-
- All Implemented Interfaces:
elki.Algorithm,OutlierAlgorithm
public class OnlineLOF<O> extends FlexibleLOF<O>
Incremental version of theLOFAlgorithm, supports insertions and removals.- Since:
- 0.4.0
- Author:
- Elke Achtert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classOnlineLOF.LOFKNNListenerEncapsulates a listener for changes of kNNs used in the online LOF algorithm.static classOnlineLOF.Par<O>Parameterization class.-
Nested classes/interfaces inherited from class elki.outlier.lof.FlexibleLOF
FlexibleLOF.LOFResult<O>
-
-
Field Summary
Fields Modifier and Type Field Description private static elki.logging.LoggingLOGThe logger for this class.-
Fields inherited from class elki.outlier.lof.FlexibleLOF
kreach, krefer, reachabilityDistance, referenceDistance
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private elki.utilities.pairs.Pair<elki.utilities.pairs.Pair<elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef>,elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef>>,elki.utilities.pairs.Pair<elki.database.query.rknn.RKNNSearcher<elki.database.ids.DBIDRef>,elki.database.query.rknn.RKNNSearcher<elki.database.ids.DBIDRef>>>getKNNAndRkNNQueries(elki.database.relation.Relation<O> relation, elki.logging.progress.StepProgress stepprog)Get the kNN and rkNN queries for the algorithm.OutlierResultrun(elki.database.relation.Relation<O> relation)Performs the Generalized LOF_SCORE algorithm on the given database by calling#doRunInTime(Database)and adds aOnlineLOF.LOFKNNListenerto the preprocessors.-
Methods inherited from class elki.outlier.lof.FlexibleLOF
computeLOFs, computeLRDs, doRunInTime, getInputTypeRestriction
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.outlier.OutlierAlgorithm
autorun
-
-
-
-
Constructor Detail
-
OnlineLOF
public OnlineLOF(int krefer, int kreach, elki.distance.Distance<? super O> neighborhoodDistance, elki.distance.Distance<? super O> reachabilityDistance)Constructor.- Parameters:
krefer- The number of neighbors for referencekreach- The number of neighbors for reachability distanceneighborhoodDistance- the neighborhood distance functionreachabilityDistance- the reachability distance function
-
-
Method Detail
-
run
public OutlierResult run(elki.database.relation.Relation<O> relation)
Performs the Generalized LOF_SCORE algorithm on the given database by calling#doRunInTime(Database)and adds aOnlineLOF.LOFKNNListenerto the preprocessors.- Overrides:
runin classFlexibleLOF<O>- Parameters:
relation- Data to process- Returns:
- LOF outlier result
-
getKNNAndRkNNQueries
private elki.utilities.pairs.Pair<elki.utilities.pairs.Pair<elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef>,elki.database.query.knn.KNNSearcher<elki.database.ids.DBIDRef>>,elki.utilities.pairs.Pair<elki.database.query.rknn.RKNNSearcher<elki.database.ids.DBIDRef>,elki.database.query.rknn.RKNNSearcher<elki.database.ids.DBIDRef>>> getKNNAndRkNNQueries(elki.database.relation.Relation<O> relation, elki.logging.progress.StepProgress stepprog)
Get the kNN and rkNN queries for the algorithm.- Parameters:
relation- Datastepprog- Progress logger- Returns:
- the kNN and rkNN queries
-
-