View source: R/DSOutlier_MCOD.R
| DSC_MCOD | R Documentation |
Interface to the MOA implementation of the MCOD algorithm for distance-based data stream outlier detection.
DSC_MCOD(r = 0.1, t = 50, w = 1000, recheck_outliers = FALSE)
DSOutlier_MCOD(r = 0.1, t = 50, w = 1000, recheck_outliers = TRUE)
get_outlier_positions(x, ...)
recheck_outlier(x, outlier_correlated_id, ...)
clean_outliers(x, ...)
r |
Radius used to search for neighbors. |
t |
Minimum number of neighbors required for a point not to be an outlier. |
w |
Sliding window width in data points. |
recheck_outliers |
If |
x |
A |
... |
Further arguments (currently ignored). |
outlier_correlated_id |
Identifier of the outlier to check again. |
The algorithm detects density-based outliers. An object x is defined
to be an outlier if there are less than t objects lying at distance at
most r from x.
Outliers are stored and can be retrieved with get_outlier_positions() and
checked again with recheck_outlier().
Note: The implementation updates the clustering when predict() is called.
An object of class DSC_MCOD (subclass of
stream::DSC_Micro, DSC_MOA and stream::DSC).
get_outlier_positions(): Returns spatial positions of all current outliers.
recheck_outlier(): Re-check whether the outlier identified by
outlier_correlated_id is still an outlier. Returns TRUE if it is.
clean_outliers(): Forget detected outliers (currently not implemented).
Dalibor Krleža
Kontaki M, Gounaris A, Papadopoulos AN, Tsichlas K, and Manolopoulos Y (2016). Efficient and flexible algorithms for monitoring distance-based outliers over data streams. Information Systems, Vol. 55, pp. 37-53. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1109/ICDE.2011.5767923")}
Other DSC_MOA:
DSC_BICO_MOA(),
DSC_CluStream(),
DSC_ClusTree(),
DSC_DStream_MOA(),
DSC_DenStream(),
DSC_MOA(),
DSC_StreamKM()
# Example 1: Clustering with MCOD
stream <- DSD_Gaussians(k = 3, d = 2, noise = 0.05)
mcod <- DSC_MCOD(r = .1, t = 3, w = 100)
update(mcod, stream, 100)
mcod
plot(mcod, stream, n = 100)
# Example 2: Predict outliers (have a class label of NA)
stream <- DSD_Gaussians(k = 3, d = 2, noise = 0.05)
mcod <- DSOutlier_MCOD(r = .1, t = 3, w = 100)
update(mcod, stream, 100)
plot(mcod, stream, n = 100)
# Retrieve detected outlier positions.
get_outlier_positions(mcod)
# Example 3: evaluate on a stream
evaluate_static(mcod, stream, n = 100, type = "micro",
measure = c("crand", "noisePrecision", "outlierjaccard"))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.