Package weka.clusterers
Class OPTICS
java.lang.Object
weka.clusterers.AbstractClusterer
weka.clusterers.OPTICS
- All Implemented Interfaces:
Serializable,Cloneable,Clusterer,CapabilitiesHandler,OptionHandler,RevisionHandler,TechnicalInformationHandler
Basic implementation of OPTICS clustering algorithm that should *not* be used as a reference for runtime benchmarks: more sophisticated implementations exist! Clustering of new instances is not supported. More info:
Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel, Joerg Sander: OPTICS: Ordering Points To Identify the Clustering Structure. In: ACM SIGMOD International Conference on Management of Data, 49-60, 1999. BibTeX:
Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel, Joerg Sander: OPTICS: Ordering Points To Identify the Clustering Structure. In: ACM SIGMOD International Conference on Management of Data, 49-60, 1999. BibTeX:
@inproceedings{Ankerst1999,
author = {Mihael Ankerst and Markus M. Breunig and Hans-Peter Kriegel and Joerg Sander},
booktitle = {ACM SIGMOD International Conference on Management of Data},
pages = {49-60},
publisher = {ACM Press},
title = {OPTICS: Ordering Points To Identify the Clustering Structure},
year = {1999}
}
Valid options are:
-E <double> epsilon (default = 0.9)
-M <int> minPoints (default = 6)
-I <String> index (database) used for OPTICS (default = weka.clusterers.forOPTICSAndDBScan.Databases.SequentialDatabase)
-D <String> distance-type (default = weka.clusterers.forOPTICSAndDBScan.DataObjects.EuclideanDataObject)
-F write results to OPTICS_#TimeStamp#.TXT - File
-no-gui suppress the display of the GUI after building the clusterer
-db-output <file>
The file to save the generated database to. If a directory
is provided, the database doesn't get saved.
The generated file can be viewed with the OPTICS Visualizer:
java weka.clusterers.forOPTICSAndDBScan.OPTICS_GUI.OPTICS_Visualizer [file.ser]
(default: .)
- Version:
- $Revision: 9434 $
- Author:
- Matthias Schubert (schubert@dbs.ifi.lmu.de), Zhanna Melnikova-Albrecht (melnikov@cip.ifi.lmu.de), Rainer Holzmann (holzmann@cip.ifi.lmu.de)
- See Also:
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidbuildClusterer(Instances instances) Generate Clustering via OPTICSintclusterInstance(Instance instance) Classifies a given instance.Returns the tip text for this propertyReturns the tip text for this propertydatabaseForName(String database_Type, Instances instances) Returns a new Class-Instance of the specified databaseReturns the tip text for this property.dataObjectForName(String database_distanceType, Instance instance, String key, Database database) Returns a new Class-Instance of the specified databaseReturns the tip text for this propertyReturns default capabilities of the clusterer.Returns the distance-typeReturns the type of the used index (database)Returns the file to save the database to - if directory, database is not saved.doubleReturns the value of epsilonintReturns the value of minPointsString[]Gets the current option settings for the OptionHandler.Returns the resultVectorReturns the revision string.Returns the internal databasebooleanReturns the flag for showing the OPTICS visualizer GUI.Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.booleanReturns the flag for writing actionsReturns a string describing this DataMining-AlgorithmReturns an enumeration of all the available options.static voidMain Method for testing OPTICSReturns the tip text for this propertyintReturns the number of clusters.voidsetDatabase_distanceType(String database_distanceType) Sets a new distance-typevoidsetDatabase_Type(String database_Type) Sets a new database-typevoidsetDatabaseOutput(File value) Sets the the file to save the generated database to.voidsetEpsilon(double epsilon) Sets a new value for epsilonvoidsetMinPoints(int minPoints) Sets a new value for minPointsvoidsetOptions(String[] options) Sets the OptionHandler's options using the given list.voidsetShowGUI(boolean value) Sets the flag for displaying the GUI.voidsetWriteOPTICSresults(boolean writeOPTICSresults) Sets the flag for writing actionsReturns the tip text for this property.toString()Returns a description of the clustererReturns the tip text for this propertyMethods inherited from class weka.clusterers.AbstractClusterer
distributionForInstance, forName, makeCopies, makeCopy
-
Constructor Details
-
OPTICS
public OPTICS()
-
-
Method Details
-
getCapabilities
Returns default capabilities of the clusterer.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Specified by:
getCapabilitiesin interfaceClusterer- Overrides:
getCapabilitiesin classAbstractClusterer- Returns:
- the capabilities of this clusterer
- See Also:
-
buildClusterer
Generate Clustering via OPTICS- Specified by:
buildClustererin interfaceClusterer- Specified by:
buildClustererin classAbstractClusterer- Parameters:
instances- The instances that need to be clustered- Throws:
Exception- If clustering was not successful
-
clusterInstance
Classifies a given instance.- Specified by:
clusterInstancein interfaceClusterer- Overrides:
clusterInstancein classAbstractClusterer- Parameters:
instance- The instance to be assigned to a cluster- Returns:
- int The number of the assigned cluster as an integer
- Throws:
Exception- If instance could not be clustered successfully
-
numberOfClusters
Returns the number of clusters.- Specified by:
numberOfClustersin interfaceClusterer- Specified by:
numberOfClustersin classAbstractClusterer- Returns:
- int The number of clusters generated for a training dataset.
- Throws:
Exception- If number of clusters could not be returned successfully
-
listOptions
Returns an enumeration of all the available options.- Specified by:
listOptionsin interfaceOptionHandler- Returns:
- Enumeration An enumeration of all available options.
-
setOptions
Sets the OptionHandler's options using the given list. All options will be set (or reset) during this call (i.e. incremental setting of options is not possible). Valid options are:-E <double> epsilon (default = 0.9)
-M <int> minPoints (default = 6)
-I <String> index (database) used for OPTICS (default = weka.clusterers.forOPTICSAndDBScan.Databases.SequentialDatabase)
-D <String> distance-type (default = weka.clusterers.forOPTICSAndDBScan.DataObjects.EuclideanDataObject)
-F write results to OPTICS_#TimeStamp#.TXT - File
-no-gui suppress the display of the GUI after building the clusterer
-db-output <file> The file to save the generated database to. If a directory is provided, the database doesn't get saved. The generated file can be viewed with the OPTICS Visualizer: java weka.clusterers.forOPTICSAndDBScan.OPTICS_GUI.OPTICS_Visualizer [file.ser] (default: .)- Specified by:
setOptionsin interfaceOptionHandler- Parameters:
options- The list of options as an array of strings- Throws:
Exception- If an option is not supported
-
getOptions
Gets the current option settings for the OptionHandler.- Specified by:
getOptionsin interfaceOptionHandler- Returns:
- String[] The list of current option settings as an array of strings
-
databaseForName
Returns a new Class-Instance of the specified database- Parameters:
database_Type- String of the specified databaseinstances- Instances that were delivered from WEKA- Returns:
- Database New constructed Database
-
dataObjectForName
public DataObject dataObjectForName(String database_distanceType, Instance instance, String key, Database database) Returns a new Class-Instance of the specified database- Parameters:
database_distanceType- String of the specified distance-typeinstance- The original instance that needs to hold by this DataObjectkey- Key for this DataObjectdatabase- Link to the database- Returns:
- DataObject New constructed DataObject
-
setMinPoints
public void setMinPoints(int minPoints) Sets a new value for minPoints- Parameters:
minPoints- MinPoints
-
setEpsilon
public void setEpsilon(double epsilon) Sets a new value for epsilon- Parameters:
epsilon- Epsilon
-
getEpsilon
public double getEpsilon()Returns the value of epsilon- Returns:
- double Epsilon
-
getMinPoints
public int getMinPoints()Returns the value of minPoints- Returns:
- int MinPoints
-
getDatabase_distanceType
Returns the distance-type- Returns:
- String Distance-type
-
getDatabase_Type
Returns the type of the used index (database)- Returns:
- String Index-type
-
setDatabase_distanceType
Sets a new distance-type- Parameters:
database_distanceType- The new distance-type
-
setDatabase_Type
Sets a new database-type- Parameters:
database_Type- The new database-type
-
getWriteOPTICSresults
public boolean getWriteOPTICSresults()Returns the flag for writing actions- Returns:
- writeOPTICSresults (flag)
-
setWriteOPTICSresults
public void setWriteOPTICSresults(boolean writeOPTICSresults) Sets the flag for writing actions- Parameters:
writeOPTICSresults- Results are written to a file if the flag is set
-
getShowGUI
public boolean getShowGUI()Returns the flag for showing the OPTICS visualizer GUI.- Returns:
- true if the GUI is displayed
-
setShowGUI
public void setShowGUI(boolean value) Sets the flag for displaying the GUI.- Parameters:
value- if true, then the OPTICS visualizer GUI will be displayed after building the clusterer
-
getDatabaseOutput
Returns the file to save the database to - if directory, database is not saved.- Returns:
- the file to save the database to a directory if saving is ignored
-
setDatabaseOutput
Sets the the file to save the generated database to. If a directory is provided, the datbase doesn't get saved.- Parameters:
value- the file to save the database to or a directory if saving is to be ignored
-
getResultVector
Returns the resultVector- Returns:
- resultVector
-
epsilonTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
minPointsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
database_TypeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
database_distanceTypeTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
writeOPTICSresultsTipText
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
showGUITipText
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
databaseOutputTipText
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
globalInfo
Returns a string describing this DataMining-Algorithm- Returns:
- String Information for the gui-explorer
-
getTechnicalInformation
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformationin interfaceTechnicalInformationHandler- Returns:
- the technical information about this class
-
getSERObject
Returns the internal database- Returns:
- the internal database
-
toString
Returns a description of the clusterer -
getRevision
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classAbstractClusterer- Returns:
- the revision
-
main
Main Method for testing OPTICS- Parameters:
args- Valid parameters are: 'E' epsilon (default = 0.9); 'M' minPoints (default = 6); 'I' index-type (default = weka.clusterers.forOPTICSAndDBScan.Databases.SequentialDatabase); 'D' distance-type (default = weka.clusterers.forOPTICSAndDBScan.DataObjects.EuclideanDataObject); 'F' write results to OPTICS_#TimeStamp#.TXT - File
-