Class LDOF<O>

  • Type Parameters:
    O - the type of objects handled by this algorithm
    All Implemented Interfaces:
    Algorithm, OutlierAlgorithm

    @Title("LDOF: Local Distance-Based Outlier Factor")
    @Description("Local outlier detection appraoch suitable for scattered data by averaging the kNN distance over all k nearest neighbors")
    @Reference(authors="K. Zhang, M. Hutter, H. Jin",
               title="A New Local Distance-Based Outlier Detection Approach for Scattered Real-World Data",
               booktitle="Proc. 13th Pacific-Asia Conf. Adv. Knowledge Discovery and Data Mining (PAKDD 2009)",
               url="https://doi.org/10.1007/978-3-642-01307-2_84",
               bibkey="DBLP:conf/pakdd/ZhangHJ09")
    public class LDOF<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Computes the LDOF (Local Distance-Based Outlier Factor) for all objects of a Database.

    Reference:

    K. Zhang, M. Hutter, H. Jin
    A New Local Distance-Based Outlier Detection Approach for Scattered Real-World Data.
    Proc. 13th Pacific-Asia Conf. Adv. Knowledge Discovery and Data Mining (PAKDD 2009)

    Since:
    0.3
    Author:
    Arthur Zimek
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  LDOF.Par<O>
      Parameterization class.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Distance<? super O> distance
      Distance function used.
      protected int kplus
      Number of neighbors to query + query point itself.
      private static double LDOF_BASELINE
      The baseline for LDOF values.
      private static Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      LDOF​(Distance<? super O> distance, int k)
      Constructor.
    • Field Detail

      • LOG

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

        private static final double LDOF_BASELINE
        The baseline for LDOF values. The paper gives 0.5 for uniform distributions, although one might also discuss using 1.0 as baseline.
        See Also:
        Constant Field Values
      • distance

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

        protected int kplus
        Number of neighbors to query + query point itself.
    • Constructor Detail

      • LDOF

        public LDOF​(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 algorithm
        Parameters:
        relation - Relation to process
        Returns:
        Outlier result