Package weka.classifiers.functions

# Class RBFNetwork

java.lang.Object
weka.classifiers.Classifier
weka.classifiers.functions.RBFNetwork

All Implemented Interfaces:
  `Serializable`, `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

Modifier and Type
Method
Description
`void`
`buildClassifier(Instances instances)`
Builds the classifier
`String`
`clusteringSeedTipText()`
Returns the tip text for this property
`double[]`
`distributionForInstance(Instance instance)`
Computes the distribution for a given instance
`Capabilities`
`getCapabilities()`
Returns default capabilities of the classifier, i.e., and "or" of Logistic and LinearRegression.
`int`
`getClusteringSeed()`
Get the random seed used by K-means.
`int`
`getMaxIts()`
Get the value of MaxIts.
`double`
`getMinStdDev()`
Get the MinStdDev value.
`int`
`getNumClusters()`
Return the number of clusters to generate.
`String[]`
`getOptions()`
Gets the current settings of the classifier.
`String`
`getRevision()`
Returns the revision string.
`double`
`getRidge()`
Gets the ridge value.
`String`
`globalInfo()`
Returns a string describing this classifier
`Enumeration`
`listOptions()`
Returns an enumeration describing the available options
`static void`
`main(String[] argv)`
Main method for testing this class.
`String`
`maxItsTipText()`
Returns the tip text for this property
`String`
`minStdDevTipText()`
Returns the tip text for this property
`String`
`numClustersTipText()`
Returns the tip text for this property
`String`
`ridgeTipText()`
Returns the tip text for this property
`void`
`setClusteringSeed(int seed)`
Set the random seed to be passed on to K-means.
`void`
`setMaxIts(int newMaxIts)`
Set the value of MaxIts.
`void`
`setMinStdDev(double newMinStdDev)`
Set the MinStdDev value.
`void`
`setNumClusters(int numClusters)`
Set the number of clusters for K-means to generate.
`void`
`setOptions(String[] options)`
Parses a given list of options.
`void`
`setRidge(double ridge)`
Sets the ridge value for logistic or linear regression.
`String`
`toString()`
Returns a description of this classifier as a String

### Methods inherited from class weka.classifiers.Classifier

`classifyInstance, debugTipText, forName, getDebug, makeCopies, makeCopy, setDebug`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### RBFNetwork

public RBFNetwork()

## Method Details

### globalInfo

public 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:
  `getCapabilities` in interface `CapabilitiesHandler`
Overrides:
  `getCapabilities` in class `Classifier`
Returns:
  the capabilities of this classifier
See Also:
  - `Logistic`
  - `LinearRegression`

### buildClassifier

public void buildClassifier(Instances instances) throws Exception
Builds the classifier

Specified by:
  `buildClassifier` in class `Classifier`
Parameters:
  `instances` - the training data
Throws:
  `Exception` - if the classifier could not be built successfully

### distributionForInstance

public double[] distributionForInstance(Instance instance) throws Exception
Computes the distribution for a given instance

Overrides:
  `distributionForInstance` in class `Classifier`
Parameters:
  `instance` - the instance for which distribution is computed
Returns:
  the distribution
Throws:
  `Exception` - if the distribution can't be computed successfully

### toString

public String toString()
Returns a description of this classifier as a String

Overrides:
  `toString` in class `Object`
Returns:
  a description of this classifier

### maxItsTipText

public 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 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 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 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 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 Enumeration listOptions()
Returns an enumeration describing the available options

Specified by:
  `listOptions` in interface `OptionHandler`
Overrides:
  `listOptions` in class `Classifier`
Returns:
  an enumeration of all the available options

### setOptions

public void setOptions(String[] options) throws Exception
Parses 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:
  `setOptions` in interface `OptionHandler`
Overrides:
  `setOptions` in class `Classifier`
Parameters:
  `options` - the list of options as an array of strings
Throws:
  `Exception` - if an option is not supported

### getOptions

public String[] getOptions()
Gets the current settings of the classifier.

Specified by:
  `getOptions` in interface `OptionHandler`
Overrides:
  `getOptions` in class `Classifier`
Returns:
  an array of strings suitable for passing to setOptions

### getRevision

public String getRevision()
Returns the revision string.

Specified by:
  `getRevision` in interface `RevisionHandler`
Overrides:
  `getRevision` in class `Classifier`
Returns:
  the revision

### main

public static void main(String[] argv)
Main method for testing this class.

Parameters:
  `argv` - should contain the command line arguments to the scheme (see Evaluation)