O
- the type of objects handled by this algorithm@Title(value="DWOF: Dynamic Window Outlier Factor") @Description(value="Algorithm to compute dynamic-window outlier factors in a database based on the neighborhood size parameter \'k\'") @Reference(authors="R. Momtaz, N. Mohssen, M. A. Gowayyed", title="DWOF: A Robust Density-Based Outlier Detection Approach", booktitle="Proc. 6th Iberian Conf. Pattern Recognition and Image Analysis (IbPRIA 2013)", url="https://doi.org/10.1007/978-3-642-38628-2_61", bibkey="DBLP:conf/ibpria/MomtazMG13") public class DWOF<O> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
Reference:
Rana Momtaz, Nesma Mohssen and Mohammad A. Gowayyed:
DWOF: A Robust Density-Based OutlierDetection Approach.
Proc. 6th Iberian Conf. Pattern Recognition and Image Analysis (IbPRIA 2013)
Modifier and Type | Class and Description |
---|---|
static class |
DWOF.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
delta
The radii changing ratio
|
protected int |
k
Holds the value of
DWOF.Parameterizer.K_ID i.e. |
private static Logging |
LOG
The logger for this class.
|
ALGORITHM_ID
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
DWOF(DistanceFunction<? super O> distanceFunction,
int k,
double delta)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
private void |
clusterData(DBIDs ids,
RangeQuery<O> rnnQuery,
WritableDoubleDataStore radii,
WritableDataStore<ModifiableDBIDs> labels)
This method applies a density based clustering algorithm.
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
private void |
initializeRadii(DBIDs ids,
KNNQuery<O> knnq,
DistanceQuery<O> distFunc,
WritableDoubleDataStore radii)
This method prepares a container for the radii of the objects and
initializes radii according to the equation:
initialRadii of a certain object = (absoluteMinDist of all objects) *
(avgDist of the object) / (minAvgDist of all objects)
|
OutlierResult |
run(Database database,
Relation<O> relation)
Performs the Generalized DWOF_SCORE algorithm on the given database by
calling all the other methods in the proper order.
|
private int |
updateSizes(DBIDs ids,
WritableDataStore<ModifiableDBIDs> labels,
WritableIntegerDataStore newSizes)
This method updates each object's cluster size after the clustering step.
|
getDistanceFunction
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
protected int k
DWOF.Parameterizer.K_ID
i.e. Number of neighbors to
consider during the calculation of DWOF scores.private double delta
public DWOF(DistanceFunction<? super O> distanceFunction, int k, double delta)
distanceFunction
- Distance function to use in queriesk
- the value of kdelta
- Radius increase factorpublic OutlierResult run(Database database, Relation<O> relation)
database
- Database to queryrelation
- Data to processprivate void initializeRadii(DBIDs ids, KNNQuery<O> knnq, DistanceQuery<O> distFunc, WritableDoubleDataStore radii)
ids
- Database IDs to processdistFunc
- Distance functionknnq
- kNN search functionradii
- WritableDoubleDataStore to store radiiprivate void clusterData(DBIDs ids, RangeQuery<O> rnnQuery, WritableDoubleDataStore radii, WritableDataStore<ModifiableDBIDs> labels)
ids
- Database IDs to processrnnQuery
- Data to processradii
- Radii to cluster accordinglylabels
- Label storage.private int updateSizes(DBIDs ids, WritableDataStore<ModifiableDBIDs> labels, WritableIntegerDataStore newSizes)
ids
- Object IDs to processlabels
- references for each object's clusternewSizes
- the sizes container to be updatedpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2019 ELKI Development Team. License information.