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_IDDISTANCE_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.
|
getDistanceFunctionrunclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate 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()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>Copyright © 2019 ELKI Development Team. License information.