COF {DDoutlier} | R Documentation |
Connectivity-based Outlier Factor (COF) algorithm
Description
Function to calculate the connectivity-based outlier factor as an outlier score for observations. Suggested by Tang, J., Chen, Z., Fu, A. W. C., & Cheung, D. W. (2002)
Usage
COF(dataset, k = 5)
Arguments
dataset |
The dataset for which observations have a COF score returned |
k |
The number of k-nearest neighbors to construct a SBN-path with, being the number of neighbors for each observation to compare chaining-distance with. k has to be smaller than the number of observations in dataset |
Details
COF computes the connectivity-based outlier factor for observations, being the comparison of chaining-distances between observation subject to outlier scoring and neighboring observations. The COF function is useful for outlier detection in clustering and other multidimensional domains.
Value
A vector of COF scores for observations. The greater the COF, the greater outlierness
Author(s)
Jacob H. Madsen
References
Tang, J., Chen, Z., Fu, A. W. C., & Cheung, D. W. (2002). Enhancing Effectiveness of Outlier Detections for Low Density Patterns. In Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD). Taipei. pp. 535-548. DOI: 10.1007/3-540-47887-6_53
Examples
# Create dataset
X <- iris[,1:4]
# Find outliers by setting an optional k
outlier_score <- COF(dataset=X, k=10)
# Sort and find index for most outlying observations
names(outlier_score) <- 1:nrow(X)
sort(outlier_score, decreasing = TRUE)
# Inspect the distribution of outlier scores
hist(outlier_score)