|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectweka.clusterers.AbstractClusterer
weka.clusterers.RandomizableClusterer
weka.clusterers.FarthestFirst
public class FarthestFirst
Cluster data using the FarthestFirst algorithm.
For more information see:
Hochbaum, Shmoys (1985). A best possible heuristic for the k-center problem. Mathematics of Operations Research. 10(2):180-184.
Sanjoy Dasgupta: Performance Guarantees for Hierarchical Clustering. In: 15th Annual Conference on Computational Learning Theory, 351-363, 2002.
Notes:
- works as a fast simple approximate clusterer
- modelled after SimpleKMeans, might be a useful initializer for it
@article{Hochbaum1985,
author = {Hochbaum and Shmoys},
journal = {Mathematics of Operations Research},
number = {2},
pages = {180-184},
title = {A best possible heuristic for the k-center problem},
volume = {10},
year = {1985}
}
@inproceedings{Dasgupta2002,
author = {Sanjoy Dasgupta},
booktitle = {15th Annual Conference on Computational Learning Theory},
pages = {351-363},
publisher = {Springer},
title = {Performance Guarantees for Hierarchical Clustering},
year = {2002}
}
Valid options are:
-N <num> number of clusters. (default = 2).
-S <num> Random number seed. (default 1)
RandomizableClusterer,
Serialized Form| Constructor Summary | |
|---|---|
FarthestFirst()
|
|
| Method Summary | |
|---|---|
void |
buildClusterer(Instances data)
Generates a clusterer. |
int |
clusterInstance(Instance instance)
Classifies a given instance. |
Capabilities |
getCapabilities()
Returns default capabilities of the clusterer. |
int |
getNumClusters()
gets the number of clusters to generate |
java.lang.String[] |
getOptions()
Gets the current settings of FarthestFirst |
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 clusterer |
java.util.Enumeration |
listOptions()
Returns an enumeration describing the available options. |
static void |
main(java.lang.String[] argv)
Main method for testing this class. |
int |
numberOfClusters()
Returns the number of clusters. |
java.lang.String |
numClustersTipText()
Returns the tip text for this property |
void |
setNumClusters(int n)
set the number of clusters to generate |
void |
setOptions(java.lang.String[] options)
Parses a given list of options. |
java.lang.String |
toString()
return a string describing this clusterer |
| Methods inherited from class weka.clusterers.RandomizableClusterer |
|---|
getSeed, seedTipText, setSeed |
| Methods inherited from class weka.clusterers.AbstractClusterer |
|---|
distributionForInstance, forName, makeCopies, makeCopy |
| Methods inherited from class java.lang.Object |
|---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public FarthestFirst()
| Method Detail |
|---|
public java.lang.String globalInfo()
public TechnicalInformation getTechnicalInformation()
getTechnicalInformation in interface TechnicalInformationHandlerpublic Capabilities getCapabilities()
getCapabilities in interface ClusterergetCapabilities in interface CapabilitiesHandlergetCapabilities in class AbstractClustererCapabilities
public void buildClusterer(Instances data)
throws java.lang.Exception
buildClusterer in interface ClustererbuildClusterer in class AbstractClustererdata - set of instances serving as training data
java.lang.Exception - if the clusterer has not been
generated successfully
public int clusterInstance(Instance instance)
throws java.lang.Exception
clusterInstance in interface ClustererclusterInstance in class AbstractClustererinstance - the instance to be assigned to a cluster
java.lang.Exception - if instance could not be classified
successfully
public 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 OptionHandlerlistOptions in class RandomizableClustererpublic java.lang.String numClustersTipText()
public void setNumClusters(int n)
throws java.lang.Exception
n - the number of clusters to generate
java.lang.Exception - if number of clusters is negativepublic int getNumClusters()
public void setOptions(java.lang.String[] options)
throws java.lang.Exception
-N <num> number of clusters. (default = 2).
-S <num> Random number seed. (default 1)
setOptions in interface OptionHandlersetOptions in class RandomizableClustereroptions - the list of options as an array of strings
java.lang.Exception - if an option is not supportedpublic java.lang.String[] getOptions()
getOptions in interface OptionHandlergetOptions in class RandomizableClustererpublic 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[] argv)
argv - should contain the following arguments: -t training file [-N number of clusters]
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||