• All Implemented Interfaces:
Iterable<DataCell>, DataRow

```public class RadialBasisFunctionLearnerRow
extends BasisFunctionLearnerRow```
This class extends the general `BasisFunctionLearnerRow` in order to use radial basis function prototypes for training. This prototype keeps an Gaussian functions is internal representation. This function is created infinity which means cover the entry domain. During training the function is shrunk if new conflicting instances are omitted. Therefore two parameters have been introduced. One is `m_thetaMinus` which is used to describe an upper bound of conflicting instances; and `m_thetaPlus`, to lower bound for non-conflicting instances.
Author:
Thomas Gabriel, University of Konstanz
• ### Constructor Summary

Constructors
Modifier Constructor and Description
`protected ` ```RadialBasisFunctionLearnerRow(RowKey key, DataCell classInfo, DataRow center, double thetaMinus, double thetaPlus, int distance)```
Creates a new radial basisfunction using the center vector as the anchor of the Gaussian function and also assigns class label for this prototype.
• ### Method Summary

All Methods
Modifier and Type Method and Description
`boolean` ```compareCoverage(BasisFunctionLearnerRow best, DataRow row)```
Compares this basis function with the other one by its standard deviation if the number of covered pattern is equal otherwise use this identification.
`double` `computeActivation(DataRow row)`
Computes activation for a given row using this basis function.
`void` `cover(DataRow row)`
Method is empty.
`boolean` `covers(DataRow row)`
Checks if the given row is covered by this basis function.
`boolean` `explains(DataRow row)`
Checks if the given row is explained by this basisfunction.
`DataCell` `getFinalCell(int index)`
Returns a basis function cell for the given index.
`DoubleValue` `getMissingValue(int col)`
Returns the missing double value for the given dimension.
`RadialBasisFunctionPredictorRow` `getPredictorRow()`
`boolean` `getShrinkValue(DataRow row)`
Called if a new `BasisFunctionLearnerRow` has to be adjusted.
`double` `getThetaMinus()`
`double` `getThetaPlus()`
`void` `reset()`
Method is empty.
`boolean` `shrink(DataRow row)`
Basis functions need to be adjusted if they conflict with other ones.
`String` `toString()`
Returns a string summary of this basis function cell including the assigned class, number of covered, as well as explained pattern.
• ### Methods inherited from class org.knime.base.node.mine.bfn.BasisFunctionLearnerRow

`addCovered, computeCoverage, equals, getAllCoveredPattern, getAnchor, getCell, getClassLabel, getKey, getNumCells, getVariance, hashCode, iterator, print`
• ### Methods inherited from class java.lang.Object

`clone, finalize, getClass, notify, notifyAll, wait, wait, wait`
• ### Methods inherited from interface org.knime.core.data.DataRow

`stream`
• ### Methods inherited from interface java.lang.Iterable

`forEach, spliterator`
• ### Constructor Detail

```protected RadialBasisFunctionLearnerRow(RowKey key,
DataCell classInfo,
DataRow center,
double thetaMinus,
double thetaPlus,
int distance)```
Creates a new radial basisfunction using the center vector as the anchor of the Gaussian function and also assigns class label for this prototype. The Gaussian function is be initialized infinity covering the entire domain.
Parameters:
`key` - the key of this row
`classInfo` - the class info assigned to this basisfunction
`center` - the initial center vector
`thetaMinus` - upper bound for conflicting instances
`thetaPlus` - lower bound for non-conflicting instances
`distance` - choice of the distance function between patterns.
• ### Method Detail

• #### getPredictorRow

`public RadialBasisFunctionPredictorRow getPredictorRow()`
Specified by:
`getPredictorRow` in class `BasisFunctionLearnerRow`
Returns:
underlying predictor row
• #### getMissingValue

