Package elki.clustering.correlation
Class HiCO
- java.lang.Object
-
- elki.clustering.correlation.HiCO
-
- All Implemented Interfaces:
Algorithm,GeneralizedOPTICS,OPTICSTypeAlgorithm
@Title("Mining Hierarchies of Correlation Clusters") @Description("Algorithm for detecting hierarchies of correlation clusters.") @Reference(authors="Elke Achtert, Christian B\u00f6hm, Peer Kr\u00f6ger, Arthur Zimek", title="Mining Hierarchies of Correlation Clusters", booktitle="Proc. Int. Conf. on Scientific and Statistical Database Management (SSDBM\'06)", url="https://doi.org/10.1109/SSDBM.2006.35", bibkey="DBLP:conf/ssdbm/AchtertBKZ06") public class HiCO extends java.lang.Object implements GeneralizedOPTICS
Implementation of the HiCO algorithm, an algorithm for detecting hierarchies of correlation clusters.Reference:
Elke Achtert, Christian Böhm, Peer Kröger, Arthur Zimek
Mining Hierarchies of Correlation Clusters.
Proc. Int. Conf. on Scientific and Statistical Database Management (SSDBM'06)- Since:
- 0.1
- Author:
- Elke Achtert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classHiCO.InstanceInstance of the OPTICS algorithm.static classHiCO.ParParameterization class.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_ALPHAThe default value forHiCO.Par.ALPHA_ID.static doubleDEFAULT_DELTAThe default value forHiCO.Par.DELTA_ID.private doubledeltasqDelta parameterprivate EigenPairFilterfilterFilter for selecting eigenvectorsprivate intkNumber of neighbors to query.private static LoggingLOGThe logger for this class.private intmuMu parameter.private PCARunnerpcaPCA utility object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidadjust(double[][] v, double[] vector, int corrDim)Inserts the specified vector into the given orthonormal matrixvat columncorrDim.intcorrelationDistance(PCAFilteredResult pca1, PCAFilteredResult pca2, int dimensionality)Computes the correlation distance between the two subspaces defined by the specified PCAs.TypeInformation[]getInputTypeRestriction()Get the input type restriction used for negotiating the data query.intgetMinPts()Get the minpts value used.ClusterOrderrun(Relation<? extends NumberVector> relation)Run the HiCO algorithm.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.clustering.optics.OPTICSTypeAlgorithm
autorun
-
-
-
-
Field Detail
-
LOG
private static final Logging LOG
The logger for this class.
-
DEFAULT_DELTA
public static final double DEFAULT_DELTA
The default value forHiCO.Par.DELTA_ID.- See Also:
- Constant Field Values
-
DEFAULT_ALPHA
public static final double DEFAULT_ALPHA
The default value forHiCO.Par.ALPHA_ID.- See Also:
- Constant Field Values
-
deltasq
private double deltasq
Delta parameter
-
mu
private int mu
Mu parameter.
-
k
private int k
Number of neighbors to query.
-
pca
private PCARunner pca
PCA utility object.
-
filter
private EigenPairFilter filter
Filter for selecting eigenvectors
-
-
Constructor Detail
-
HiCO
public HiCO(int k, PCARunner pca, double alpha, int mu, double delta)Constructor.- Parameters:
k- number of neighbors kpca- PCA classalpha- Filter for selecting eigenvectorsmu- Mu parameterdelta- Delta parameter
-
-
Method Detail
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:AlgorithmGet the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestrictionin interfaceAlgorithm- Returns:
- Type restriction
-
run
public ClusterOrder run(Relation<? extends NumberVector> relation)
Run the HiCO algorithm.- Parameters:
relation- Data relation- Returns:
- OPTICS cluster order
-
correlationDistance
public int correlationDistance(PCAFilteredResult pca1, PCAFilteredResult pca2, int dimensionality)
Computes the correlation distance between the two subspaces defined by the specified PCAs.- Parameters:
pca1- first PCApca2- second PCAdimensionality- the dimensionality of the data space- Returns:
- the correlation distance between the two subspaces defined by the specified PCAs
-
adjust
private void adjust(double[][] v, double[] vector, int corrDim)Inserts the specified vector into the given orthonormal matrixvat columncorrDim. After insertion the matrixvis orthonormalized and columncorrDimof matrixe_czechis set to thecorrDim-th unit vector.- Parameters:
v- the orthonormal matrix of the eigenvectorsvector- the vector to be insertedcorrDim- the column at which the vector should be inserted
-
getMinPts
public int getMinPts()
Description copied from interface:OPTICSTypeAlgorithmGet the minpts value used. Needed for OPTICS Xi.- Specified by:
getMinPtsin interfaceOPTICSTypeAlgorithm- Returns:
- minpts value
-
-