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, makeCopypublic Capabilities getCapabilities()
getCapabilities in interface ClusterergetCapabilities in interface CapabilitiesHandlergetCapabilities in class AbstractClustererCapabilitiespublic void buildClusterer(Instances instances) throws java.lang.Exception
buildClusterer in interface ClustererbuildClusterer in class AbstractClustererinstances - 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 ClustererclusterInstance in class AbstractClustererinstance - 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 ClusterernumberOfClusters in class AbstractClustererjava.lang.Exception - if number of clusters could not be returned
successfullypublic java.util.Enumeration listOptions()
listOptions in interface OptionHandlerpublic 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 OptionHandleroptions - The list of options as an array of stringsjava.lang.Exception - If an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlerpublic 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 TechnicalInformationHandlerpublic java.lang.String toString()
toString in class java.lang.Objectpublic java.lang.String getRevision()
getRevision in interface RevisionHandlergetRevision in class AbstractClustererpublic 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);