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 class
HiCO.Instance
Instance of the OPTICS algorithm.static class
HiCO.Par
Parameterization class.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description static double
DEFAULT_ALPHA
The default value forHiCO.Par.ALPHA_ID
.static double
DEFAULT_DELTA
The default value forHiCO.Par.DELTA_ID
.private double
deltasq
Delta parameterprivate EigenPairFilter
filter
Filter for selecting eigenvectorsprivate int
k
Number of neighbors to query.private static Logging
LOG
The logger for this class.private int
mu
Mu parameter.private PCARunner
pca
PCA utility object.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
adjust(double[][] v, double[] vector, int corrDim)
Inserts the specified vector into the given orthonormal matrixv
at columncorrDim
.int
correlationDistance(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.int
getMinPts()
Get the minpts value used.ClusterOrder
run(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:Algorithm
Get the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestriction
in 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 matrixv
at columncorrDim
. After insertion the matrixv
is orthonormalized and columncorrDim
of matrixe_czech
is 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:OPTICSTypeAlgorithm
Get the minpts value used. Needed for OPTICS Xi.- Specified by:
getMinPts
in interfaceOPTICSTypeAlgorithm
- Returns:
- minpts value
-
-