|
|
|||||||||||||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||||||||||||
java.lang.Objectde.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<V,Clustering<SubspaceModel<V>>>
de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.CLIQUE<V>
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<V,?>>Implementation of the CLIQUE algorithm, a grid-based algorithm to identify dense clusters in subspaces of maximum dimensionality. The implementation consists of two steps:
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.
| Field Summary | |
|---|---|
private boolean |
prune
Holds the value of PRUNE_FLAG. |
private Flag |
PRUNE_FLAG
Flag 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. |
static OptionID |
PRUNE_ID
OptionID for PRUNE_FLAG |
private double |
tau
Holds the value of TAU_PARAM. |
static OptionID |
TAU_ID
OptionID for TAU_PARAM |
private DoubleParameter |
TAU_PARAM
Parameter 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 |
xsi
Holds the value of XSI_PARAM. |
static OptionID |
XSI_ID
OptionID for XSI_PARAM |
private IntParameter |
XSI_PARAM
Parameter to specify the number of intervals (units) in each dimension, must be an integer greater than 0. |
| Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
|---|
debug, logger |
| Constructor Summary | |
|---|---|
CLIQUE(Parameterization config)
Constructor, adhering to Parameterizable |
|
| Method Summary | |
|---|---|
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<V>,Set<Integer>>> |
determineClusters(Database<V> database,
List<CLIQUESubspace<V>> denseSubspaces)
Determines the clusters in the specified dense subspaces. |
private List<CLIQUESubspace<V>> |
findDenseSubspaceCandidates(Database<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(Database<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(Database<V> database)
Determines the one-dimensional dense subspace candidates by making a pass over the database. |
private List<CLIQUESubspace<V>> |
findOneDimensionalDenseSubspaces(Database<V> database)
Determines the one dimensional dense subspaces and performs a pruning if this option is chosen. |
private Collection<CLIQUEUnit<V>> |
initOneDimensionalUnits(Database<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. |
protected Clustering<SubspaceModel<V>> |
runInTime(Database<V> database)
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. |
| Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm |
|---|
isTime, isVerbose, run, setTime, setVerbose |
| Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
|---|
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.clustering.ClusteringAlgorithm |
|---|
run |
| Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.Algorithm |
|---|
setTime, setVerbose |
| Field Detail |
|---|
public static final OptionID XSI_ID
XSI_PARAM
private final IntParameter XSI_PARAM
Key: -clique.xsi
private int xsi
XSI_PARAM.
public static final OptionID TAU_ID
TAU_PARAM
private final DoubleParameter TAU_PARAM
Key: -clique.tau
private double tau
TAU_PARAM.
public static final OptionID PRUNE_ID
PRUNE_FLAG
private final Flag PRUNE_FLAG
Key: -clique.prune
private boolean prune
PRUNE_FLAG.
| Constructor Detail |
|---|
public CLIQUE(Parameterization config)
Parameterizable
config - Parameterization| Method Detail |
|---|
protected Clustering<SubspaceModel<V>> runInTime(Database<V> database)
throws IllegalStateException
runInTime in class AbstractAlgorithm<V extends NumberVector<V,?>,Clustering<SubspaceModel<V extends NumberVector<V,?>>>>database - the database to run the algorithm on
IllegalStateException - if the algorithm has not been initialized
properly (e.g. the setParameters(String[]) method has been failed
to be called).
private List<Pair<Subspace<V>,Set<Integer>>> determineClusters(Database<V> database,
List<CLIQUESubspace<V>> denseSubspaces)
database - the database to run the algorithm ondenseSubspaces - the dense subspaces in reverse order by their
coverage
private List<CLIQUESubspace<V>> findOneDimensionalDenseSubspaces(Database<V> database)
database - the database to run the algorithm on
private List<CLIQUESubspace<V>> findDenseSubspaces(Database<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 subspaces
k-dimensional dense subspaces sorted in
reverse order by their coverageprivate Collection<CLIQUEUnit<V>> initOneDimensionalUnits(Database<V> database)
database - the database to run the algorithm on
private void updateMinMax(V featureVector,
double[] minima,
double[] maxima)
featureVector - the feature vectorminima - the array of minimamaxima - the array of maximaprivate List<CLIQUESubspace<V>> findOneDimensionalDenseSubspaceCandidates(Database<V> database)
database - the database to run the algorithm on
private List<CLIQUESubspace<V>> findDenseSubspaceCandidates(Database<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 subspaces
k-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 coverage
private int[][] computeMeans(List<CLIQUESubspace<V>> denseSubspaces)
denseSubspaces - the dense subspaces in reverse order by their
coverage
private 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 P
|
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||||