
V - the type of NumberVector handled by this Algorithm@Title(value="CLIQUE: Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications") @Description(value="Grid-based algorithm to identify dense clusters in subspaces of maximum dimensionality.") @Reference(authors="R. Agrawal, J. Gehrke, D. Gunopulos, P. Raghavan", title="Automatic Subspace Clustering of High Dimensional Data for Data Mining Applications", booktitle="Proc. SIGMOD Conference, Seattle, WA, 1998", url="http://dx.doi.org/10.1145/276304.276314") public class CLIQUE<V extends NumberVector> extends AbstractAlgorithm<Clustering<SubspaceModel>> implements SubspaceClusteringAlgorithm<SubspaceModel>
 Reference: 
 R. Agrawal, J. Gehrke, D. Gunopulos, P. Raghavan: Automatic Subspace
 Clustering of High Dimensional Data for Data Mining Applications. 
 In Proc. ACM SIGMOD Int. Conf. on Management of Data, Seattle, WA, 1998.
 
| Modifier and Type | Class and Description | 
|---|---|
| static class  | CLIQUE.Parameterizer<V extends NumberVector>Parameterization class. | 
| Modifier and Type | Field and Description | 
|---|---|
| private static Logging | LOGThe logger for this class. | 
| private boolean | pruneHolds the value of  PRUNE_ID. | 
| static OptionID | PRUNE_IDFlag to indicate that only subspaces with large coverage (i.e. the fraction
 of the database that is covered by the dense units) are selected, the rest
 will be pruned. | 
| private double | tauHolds the value of  TAU_ID. | 
| static OptionID | TAU_IDParameter to specify the density threshold for the selectivity of a unit,
 where the selectivity is the fraction of total feature vectors contained in
 this unit, must be a double greater than 0 and less than 1. | 
| private int | xsiHolds the value of  XSI_ID. | 
| static OptionID | XSI_IDParameter to specify the number of intervals (units) in each dimension,
 must be an integer greater than 0. | 
| Constructor and Description | 
|---|
| CLIQUE(int xsi,
      double tau,
      boolean prune)Constructor. | 
| Modifier and Type | Method and Description | 
|---|---|
| private double[][] | computeDiffs(List<CLIQUESubspace<V>> denseSubspaces,
            int[] mi,
            int[] mp)The specified sorted list of dense subspaces is divided into the selected
 set I and the pruned set P. | 
| private int[][] | computeMeans(List<CLIQUESubspace<V>> denseSubspaces)The specified sorted list of dense subspaces is divided into the selected
 set I and the pruned set P. | 
| private List<Pair<Subspace,ModifiableDBIDs>> | determineClusters(List<CLIQUESubspace<V>> denseSubspaces)Determines the clusters in the specified dense subspaces. | 
| private List<CLIQUESubspace<V>> | findDenseSubspaceCandidates(Relation<V> database,
                           List<CLIQUESubspace<V>> denseSubspaces)Determines the  k-dimensional dense subspace candidates from the
 specified(k-1)-dimensional dense subspaces. | 
| private List<CLIQUESubspace<V>> | findDenseSubspaces(Relation<V> database,
                  List<CLIQUESubspace<V>> denseSubspaces)Determines the  k-dimensional dense subspaces and performs a pruning
 if this option is chosen. | 
| private List<CLIQUESubspace<V>> | findOneDimensionalDenseSubspaceCandidates(Relation<V> database)Determines the one-dimensional dense subspace candidates by making a pass
 over the database. | 
| private List<CLIQUESubspace<V>> | findOneDimensionalDenseSubspaces(Relation<V> database)Determines the one dimensional dense subspaces and performs a pruning if
 this option is chosen. | 
| TypeInformation[] | getInputTypeRestriction()Get the input type restriction used for negotiating the data query. | 
| protected Logging | getLogger()Get the (STATIC) logger for this class. | 
| private Collection<CLIQUEUnit<V>> | initOneDimensionalUnits(Relation<V> database)Initializes and returns the one dimensional units. | 
| private List<CLIQUESubspace<V>> | pruneDenseSubspaces(List<CLIQUESubspace<V>> denseSubspaces)Performs a MDL-based pruning of the specified dense subspaces as described
 in the CLIQUE algorithm. | 
| Clustering<SubspaceModel> | run(Relation<V> relation)Performs the CLIQUE algorithm on the given database. | 
| private void | updateMinMax(V featureVector,
            double[] minima,
            double[] maxima)Updates the minima and maxima array according to the specified feature
 vector. | 
makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
public static final OptionID XSI_ID
 Key: -clique.xsi
 
public static final OptionID TAU_ID
 Key: -clique.tau
 
public static final OptionID PRUNE_ID
 Key: -clique.prune
 
private int xsi
XSI_ID.private double tau
TAU_ID.private boolean prune
PRUNE_ID.public CLIQUE(int xsi,
              double tau,
              boolean prune)
xsi - Xsi valuetau - Tau valueprune - Prune flagpublic Clustering<SubspaceModel> run(Relation<V> relation)
relation - Data relation to processprivate List<Pair<Subspace,ModifiableDBIDs>> determineClusters(List<CLIQUESubspace<V>> denseSubspaces)
denseSubspaces - the dense subspaces in reverse order by their
        coverageprivate List<CLIQUESubspace<V>> findOneDimensionalDenseSubspaces(Relation<V> database)
database - the database to run the algorithm onprivate List<CLIQUESubspace<V>> findDenseSubspaces(Relation<V> database, List<CLIQUESubspace<V>> denseSubspaces)
k-dimensional dense subspaces and performs a pruning
 if this option is chosen.database - the database to run the algorithm ondenseSubspaces - the (k-1)-dimensional dense subspacesk-dimensional dense subspaces sorted in
         reverse order by their coverageprivate Collection<CLIQUEUnit<V>> initOneDimensionalUnits(Relation<V> database)
database - the database to run the algorithm onprivate void updateMinMax(V featureVector, double[] minima, double[] maxima)
featureVector - the feature vectorminima - the array of minimamaxima - the array of maximaprivate List<CLIQUESubspace<V>> findOneDimensionalDenseSubspaceCandidates(Relation<V> database)
database - the database to run the algorithm onprivate List<CLIQUESubspace<V>> findDenseSubspaceCandidates(Relation<V> database, List<CLIQUESubspace<V>> denseSubspaces)
k-dimensional dense subspace candidates from the
 specified (k-1)-dimensional dense subspaces.database - the database to run the algorithm ondenseSubspaces - the (k-1)-dimensional dense subspacesk-dimensional dense subspace candidates
         reverse ordered by their coverageprivate List<CLIQUESubspace<V>> pruneDenseSubspaces(List<CLIQUESubspace<V>> denseSubspaces)
denseSubspaces - the subspaces to be pruned sorted in reverse order by
        their coverageprivate int[][] computeMeans(List<CLIQUESubspace<V>> denseSubspaces)
denseSubspaces - the dense subspaces in reverse order by their
        coverageprivate double[][] computeDiffs(List<CLIQUESubspace<V>> denseSubspaces, int[] mi, int[] mp)
denseSubspaces - denseSubspaces the dense subspaces in reverse order
        by their coveragemi - the mean of the selected sets Imp - the mean of the pruned sets Ppublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<Clustering<SubspaceModel>>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<Clustering<SubspaceModel>>Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.