stranger
is a framework for unsupervised anomalies detection that
simplifies the user experience because the one does not need to be
concerned with the many packages and functions that are required. It
acts as a wrapper around existing packages (“a la Caret”) and provides
in a clean and uniform toolkit for evaluation explaination reporting
routines. Hence the name stranger
taht stands for “Simple Toolkit in R
for Anomalies Get Explain and Report”.
stranger
provides wrapper around several packages that contain anomaly
detection routines. One approach is called a weird
. Currently
implemented methods (weirds) can be obtained by using weird_list
function. Underlying methods deal with: Angle-based Outlier Factor,
autoencode, isolation Forest, kmeans (), k-Nearest Neighbour, Local
Outlier Factor, Mahalanobis distance, Semi-robust principal components
> distances, randomforest outlier metric.
Obviously, to be able to exploit stranger
, user will need to have
various packages installed – those ones containing computational
routines.
| weird_method | name | package | package.source | foo | detail | |:---------------------|:------|:------|:-------|:------|:---------------------| | Angle-based Outlier Factor | abod | abodOutlier | CRAN | abod | Numeric value (outlier factor) | | autoencode | autoencode | autoencoder | CRAN | autoencode | Positive numeric value (probability) | | isolation Forest | isofor | isofor | github | iForest | Positive numeric value (distance) | | kmeans () | kmeans | stats | rbase | kmeans | Positive numeric value (distance) | | k-Nearest Neighbour | knn | FNN | CRAN | knn.dist | Positive numeric value (distance) | | Local Outlier Factor | lof | dbscan | CRAN | lof | Positive numeric value (local outlier factors) | | Mahalanobis distance | mahalanobis | stats | rbase | mahalanobis | Positive numeric value (distance) | | Semi-robust principal components > distances | pcout | mvoutlier | CRAN | pcout | Positive numeric value (distance) | | randomforest outlier metric | randomforest | randomForest | CRAN | randomForest | Positive numeric value (distance) |
Using stranger
, user has at disposal an analysis workflow.
Main functions associated with proposed analysis workflow deal with:
crazyfy
:
treating missing values, factors/charaters variables (methods
usually require numeric values), deduplicate data (but keeping a
matching table to restore all records), scaling (important!)…strange
(using one weird) or
stranger
(using many weirds at
once).singularize
.get_anomalies
fortify
methods.In addition, those steps lead to objects having a specific S3 class and
some visualization is possible thanks to dedicated
plot
methods.
stranger
packageWe did write some vignette to accompany you in the discovery of
anomalies using stranger
. We recommend to read vignettes in the
following order:
stranger
function, the possibility to
merge
, stack (aggregate) methods and
normalize metics with singularize
and also derive your own anomalies based on manual filtering.stranger
is not currently available on CRAN. Install it from github:
# install.packages(devtools)
devtools::install_github("welovedatascience/stranger")
get_info
methods for every classAdd the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.