Package weka.gui.boundaryvisualizer

# Class KDDataGenerator

java.lang.Object
weka.gui.boundaryvisualizer.KDDataGenerator

All Implemented Interfaces:
  `Serializable`, `DataGenerator`

public class KDDataGenerator extends Object implements DataGenerator, Serializable
KDDataGenerator. Class that uses kernels to generate new random instances based on a supplied set of instances.

Since:
  1.0
Version:
  $Revision: 7059 $
Author:
  Mark Hall
See Also:
  - `DataGenerator`
  - `Serializable`
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`KDDataGenerator()`

## Method Summary

Modifier and Type
Method
Description
`void`
`buildGenerator(Instances inputInstances)`
Initialize the generator using the supplied instances
`double[][]`
`generateInstances(int[] indices)`
Generates a new instance using one kernel estimator.
`int`
`getKernelBandwidth()`
Get the kernel bandwidth
`int`
`getNumGeneratingModels()`
Return the number of kernels (there is one per training instance)
`double[]`
`getWeights()`
Get weights
`void`
`setKernelBandwidth(int kb)`
Set the kernel bandwidth (number of nearest neighbours to cover)
`void`
`setSeed(int seed)`
Initializes a new random number generator using the supplied seed.
`void`
`setWeightingDimensions(boolean[] dims)`
Set which dimensions to use when computing a weight for the next instance to generate
`void`
`setWeightingValues(double[] vals)`
Set the values for the weighting dimensions to be used when computing the weight for the next instance to be generated

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

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

## Constructor Details

### KDDataGenerator

public KDDataGenerator()

## Method Details

### buildGenerator

public void buildGenerator(Instances inputInstances) throws Exception
Initialize the generator using the supplied instances

Specified by:
  `buildGenerator` in interface `DataGenerator`
Parameters:
  `inputInstances` - the instances to use as the basis of the kernels
Throws:
  `Exception` - if an error occurs

### getWeights

public double[] getWeights()
Description copied from interface: `DataGenerator`
Get weights

Specified by:
  `getWeights` in interface `DataGenerator`

### generateInstances

public double[][] generateInstances(int[] indices) throws Exception
Generates a new instance using one kernel estimator. Each successive call to this method incremets the index of the kernel to use.

Specified by:
  `generateInstances` in interface `DataGenerator`
Returns:
  the new random instance
Throws:
  `Exception` - if an error occurs

### setWeightingDimensions

public void setWeightingDimensions(boolean[] dims)
Set which dimensions to use when computing a weight for the next instance to generate

Specified by:
  `setWeightingDimensions` in interface `DataGenerator`
Parameters:
  `dims` - an array of booleans indicating which dimensions to use

### setWeightingValues

public void setWeightingValues(double[] vals)
Set the values for the weighting dimensions to be used when computing the weight for the next instance to be generated

Specified by:
  `setWeightingValues` in interface `DataGenerator`
Parameters:
  `vals` - an array of doubles containing the values of the weighting dimensions (corresponding to the entries that are set to true throw setWeightingDimensions)

### getNumGeneratingModels

public int getNumGeneratingModels()
Return the number of kernels (there is one per training instance)

Specified by:
  `getNumGeneratingModels` in interface `DataGenerator`
Returns:
  the number of kernels

### setKernelBandwidth

public void setKernelBandwidth(int kb)
Set the kernel bandwidth (number of nearest neighbours to cover)

Parameters:
  `kb` - an `int` value

### getKernelBandwidth

public int getKernelBandwidth()
Get the kernel bandwidth

Returns:
  an `int` value

### setSeed

public void setSeed(int seed)
Initializes a new random number generator using the supplied seed.

Specified by:
  `setSeed` in interface `DataGenerator`
Parameters:
  `seed` - an `int` value