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 TypeMethodDescriptionvoid
buildClusterer
(Instances instances) Generate Clustering via OPTICSint
clusterInstance
(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.double
Returns the value of epsilonint
Returns the value of minPointsString[]
Gets the current option settings for the OptionHandler.Returns the resultVectorReturns the revision string.Returns the internal databaseboolean
Returns 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.boolean
Returns the flag for writing actionsReturns a string describing this DataMining-AlgorithmReturns an enumeration of all the available options.static void
Main Method for testing OPTICSReturns the tip text for this propertyint
Returns the number of clusters.void
setDatabase_distanceType
(String database_distanceType) Sets a new distance-typevoid
setDatabase_Type
(String database_Type) Sets a new database-typevoid
setDatabaseOutput
(File value) Sets the the file to save the generated database to.void
setEpsilon
(double epsilon) Sets a new value for epsilonvoid
setMinPoints
(int minPoints) Sets a new value for minPointsvoid
setOptions
(String[] options) Sets the OptionHandler's options using the given list.void
setShowGUI
(boolean value) Sets the flag for displaying the GUI.void
setWriteOPTICSresults
(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:
getCapabilities
in interfaceCapabilitiesHandler
- Specified by:
getCapabilities
in interfaceClusterer
- Overrides:
getCapabilities
in classAbstractClusterer
- Returns:
- the capabilities of this clusterer
- See Also:
-
buildClusterer
Generate Clustering via OPTICS- Specified by:
buildClusterer
in interfaceClusterer
- Specified by:
buildClusterer
in classAbstractClusterer
- Parameters:
instances
- The instances that need to be clustered- Throws:
Exception
- If clustering was not successful
-
clusterInstance
Classifies a given instance.- Specified by:
clusterInstance
in interfaceClusterer
- Overrides:
clusterInstance
in 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:
numberOfClusters
in interfaceClusterer
- Specified by:
numberOfClusters
in 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:
listOptions
in 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:
setOptions
in 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:
getOptions
in 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:
getTechnicalInformation
in 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:
getRevision
in interfaceRevisionHandler
- Overrides:
getRevision
in 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
-