|
|
|||||||||||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object de.lmu.ifi.dbs.elki.logging.AbstractLoggable de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<V> de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.ProjectedClustering<V> de.lmu.ifi.dbs.elki.algorithm.clustering.correlation.ORCLUS<V>
V
- the type of Realvector handled by this Algorithmpublic class ORCLUS<V extends RealVector<V,?>>
ORCLUS provides the ORCLUS algorithm.
Nested Class Summary | |
---|---|
private class |
ORCLUS.Cluster
Encapsulates the attributes of a cluster. |
private class |
ORCLUS.ProjectedEnergy
|
Field Summary | |
---|---|
private double |
alpha
Holds alpha. |
private DoubleParameter |
ALPHA_PARAM
Parameter to specify the factor for reducing the number of current clusters in each iteration, must be an integer greater than 0 and less than 1. |
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.ProjectedClustering |
---|
K_I_ID, K_ID, L_ID |
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable |
---|
optionHandler |
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
---|
debug |
Constructor Summary | |
---|---|
ORCLUS()
Adds the parameter ALPHA_PARAM additionally to the
parameters provided by super-classes. |
Method Summary | |
---|---|
private void |
assign(Database<V> database,
List<ORCLUS.Cluster> clusters)
Creates a partitioning of the database by assigning each object to its closest seed. |
private Matrix |
findBasis(Database<V> database,
ORCLUS.Cluster cluster,
int dim)
Finds the basis of the subspace of dimensionality dim for the specified cluster. |
Description |
getDescription()
Returns a description of the algorithm. |
private List<ORCLUS.Cluster> |
initialSeeds(Database<V> database,
int k)
Initializes the list of seeds wit a random sample of size k. |
private void |
merge(Database<V> database,
List<ORCLUS.Cluster> clusters,
int k_new,
int d_new)
Reduces the number of seeds to k_new |
private ORCLUS.ProjectedEnergy |
projectedEnergy(Database<V> database,
ORCLUS.Cluster c_i,
ORCLUS.Cluster c_j,
int i,
int j,
int dim)
Computes the projected energy of the specified clusters. |
private V |
projection(ORCLUS.Cluster c,
V o)
Returns the projection of real vector o in the subspace of cluster c. |
protected void |
runInTime(Database<V> database)
The run method encapsulated in measure of runtime. |
String[] |
setParameters(String[] args)
Sets the parameters ALPHA_PARAM additionally to the parameters set by the
super-class' method. |
private ORCLUS.Cluster |
union(Database<V> database,
ORCLUS.Cluster c1,
ORCLUS.Cluster c2,
int dim)
Returns the union of the two specified clusters. |
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.ProjectedClustering |
---|
getDistanceFunction, getK_i, getK, getL, getResult, setResult |
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm |
---|
description, isTime, isVerbose, run, setTime, setVerbose |
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable |
---|
addOption, checkGlobalParameterConstraints, deleteOption, description, description, getAttributeSettings, getParameters, getParameterValue, getPossibleOptions, inlineDescription, isSet, setParameters |
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable |
---|
debugFine, debugFiner, debugFinest, exception, message, progress, progress, progress, verbose, 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.Algorithm |
---|
run, setTime, setVerbose |
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable |
---|
checkGlobalParameterConstraints, description, getAttributeSettings, getParameters, getPossibleOptions, inlineDescription |
Field Detail |
---|
private final DoubleParameter ALPHA_PARAM
Default value: 0.5
Key: -orclus.alpha
private double alpha
Constructor Detail |
---|
public ORCLUS()
ALPHA_PARAM
additionally to the
parameters provided by super-classes.
Method Detail |
---|
protected void runInTime(Database<V> database) throws IllegalStateException
AbstractAlgorithm
runInTime
in class AbstractAlgorithm<V extends RealVector<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).AbstractAlgorithm.runInTime(Database)
public Description getDescription()
Algorithm
Algorithm.getDescription()
public String[] setParameters(String[] args) throws ParameterException
ALPHA_PARAM
additionally to the parameters set by the
super-class' method.
setParameters
in interface Parameterizable
setParameters
in class ProjectedClustering<V extends RealVector<V,?>>
args
- parameters to set the attributes accordingly to
ParameterException
- in case of wrong parameter-settingParameterizable.setParameters(String[])
private List<ORCLUS.Cluster> initialSeeds(Database<V> database, int k)
database
- the database holding the objectsk
- the size of the random sample
private void assign(Database<V> database, List<ORCLUS.Cluster> clusters)
database
- the database holding the objectsclusters
- the array of clusters to which the objects should be assigned
toprivate Matrix findBasis(Database<V> database, ORCLUS.Cluster cluster, int dim)
dim
for the specified cluster.
database
- the database to run the algorithm oncluster
- the clusterdim
- the dimensionality of the subspace
private void merge(Database<V> database, List<ORCLUS.Cluster> clusters, int k_new, int d_new)
database
- the database holding the objectsclusters
- the set of current seedsk_new
- the new number of seedsd_new
- the new dimensionality of the subspaces for each seedprivate ORCLUS.ProjectedEnergy projectedEnergy(Database<V> database, ORCLUS.Cluster c_i, ORCLUS.Cluster c_j, int i, int j, int dim)
database
- the database holding the objectsc_i
- the first clusterc_j
- the second clusteri
- the index of cluster c_i in the cluster listj
- the index of cluster c_j in the cluster listdim
- the dimensionality of the clusters
private ORCLUS.Cluster union(Database<V> database, ORCLUS.Cluster c1, ORCLUS.Cluster c2, int dim)
database
- the database holding the objectsc1
- the first clusterc2
- the second clusterdim
- the dimensionality of the union cluster
private V projection(ORCLUS.Cluster c, V o)
c
- the clustero
- the double vector
|
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |