public class DBSCAN extends AbstractClusterer implements OptionHandler, TechnicalInformationHandler
@inproceedings{Ester1996, author = {Martin Ester and Hans-Peter Kriegel and Joerg Sander and Xiaowei Xu}, booktitle = {Second International Conference on Knowledge Discovery and Data Mining}, editor = {Evangelos Simoudis and Jiawei Han and Usama M. Fayyad}, pages = {226-231}, publisher = {AAAI Press}, title = {A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise}, year = {1996} }Valid options are:
-E <double> epsilon (default = 0.9)
-M <int> minPoints (default = 6)
-I <String> index (database) used for DBSCAN (default = weka.clusterers.forOPTICSAndDBScan.Databases.SequentialDatabase)
-D <String> distance-type (default = weka.clusterers.forOPTICSAndDBScan.DataObjects.EuclideanDataObject)
Constructor and Description |
---|
DBSCAN() |
Modifier and Type | Method and Description |
---|---|
void |
buildClusterer(Instances instances)
Generate Clustering via DBSCAN
|
int |
clusterInstance(Instance instance)
Classifies a given instance.
|
java.lang.String |
database_distanceTypeTipText()
Returns the tip text for this property
|
java.lang.String |
database_TypeTipText()
Returns the tip text for this property
|
Database |
databaseForName(java.lang.String database_Type,
Instances instances)
Returns a new Class-Instance of the specified database
|
DataObject |
dataObjectForName(java.lang.String database_distanceType,
Instance instance,
java.lang.String key,
Database database)
Returns a new Class-Instance of the specified database
|
java.lang.String |
epsilonTipText()
Returns the tip text for this property
|
Capabilities |
getCapabilities()
Returns default capabilities of the clusterer.
|
java.lang.String |
getDatabase_distanceType()
Returns the distance-type
|
java.lang.String |
getDatabase_Type()
Returns the type of the used index (database)
|
double |
getEpsilon()
Returns the value of epsilon
|
int |
getMinPoints()
Returns the value of minPoints
|
java.lang.String[] |
getOptions()
Gets the current option settings for the OptionHandler.
|
java.lang.String |
getRevision()
Returns the revision string.
|
TechnicalInformation |
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.
|
java.lang.String |
globalInfo()
Returns a string describing this DataMining-Algorithm
|
java.util.Enumeration |
listOptions()
Returns an enumeration of all the available options..
|
static void |
main(java.lang.String[] args)
Main Method for testing DBSCAN
|
java.lang.String |
minPointsTipText()
Returns the tip text for this property
|
int |
numberOfClusters()
Returns the number of clusters.
|
void |
setDatabase_distanceType(java.lang.String database_distanceType)
Sets a new distance-type
|
void |
setDatabase_Type(java.lang.String database_Type)
Sets a new database-type
|
void |
setEpsilon(double epsilon)
Sets a new value for epsilon
|
void |
setMinPoints(int minPoints)
Sets a new value for minPoints
|
void |
setOptions(java.lang.String[] options)
Sets the OptionHandler's options using the given list.
|
java.lang.String |
toString()
Returns a description of the clusterer
|
distributionForInstance, forName, makeCopies, makeCopy
public Capabilities getCapabilities()
getCapabilities
in interface Clusterer
getCapabilities
in interface CapabilitiesHandler
getCapabilities
in class AbstractClusterer
Capabilities
public void buildClusterer(Instances instances) throws java.lang.Exception
buildClusterer
in interface Clusterer
buildClusterer
in class AbstractClusterer
instances
- The instances that need to be clusteredjava.lang.Exception
- If clustering was not successfulpublic int clusterInstance(Instance instance) throws java.lang.Exception
clusterInstance
in interface Clusterer
clusterInstance
in class AbstractClusterer
instance
- The instance to be assigned to a clusterjava.lang.Exception
- If instance could not be clustered
successfullypublic int numberOfClusters() throws java.lang.Exception
numberOfClusters
in interface Clusterer
numberOfClusters
in class AbstractClusterer
java.lang.Exception
- if number of clusters could not be returned
successfullypublic java.util.Enumeration listOptions()
listOptions
in interface OptionHandler
public void setOptions(java.lang.String[] options) throws java.lang.Exception
-E <double> epsilon (default = 0.9)
-M <int> minPoints (default = 6)
-I <String> index (database) used for DBSCAN (default = weka.clusterers.forOPTICSAndDBScan.Databases.SequentialDatabase)
-D <String> distance-type (default = weka.clusterers.forOPTICSAndDBScan.DataObjects.EuclideanDataObject)
setOptions
in interface OptionHandler
options
- The list of options as an array of stringsjava.lang.Exception
- If an option is not supportedpublic java.lang.String[] getOptions()
getOptions
in interface OptionHandler
public Database databaseForName(java.lang.String database_Type, Instances instances)
database_Type
- String of the specified databaseinstances
- Instances that were delivered from WEKApublic DataObject dataObjectForName(java.lang.String database_distanceType, Instance instance, java.lang.String key, Database database)
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 databasepublic void setMinPoints(int minPoints)
minPoints
- MinPointspublic void setEpsilon(double epsilon)
epsilon
- Epsilonpublic double getEpsilon()
public int getMinPoints()
public java.lang.String getDatabase_distanceType()
public java.lang.String getDatabase_Type()
public void setDatabase_distanceType(java.lang.String database_distanceType)
database_distanceType
- The new distance-typepublic void setDatabase_Type(java.lang.String database_Type)
database_Type
- The new database-typepublic java.lang.String epsilonTipText()
public java.lang.String minPointsTipText()
public java.lang.String database_TypeTipText()
public java.lang.String database_distanceTypeTipText()
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation
in interface TechnicalInformationHandler
public java.lang.String toString()
toString
in class java.lang.Object
public java.lang.String getRevision()
getRevision
in interface RevisionHandler
getRevision
in class AbstractClusterer
public static void main(java.lang.String[] args)
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);