`public DoubleValue getMissingValue(int col)`
Returns the missing double value for the given dimension.
Specified by:
`getMissingValue` in class `BasisFunctionLearnerRow`
Parameters:
`col` - the column index.
Returns:
The centroid value at the given dimension.
• #### covers

`public final boolean covers(DataRow row)`
Checks if the given row is covered by this basis function. If this basis function has not been shrunk before, it will return true immediately, otherwise it checks if the activation is greater theta minus.
Specified by:
`covers` in class `BasisFunctionLearnerRow`
Parameters:
`row` - the input row to check coverage for
Returns:
`true` if the given row is covered other `false`
Throws:
`NullPointerException` - if the given row is `null`
`computeActivation(DataRow)`
• #### explains

`public final boolean explains(DataRow row)`
Checks if the given row is explained by this basisfunction. If this basis function has not been shrunk before, it will return true immediately, otherwise it checks if the activation is greater or equal theta plus.
Specified by:
`explains` in class `BasisFunctionLearnerRow`
Parameters:
`row` - the input row to check coverage for
Returns:
`true` if the given row is explained other `false`
Throws:
`NullPointerException` - if the given row is `null`
`computeActivation(DataRow)`
• #### compareCoverage

```public final boolean compareCoverage(BasisFunctionLearnerRow best,
DataRow row)```
Compares this basis function with the other one by its standard deviation if the number of covered pattern is equal otherwise use this identification.
Specified by:
`compareCoverage` in class `BasisFunctionLearnerRow`
Parameters:
`best` - the basisfunction with the highest coverage so far
`row` - the row on which to coverage need to be compared
Returns:
`true` if the coverage of `this` object is better than the of the other
Throws:
`ClassCastException` - if the other cell is not a `RadialBasisFunctionLearnerRow`
• #### getShrinkValue

`public final boolean getShrinkValue(DataRow row)`
Called if a new `BasisFunctionLearnerRow` has to be adjusted.
Specified by:
`getShrinkValue` in class `BasisFunctionLearnerRow`
Parameters:
`row` - conflicting pattern.
Returns:
a value greater zero if a conflict has to be solved. The value indicates relative loss in coverage for this basisfunction.
• #### shrink

`public final boolean shrink(DataRow row)`
Basis functions need to be adjusted if they conflict with other ones. Therefore this shrink method computes the new standard deviation based on the `m_thetaMinus`.
Specified by:
`shrink` in class `BasisFunctionLearnerRow`
Parameters:
`row` - the input row to shrink this basisfunction on
Returns:
`true` if the standard deviation changed due to the method which happens when either this basisfunction has not be shrunk before or the new radius is smaller than the old one, other wise this function return `false`
• #### reset

`public final void reset()`
Method is empty.
Specified by:
`reset` in class `BasisFunctionLearnerRow`
• #### cover

`public final void cover(DataRow row)`
Method is empty.
Specified by:
`cover` in class `BasisFunctionLearnerRow`
Parameters:
`row` - Ignored.
• #### toString

`public String toString()`
Returns a string summary of this basis function cell including the assigned class, number of covered, as well as explained pattern. This method is supposed to be overridden to add additional information for a particular model.
Overrides:
`toString` in class `BasisFunctionLearnerRow`
Returns:
string summary for this basisfunction cell
• #### getFinalCell

`public DataCell getFinalCell(int index)`
Returns a basis function cell for the given index.
Specified by:
`getFinalCell` in class `BasisFunctionLearnerRow`
Parameters:
`index` - cell for index
Returns:
a basis function cell
• #### computeActivation

`public double computeActivation(DataRow row)`
Computes activation for a given row using this basis function.
Specified by:
`computeActivation` in class `BasisFunctionLearnerRow`
Parameters:
`row` - the data row to compute activation with
Returns:
the activation of the row
• #### getThetaMinus

`public final double getThetaMinus()`
Returns:
theta minus
• #### getThetaPlus

`public final double getThetaPlus()`
Returns:
theta plus