Class ParallelKNNOutlier<O>

  • Type Parameters:
    O - Object type
    All Implemented Interfaces:
    Algorithm, OutlierAlgorithm

    @Reference(authors="Erich Schubert, Arthur Zimek, Hans-Peter Kriegel",
               title="Local Outlier Detection Reconsidered: a Generalized View on Locality with Applications to Spatial, Video, and Network Outlier Detection",
               booktitle="Data Mining and Knowledge Discovery 28(1)",
               url="https://doi.org/10.1007/s10618-012-0300-z",
               bibkey="DBLP:journals/datamine/SchubertZK14")
    public class ParallelKNNOutlier<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Parallel implementation of KNN Outlier detection.

    Reference:

    S. Ramaswamy, R. Rastogi, K. Shim
    Efficient Algorithms for Mining Outliers from Large Data Sets
    Proc. of the Int. Conf. on Management of Data

    This parallelized implementation is based on the easy-to-parallelize generalized pattern discussed in

    Erich Schubert, Arthur Zimek, Hans-Peter Kriegel
    Local Outlier Detection Reconsidered: a Generalized View on Locality with Applications to Spatial, Video, and Network Outlier Detection
    Data Mining and Knowledge Discovery 28(1)

    Since:
    0.7.0
    Author:
    Erich Schubert
    • Field Detail

      • distance

        protected Distance<? super O> distance
        Distance function used.
      • kplus

        protected int kplus
        Parameter k + 1
    • Constructor Detail

      • ParallelKNNOutlier

        public ParallelKNNOutlier​(Distance<? super O> distance,
                                  int k)
        Constructor.
        Parameters:
        distance - Distance function
        k - K parameter
    • Method Detail

      • getInputTypeRestriction

        public TypeInformation[] getInputTypeRestriction()
        Description copied from interface: Algorithm
        Get the input type restriction used for negotiating the data query.
        Specified by:
        getInputTypeRestriction in interface Algorithm
        Returns:
        Type restriction
      • run

        public OutlierResult run​(Relation<O> relation)
        Run the parallel kNN outlier detector.
        Parameters:
        relation - Relation to analyze
        Returns:
        Outlier detection result