Class AbstractDBOutlier<O>

  • Type Parameters:
    O - the type of objects handled by this algorithm
    All Implemented Interfaces:
    elki.Algorithm, OutlierAlgorithm
    Direct Known Subclasses:
    DBOutlierDetection, DBOutlierScore

    @Reference(authors="E. M. Knorr, R. T. Ng",
               title="Algorithms for Mining Distance-Based Outliers in Large Datasets",
               booktitle="Proc. Int. Conf. on Very Large Databases (VLDB\'98)",
               url="http://www.vldb.org/conf/1998/p392.pdf",
               bibkey="DBLP:conf/vldb/KnorrN98")
    public abstract class AbstractDBOutlier<O>
    extends java.lang.Object
    implements OutlierAlgorithm
    Simple distance based outlier detection algorithms.

    Reference:

    E.M. Knorr, R. T. Ng:
    Algorithms for Mining Distance-Based Outliers in Large Datasets,
    In: Proc. Int. Conf. on Very Large Databases (VLDB'98)

    Since:
    0.3
    Author:
    Lisa Reichert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  AbstractDBOutlier.Par<O>
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected double d
      Radius parameter d.
      protected elki.distance.Distance<? super O> distance
      Distance function used.
    • Constructor Summary

      Constructors 
      Constructor Description
      AbstractDBOutlier​(elki.distance.Distance<? super O> distance, double d)
      Constructor with actual parameters.
    • Method Summary

      All Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      protected abstract elki.database.datastore.DoubleDataStore computeOutlierScores​(elki.database.relation.Relation<O> relation, double d)
      computes an outlier score for each object of the database.
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      OutlierResult run​(elki.database.relation.Relation<O> relation)
      Runs the algorithm in the timed evaluation part.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • distance

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

        protected double d
        Radius parameter d.
    • Constructor Detail

      • AbstractDBOutlier

        public AbstractDBOutlier​(elki.distance.Distance<? super O> distance,
                                 double d)
        Constructor with actual parameters.
        Parameters:
        distance - distance function to use
        d - radius d value
    • Method Detail

      • run

        public OutlierResult run​(elki.database.relation.Relation<O> relation)
        Runs the algorithm in the timed evaluation part.
        Parameters:
        relation - Relation to process
        Returns:
        Outlier result
      • computeOutlierScores

        protected abstract elki.database.datastore.DoubleDataStore computeOutlierScores​(elki.database.relation.Relation<O> relation,
                                                                                        double d)
        computes an outlier score for each object of the database.
        Parameters:
        relation - Relation
        d - distance
        Returns:
        computed scores
      • getInputTypeRestriction

        public elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm