Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.algorithm.clustering.subspace
Class ProjectedClustering<V extends RealVector<V,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
          extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<V,Clustering<Model>>
              extended by de.lmu.ifi.dbs.elki.algorithm.clustering.subspace.ProjectedClustering<V>
Type Parameters:
V - the type of Realvector handled by this Algorithm
All Implemented Interfaces:
Algorithm<V,Clustering<Model>>, ClusteringAlgorithm<Clustering<Model>,V>, Parameterizable
Direct Known Subclasses:
ORCLUS, PROCLUS

public abstract class ProjectedClustering<V extends RealVector<V,?>>
extends AbstractAlgorithm<V,Clustering<Model>>
implements ClusteringAlgorithm<Clustering<Model>,V>

Abstract superclass for projected clustering algorithms, like PROCLUS and ORCLUS.

Author:
Elke Achtert

Field Summary
private  EuclideanDistanceFunction<V> distanceFunction
          The euclidean distance function.
private  int k
          Holds the value of K_PARAM.
private  int k_i
          Holds the value of K_I_PARAM.
static OptionID K_I_ID
          OptionID for K_I_PARAM
private  IntParameter K_I_PARAM
          Parameter to specify the multiplier for the initial number of seeds, must be an integer greater than 0.
static OptionID K_ID
          OptionID for K_PARAM
private  IntParameter K_PARAM
          Parameter to specify the number of clusters to find, must be an integer greater than 0.
private  int l
          Holds the value of L_PARAM.
static OptionID L_ID
          OptionID for L_PARAM
private  IntParameter L_PARAM
          Parameter to specify the dimensionality of the clusters to find, must be an integer greater than 0.
private  Clustering<Model> result
          The result.
 
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, logger
 
Constructor Summary
ProjectedClustering()
          Adds parameters K_PARAM, K_I_PARAM, and L_PARAM to the option handler additionally to parameters of super class.
 
Method Summary
protected  EuclideanDistanceFunction<V> getDistanceFunction()
          Returns the distance function.
protected  int getK_i()
          Returns the value of K_I_PARAM.
protected  int getK()
          Returns the value of K_PARAM.
protected  int getL()
          Returns the value of L_PARAM..
 Clustering<Model> getResult()
          Retrieve the result.
 List<String> setParameters(List<String> args)
          Calls the super method and sets additionally the value of the parameters K_PARAM, K_I_PARAM, and L_PARAM.
protected  void setResult(Clustering<Model> result)
          Sets the result of this algorithm.
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
isTime, isVerbose, run, runInTime, setTime, setVerbose
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable, shortDescription
 
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
getDescription, setTime, setVerbose
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, collectOptions, getParameters, shortDescription
 

Field Detail

K_ID

public static final OptionID K_ID
OptionID for K_PARAM


K_PARAM

private final IntParameter K_PARAM
Parameter to specify the number of clusters to find, must be an integer greater than 0.

Key: -projectedclustering.k


k

private int k
Holds the value of K_PARAM.


K_I_ID

public static final OptionID K_I_ID
OptionID for K_I_PARAM


K_I_PARAM

private final IntParameter K_I_PARAM
Parameter to specify the multiplier for the initial number of seeds, must be an integer greater than 0.

Default value: 30

Key: -projectedclustering.k_i


k_i

private int k_i
Holds the value of K_I_PARAM.


L_ID

public static final OptionID L_ID
OptionID for L_PARAM


L_PARAM

private final IntParameter L_PARAM
Parameter to specify the dimensionality of the clusters to find, must be an integer greater than 0.

Key: -projectedclustering.l


l

private int l
Holds the value of L_PARAM.


distanceFunction

private EuclideanDistanceFunction<V extends RealVector<V,?>> distanceFunction
The euclidean distance function.


result

private Clustering<Model> result
The result.

Constructor Detail

ProjectedClustering

public ProjectedClustering()
Adds parameters K_PARAM, K_I_PARAM, and L_PARAM to the option handler additionally to parameters of super class.

Method Detail

setParameters

public List<String> setParameters(List<String> args)
                           throws ParameterException
Calls the super method and sets additionally the value of the parameters K_PARAM, K_I_PARAM, and L_PARAM.

Specified by:
setParameters in interface Parameterizable
Overrides:
setParameters in class AbstractAlgorithm<V extends RealVector<V,?>,Clustering<Model>>
Parameters:
args - parameters to set the attributes accordingly to
Returns:
a list containing the unused parameters
Throws:
ParameterException - in case of wrong parameter-setting

getResult

public Clustering<Model> getResult()
Description copied from interface: ClusteringAlgorithm
Retrieve the result.

Specified by:
getResult in interface Algorithm<V extends RealVector<V,?>,Clustering<Model>>
Specified by:
getResult in interface ClusteringAlgorithm<Clustering<Model>,V extends RealVector<V,?>>
Returns:
the result of the algorithm

getDistanceFunction

protected EuclideanDistanceFunction<V> getDistanceFunction()
Returns the distance function.

Returns:
the distance function

getK

protected int getK()
Returns the value of K_PARAM.

Returns:
the number of clusters to be found

getK_i

protected int getK_i()
Returns the value of K_I_PARAM.

Returns:
the initial number of clusters

getL

protected int getL()
Returns the value of L_PARAM..

Returns:
the average dimensionality of the clusters to be found

setResult

protected void setResult(Clustering<Model> result)
Sets the result of this algorithm.

Parameters:
result - the result to be set

Release 0.2.1 (2009-07-13_1605)