smile.clustering
Class DENCLUE
- java.lang.Object
-
- smile.clustering.PartitionClustering<double[]>
-
- smile.clustering.DENCLUE
-
- All Implemented Interfaces:
- java.io.Serializable, Clustering<double[]>
public class DENCLUE extends PartitionClustering<double[]> implements java.io.Serializable
DENsity CLUstering. The DENCLUE algorithm employs a cluster model based on kernel density estimation. A cluster is defined by a local maximum of the estimated density function. Data points going to the same local maximum are put into the same cluster.Clearly, DENCLUE doesn't work on data with uniform distribution. In high dimensional space, the data always look like uniformly distributed because of the curse of dimensionality. Therefore, DENCLUDE doesn't work well on high-dimensional data in general.
References
- A. Hinneburg and D. A. Keim. A general approach to clustering in large databases with noise. Knowledge and Information Systems, 5(4):387-415, 2003.
- Alexander Hinneburg and Hans-Henning Gabriel. DENCLUE 2.0: Fast Clustering based on Kernel Density Estimation. IDA, 2007.
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface smile.clustering.Clustering
OUTLIER
-
-
Constructor Summary
Constructors Constructor and Description DENCLUE(double[][] data, double sigma, int m)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method and Description double[][]getDensityAttractors()Returns the density attractors of cluster.doublegetSigma()Returns the smooth (standard deviation) parameter in the Gaussian kernel.intpredict(double[] x)Cluster a new instance.java.lang.StringtoString()-
Methods inherited from class smile.clustering.PartitionClustering
getClusterLabel, getClusterSize, getNumClusters, seed, seed
-
-
-
-
Constructor Detail
-
DENCLUE
public DENCLUE(double[][] data, double sigma, int m)Constructor. Clustering data.- Parameters:
data- the dataset for clustering.sigma- the smooth parameter in the Gaussian kernel. The user can choose sigma such that number of density attractors is constant for a long interval of sigma.m- the number of selected samples used in the iteration. This number should be much smaller than the number of data points to speed up the algorithm. It should also be large enough to capture the sufficient information of underlying distribution.
-
-
Method Detail
-
getSigma
public double getSigma()
Returns the smooth (standard deviation) parameter in the Gaussian kernel.- Returns:
- the smooth (standard deviation) parameter in the Gaussian kernel.
-
getDensityAttractors
public double[][] getDensityAttractors()
Returns the density attractors of cluster.
-
predict
public int predict(double[] x)
Description copied from interface:ClusteringCluster a new instance.- Specified by:
predictin interfaceClustering<double[]>- Parameters:
x- a new instance.- Returns:
- the cluster label.
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-
DataMelt 3.0 © DataMelt by jWork.ORG