Package weka.classifiers.functions
Class RBFNetwork
- java.lang.Object
-
- weka.classifiers.Classifier
-
- weka.classifiers.functions.RBFNetwork
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,CapabilitiesHandler,OptionHandler,RevisionHandler
public class RBFNetwork extends Classifier implements OptionHandler
Class that implements a normalized Gaussian radial basisbasis function network.
It uses the k-means clustering algorithm to provide the basis functions and learns either a logistic regression (discrete class problems) or linear regression (numeric class problems) on top of that. Symmetric multivariate Gaussians are fit to the data from each cluster. If the class is nominal it uses the given number of clusters per class.It standardizes all numeric attributes to zero mean and unit variance. Valid options are:-B <number> Set the number of clusters (basis functions) to generate. (default = 2).
-S <seed> Set the random seed to be used by K-means. (default = 1).
-R <ridge> Set the ridge value for the logistic or linear regression.
-M <number> Set the maximum number of iterations for the logistic regression. (default -1, until convergence).
-W <number> Set the minimum standard deviation for the clusters. (default 0.1).
- Version:
- $Revision: 1.10 $
- Author:
- Mark Hall, Eibe Frank
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description RBFNetwork()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(Instances instances)Builds the classifierjava.lang.StringclusteringSeedTipText()Returns the tip text for this propertydouble[]distributionForInstance(Instance instance)Computes the distribution for a given instanceCapabilitiesgetCapabilities()Returns default capabilities of the classifier, i.e., and "or" of Logistic and LinearRegression.intgetClusteringSeed()Get the random seed used by K-means.intgetMaxIts()Get the value of MaxIts.doublegetMinStdDev()Get the MinStdDev value.intgetNumClusters()Return the number of clusters to generate.java.lang.String[]getOptions()Gets the current settings of the classifier.java.lang.StringgetRevision()Returns the revision string.doublegetRidge()Gets the ridge value.java.lang.StringglobalInfo()Returns a string describing this classifierjava.util.EnumerationlistOptions()Returns an enumeration describing the available optionsstatic voidmain(java.lang.String[] argv)Main method for testing this class.java.lang.StringmaxItsTipText()Returns the tip text for this propertyjava.lang.StringminStdDevTipText()Returns the tip text for this propertyjava.lang.StringnumClustersTipText()Returns the tip text for this propertyjava.lang.StringridgeTipText()Returns the tip text for this propertyvoidsetClusteringSeed(int seed)Set the random seed to be passed on to K-means.voidsetMaxIts(int newMaxIts)Set the value of MaxIts.voidsetMinStdDev(double newMinStdDev)Set the MinStdDev value.voidsetNumClusters(int numClusters)Set the number of clusters for K-means to generate.voidsetOptions(java.lang.String[] options)Parses a given list of options.voidsetRidge(double ridge)Sets the ridge value for logistic or linear regression.java.lang.StringtoString()Returns a description of this classifier as a String-
Methods inherited from class weka.classifiers.Classifier
classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug
-
-
-
-
Method Detail
-
globalInfo
public java.lang.String globalInfo()
Returns a string describing this classifier- Returns:
- a description of the classifier suitable for displaying in the explorer/experimenter gui
-
getCapabilities
public Capabilities getCapabilities()
Returns default capabilities of the classifier, i.e., and "or" of Logistic and LinearRegression.- Specified by:
getCapabilitiesin interfaceCapabilitiesHandler- Overrides:
getCapabilitiesin classClassifier- Returns:
- the capabilities of this classifier
- See Also:
Logistic,LinearRegression
-
buildClassifier
public void buildClassifier(Instances instances) throws java.lang.Exception
Builds the classifier- Specified by:
buildClassifierin classClassifier- Parameters:
instances- the training data- Throws:
java.lang.Exception- if the classifier could not be built successfully
-
distributionForInstance
public double[] distributionForInstance(Instance instance) throws java.lang.Exception
Computes the distribution for a given instance- Overrides:
distributionForInstancein classClassifier- Parameters:
instance- the instance for which distribution is computed- Returns:
- the distribution
- Throws:
java.lang.Exception- if the distribution can't be computed successfully
-
toString
public java.lang.String toString()
Returns a description of this classifier as a String- Overrides:
toStringin classjava.lang.Object- Returns:
- a description of this classifier
-
maxItsTipText
public java.lang.String maxItsTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMaxIts
public int getMaxIts()
Get the value of MaxIts.- Returns:
- Value of MaxIts.
-
setMaxIts
public void setMaxIts(int newMaxIts)
Set the value of MaxIts.- Parameters:
newMaxIts- Value to assign to MaxIts.
-
ridgeTipText
public java.lang.String ridgeTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setRidge
public void setRidge(double ridge)
Sets the ridge value for logistic or linear regression.- Parameters:
ridge- the ridge
-
getRidge
public double getRidge()
Gets the ridge value.- Returns:
- the ridge
-
numClustersTipText
public java.lang.String numClustersTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setNumClusters
public void setNumClusters(int numClusters)
Set the number of clusters for K-means to generate.- Parameters:
numClusters- the number of clusters to generate.
-
getNumClusters
public int getNumClusters()
Return the number of clusters to generate.- Returns:
- the number of clusters to generate.
-
clusteringSeedTipText
public java.lang.String clusteringSeedTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setClusteringSeed
public void setClusteringSeed(int seed)
Set the random seed to be passed on to K-means.- Parameters:
seed- a seed value.
-
getClusteringSeed
public int getClusteringSeed()
Get the random seed used by K-means.- Returns:
- the seed value.
-
minStdDevTipText
public java.lang.String minStdDevTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getMinStdDev
public double getMinStdDev()
Get the MinStdDev value.- Returns:
- the MinStdDev value.
-
setMinStdDev
public void setMinStdDev(double newMinStdDev)
Set the MinStdDev value.- Parameters:
newMinStdDev- The new MinStdDev value.
-
listOptions
public java.util.Enumeration listOptions()
Returns an enumeration describing the available options- Specified by:
listOptionsin interfaceOptionHandler- Overrides:
listOptionsin classClassifier- Returns:
- an enumeration of all the available options
-
setOptions
public void setOptions(java.lang.String[] options) throws java.lang.ExceptionParses a given list of options. Valid options are:-B <number> Set the number of clusters (basis functions) to generate. (default = 2).
-S <seed> Set the random seed to be used by K-means. (default = 1).
-R <ridge> Set the ridge value for the logistic or linear regression.
-M <number> Set the maximum number of iterations for the logistic regression. (default -1, until convergence).
-W <number> Set the minimum standard deviation for the clusters. (default 0.1).
- Specified by:
setOptionsin interfaceOptionHandler- Overrides:
setOptionsin classClassifier- Parameters:
options- the list of options as an array of strings- Throws:
java.lang.Exception- if an option is not supported
-
getOptions
public java.lang.String[] getOptions()
Gets the current settings of the classifier.- Specified by:
getOptionsin interfaceOptionHandler- Overrides:
getOptionsin classClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
getRevision
public java.lang.String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceRevisionHandler- Overrides:
getRevisionin classClassifier- Returns:
- the revision
-
main
public static void main(java.lang.String[] argv)
Main method for testing this class.- Parameters:
argv- should contain the command line arguments to the scheme (see Evaluation)
-
-