Class IDOS<O>

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

    @Title("IDOS: Intrinsic Dimensional Outlier Score")
    @Reference(authors="Jonathan von Br\u00fcnken, Michael E. Houle, Arthur Zimek",
               title="Intrinsic Dimensional Outlier Detection in High-Dimensional Data",
               booktitle="NII Technical Report (NII-2015-003E)",
               url="http://www.nii.ac.jp/TechReports/15-003E.html",
               bibkey="tr/nii/BrunkenHZ15")
    public class IDOS<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Intrinsic Dimensional Outlier Detection in High-Dimensional Data.

    Reference:

    Jonathan von Brünken, Michael E. Houle, Arthur Zimek
    Intrinsic Dimensional Outlier Detection in High-Dimensional Data
    NII Technical Report (NII-2015-003E)

    Since:
    0.7.0
    Author:
    Jonathan von Brünken, Erich Schubert
    • Field Detail

      • LOG

        private static final Logging LOG
        The logger for this class.
      • distance

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

        protected int k_c
        kNN for the context set (ID computation).
      • k_r

        protected int k_r
        kNN for the reference set.
    • Constructor Detail

      • IDOS

        public IDOS​(Distance<? super O> distance,
                    IntrinsicDimensionalityEstimator<? super O> estimator,
                    int kc,
                    int kr)
        Constructor.
        Parameters:
        distance - the distance function to use
        estimator - Estimator for intrinsic dimensionality
        kc - the context set size for the ID computation
        kr - the neighborhood size to use in score computation
    • 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 algorithm
        Parameters:
        relation - Data relation
        Returns:
        Outlier result
      • computeIDs

        protected DoubleDataStore computeIDs​(DBIDs ids,
                                             KNNSearcher<DBIDRef> knnQ,
                                             DistanceQuery<O> distQ)
        Computes all IDs
        Parameters:
        ids - the DBIDs to process
        knnQ - the KNN query
        distQ - the distance query
        Returns:
        The computed intrinsic dimensionalities.
      • computeIDOS

        protected DoubleDataStore computeIDOS​(DBIDs ids,
                                              KNNSearcher<DBIDRef> knnQ,
                                              DoubleDataStore intDims,
                                              DoubleMinMax idosminmax)
        Computes all IDOS scores.
        Parameters:
        ids - the DBIDs to process
        knnQ - the KNN query
        intDims - Precomputed intrinsic dimensionalities
        idosminmax - Output of minimum and maximum, for metadata
        Returns:
        ID scores