Package weka.gui.boundaryvisualizer
Class KDDataGenerator
- java.lang.Object
-
- weka.gui.boundaryvisualizer.KDDataGenerator
-
- All Implemented Interfaces:
java.io.Serializable,DataGenerator
public class KDDataGenerator extends java.lang.Object implements DataGenerator, java.io.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
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildGenerator(Instances inputInstances)Initialize the generator using the supplied instancesdouble[][]generateInstances(int[] indices)Generates a new instance using one kernel estimator.intgetKernelBandwidth()Get the kernel bandwidthintgetNumGeneratingModels()Return the number of kernels (there is one per training instance)double[]getWeights()Get weightsvoidsetKernelBandwidth(int kb)Set the kernel bandwidth (number of nearest neighbours to cover)voidsetSeed(int seed)Initializes a new random number generator using the supplied seed.voidsetWeightingDimensions(boolean[] dims)Set which dimensions to use when computing a weight for the next instance to generatevoidsetWeightingValues(double[] vals)Set the values for the weighting dimensions to be used when computing the weight for the next instance to be generated
-
-
-
Method Detail
-
buildGenerator
public void buildGenerator(Instances inputInstances) throws java.lang.Exception
Initialize the generator using the supplied instances- Specified by:
buildGeneratorin interfaceDataGenerator- Parameters:
inputInstances- the instances to use as the basis of the kernels- Throws:
java.lang.Exception- if an error occurs
-
getWeights
public double[] getWeights()
Description copied from interface:DataGeneratorGet weights- Specified by:
getWeightsin interfaceDataGenerator
-
generateInstances
public double[][] generateInstances(int[] indices) throws java.lang.ExceptionGenerates a new instance using one kernel estimator. Each successive call to this method incremets the index of the kernel to use.- Specified by:
generateInstancesin interfaceDataGenerator- Returns:
- the new random instance
- Throws:
java.lang.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:
setWeightingDimensionsin interfaceDataGenerator- 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:
setWeightingValuesin interfaceDataGenerator- 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:
getNumGeneratingModelsin interfaceDataGenerator- Returns:
- the number of kernels
-
setKernelBandwidth
public void setKernelBandwidth(int kb)
Set the kernel bandwidth (number of nearest neighbours to cover)- Parameters:
kb- anintvalue
-
getKernelBandwidth
public int getKernelBandwidth()
Get the kernel bandwidth- Returns:
- an
intvalue
-
setSeed
public void setSeed(int seed)
Initializes a new random number generator using the supplied seed.- Specified by:
setSeedin interfaceDataGenerator- Parameters:
seed- anintvalue
-
-