Class FastDOC

  • All Implemented Interfaces:
    elki.Algorithm, ClusteringAlgorithm<Clustering<SubspaceModel>>, SubspaceClusteringAlgorithm<SubspaceModel>

    @Title("FastDOC: Density-based Optimal projective Clustering")
    @Reference(authors="C. M. Procopiuc, M. Jones, P. K. Agarwal, T. M. Murali",
               title="A Monte Carlo algorithm for fast projective clustering",
               booktitle="Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD \'02)",
               url="https://doi.org/10.1145/564691.564739",
               bibkey="DBLP:conf/sigmod/ProcopiucJAM02")
    public class FastDOC
    extends DOC
    The heuristic variant of the DOC algorithm, FastDOC

    Reference:

    C. M. Procopiuc, M. Jones, P. K. Agarwal, T. M. Murali
    A Monte Carlo algorithm for fast projective clustering
    In: Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD '02).

    Since:
    0.7.5
    Author:
    Florian Nuecke
    • Nested Class Summary

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

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private int d_zero
      Holds the value of FastDOC.Par.D_ZERO_ID.
      private static elki.logging.Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      FastDOC​(double alpha, double beta, double w, int d_zero, elki.utilities.random.RandomFactory random)
      Constructor.
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        The logger for this class.
    • Constructor Detail

      • FastDOC

        public FastDOC​(double alpha,
                       double beta,
                       double w,
                       int d_zero,
                       elki.utilities.random.RandomFactory random)
        Constructor.
        Parameters:
        alpha - α relative density threshold.
        beta - β balancing parameter for size vs. dimensionality.
        w - half width parameter.
        random - Random factory
    • Method Detail

      • runDOC

        protected Cluster<SubspaceModel> runDOC​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation,
                                                elki.database.ids.ArrayModifiableDBIDs S,
                                                int d,
                                                int n,
                                                int m,
                                                int r,
                                                int minClusterSize)
        Performs a single run of FastDOC, finding a single cluster.
        Overrides:
        runDOC in class DOC
        Parameters:
        relation - used to get actual values for DBIDs.
        S - The set of points we're working on.
        d - Dimensionality of the data set we're currently working on.
        r - Size of random samples.
        m - Number of inner iterations (per seed point).
        n - Number of outer iterations (seed points).
        minClusterSize - Minimum size a cluster must have to be accepted.
        Returns:
        a cluster, if one is found, else null.