|
|
|||||||||||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectde.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.ProjectedDBSCAN<V>
V
- the type of Realvector handled by this Algorithmpublic abstract class ProjectedDBSCAN<V extends RealVector<V,?>>
Provides an abstract algorithm requiring a VarianceAnalysisPreprocessor.
Field Summary | |
---|---|
static OptionID |
DBSCAN_EPSILON_ID
OptionID for EPSILON_PARAM |
protected ClassParameter<AbstractLocallyWeightedDistanceFunction> |
DISTANCE_FUNCTION_PARAM
Parameter to specify the distance function to determine the distance between database objects, must extend AbstractLocallyWeightedDistanceFunction . |
private AbstractLocallyWeightedDistanceFunction<V,?> |
distanceFunction
The distance function. |
static OptionID |
DISTANCEFUNCTION_ID
OptionID for DISTANCE_FUNCTION_PARAM |
protected String |
epsilon
Epsilon. |
private PatternParameter |
EPSILON_PARAM
Parameter to specify the maximum radius of the neighborhood to be considered, must be suitable to LocallyWeightedDistanceFunction . |
private int |
lambda
Keeps lambda. |
static OptionID |
LAMBDA_ID
OptionID for LAMBDA_PARAM |
private IntParameter |
LAMBDA_PARAM
Parameter to specify the intrinsic dimensionality of the clusters to find, must be an integer greater than 0. |
protected int |
minpts
Minimum points. |
static OptionID |
MINPTS_ID
OptionID for MINPTS_PARAM |
private IntParameter |
MINPTS_PARAM
Parameter to specify the threshold for minimum number of points in the epsilon-neighborhood of a point, must be an integer greater than 0. |
private Set<Integer> |
noise
Holds a set of noise. |
private Set<Integer> |
processedIDs
Holds a set of processed ids. |
private ClustersPlusNoise<V> |
result
Provides the result of the algorithm. |
private List<List<Integer>> |
resultList
Holds a list of clusters found. |
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 | |
---|---|
protected |
ProjectedDBSCAN()
Provides the abstract algorithm for variance analysis based DBSCAN. |
Method Summary | |
---|---|
protected void |
expandCluster(Database<V> database,
Integer startObjectID,
Progress progress)
ExpandCluster function of DBSCAN. |
List<AttributeSettings> |
getAttributeSettings()
Returns the settings of all options assigned to the option handler. |
ClustersPlusNoise<V> |
getResult()
Returns the result of the algorithm. |
abstract Class<?> |
preprocessorClass()
Returns the class actually used as VarianceAnalysisPreprocessor . |
protected void |
runInTime(Database<V> database)
The run method encapsulated in measure of runtime. |
String[] |
setParameters(String[] args)
Grabs all specified options from the option handler and sets the values for the flags AbstractAlgorithm.VERBOSE_FLAG and AbstractAlgorithm.TIME_FLAG . |
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, 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 |
---|
getDescription, run, setTime, setVerbose |
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable |
---|
checkGlobalParameterConstraints, description, getParameters, getPossibleOptions, inlineDescription |
Field Detail |
---|
public static final OptionID DISTANCEFUNCTION_ID
DISTANCE_FUNCTION_PARAM
public static final OptionID DBSCAN_EPSILON_ID
EPSILON_PARAM
public static final OptionID LAMBDA_ID
LAMBDA_PARAM
public static final OptionID MINPTS_ID
MINPTS_PARAM
protected final ClassParameter<AbstractLocallyWeightedDistanceFunction> DISTANCE_FUNCTION_PARAM
AbstractLocallyWeightedDistanceFunction
.
Key: -projdbscan.distancefunction
Default value: EuklideanDistanceFunction
private final PatternParameter EPSILON_PARAM
LocallyWeightedDistanceFunction
.
Key: -projdbscan.epsilon
private final IntParameter LAMBDA_PARAM
Key: -projdbscan.lambda
private final IntParameter MINPTS_PARAM
Key: -projdbscan.minpts
protected String epsilon
protected int minpts
private int lambda
private List<List<Integer>> resultList
private ClustersPlusNoise<V extends RealVector<V,?>> result
private Set<Integer> noise
private Set<Integer> processedIDs
private AbstractLocallyWeightedDistanceFunction<V extends RealVector<V,?>,?> distanceFunction
Constructor Detail |
---|
protected ProjectedDBSCAN()
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)
protected void expandCluster(Database<V> database, Integer startObjectID, Progress progress)
database
- the database to run the algorithm onstartObjectID
- the object id of the database object to start the expansion withprogress
- the progress object for logging the current statuspublic String[] setParameters(String[] args) throws ParameterException
AbstractAlgorithm
AbstractAlgorithm.VERBOSE_FLAG
and AbstractAlgorithm.TIME_FLAG
.
Any extending class should
call this method first and return the returned array without further
changes, but after setting further required parameters. An example for
overwritting this method taking advantage from the previously (in
superclasses) defined options would be:
{ String[] remainingParameters = super.setParameters(args); // set parameters for your class // for example like this: if(isSet(MY_PARAM_VALUE_PARAM)) { myParamValue = getParameterValue(MY_PARAM_VALUE_PARAM); } . . . return remainingParameters; // or in case of attributes requesting parameters themselves // return parameterizableAttribbute.setParameters(remainingParameters); }
setParameters
in interface Parameterizable
setParameters
in class AbstractAlgorithm<V extends RealVector<V,?>>
args
- parameters to set the attributes accordingly to
ParameterException
- in case of wrong parameter-settingParameterizable.setParameters(String[])
public List<AttributeSettings> getAttributeSettings()
AbstractParameterizable
getAttributeSettings
in interface Parameterizable
getAttributeSettings
in class AbstractParameterizable
Parameterizable.getAttributeSettings()
public abstract Class<?> preprocessorClass()
VarianceAnalysisPreprocessor
.
VarianceAnalysisPreprocessor
public ClustersPlusNoise<V> getResult()
Algorithm
getResult
in interface Algorithm<V extends RealVector<V,?>>
getResult
in interface Clustering<V extends RealVector<V,?>>
Algorithm.getResult()
|
|
||||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |