Package weka.classifiers.functions
Class GPD
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.StoppableClassifier
-
- weka.classifiers.functions.GPD
-
- All Implemented Interfaces:
Stoppable,StoppableWithFeedback,Serializable,Cloneable,weka.classifiers.Classifier,weka.core.BatchPredictor,weka.core.CapabilitiesHandler,weka.core.CapabilitiesIgnorer,weka.core.CommandlineRunnable,weka.core.OptionHandler,weka.core.RevisionHandler,weka.core.TechnicalInformationHandler,weka.core.WeightedInstancesHandler
public class GPD extends StoppableClassifier implements weka.core.WeightedInstancesHandler, weka.core.OptionHandler, weka.core.TechnicalInformationHandler
Implements Gaussian Processes for regression without hyperparameter-tuning, with an inline RBF kernel.
For more information see
David J.C. Mackay (1998). Introduction to Gaussian Processes. Dept. of Physics, Cambridge University, UK. BibTeX:@misc{Mackay1998, address = {Dept. of Physics, Cambridge University, UK}, author = {David J.C. Mackay}, title = {Introduction to Gaussian Processes}, year = {1998}, PS = {http://wol.ra.phy.cam.ac.uk/mackay/gpB.ps.gz} }Valid options are:-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
-L <double> Level of Gaussian Noise. (default: 0.01)
-G <double> Gamma for the RBF kernel. (default: 0.01)
-N Whether to 0=normalize/1=standardize/2=neither. (default: 0=normalize)
-output-debug-info If set, classifier is run in debug mode and may output additional info to the console
-do-not-check-capabilities If set, classifier capabilities are not checked before classifier is built (use with caution).
- Author:
- Kurt Driessens ([email protected]), Bernhard Pfahringer ([email protected])
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static intFILTER_NONEno filterstatic intFILTER_NORMALIZEnormalizes the datastatic intFILTER_STANDARDIZEstandardizes the dataprotected doublem_AlinThe parameters of the linear transforamtion realized by the filter on the class attributeprotected doublem_avg_targetThe training data.protected doublem_Blinprotected booleanm_checksTurnedOffTurn off all checks and conversions?protected intm_classIndexThe class index from the training dataprotected double[][]m_dataprotected doublem_deltaGaussian Noise Value.protected GaussianProcessesNoWeightsm_FallBackthe fallback model.protected weka.filters.Filterm_FilterThe filter used to standardize/normalize all values.protected intm_filterTypeWhether to normalize/standardize/neitherprotected doublem_gammaprotected weka.filters.unsupervised.attribute.ReplaceMissingValuesm_MissingThe filter used to get rid of missing values.protected weka.filters.unsupervised.attribute.NominalToBinarym_NominalToBinaryThe filter used to make attributes numeric.protected intm_NumTrainThe number of training instancesprotected double[]m_tThe vector of target values.static weka.core.Tag[]TAGS_FILTERThe filter to apply to the training data-
Fields inherited from class weka.classifiers.StoppableClassifier
m_Stopped
-
-
Constructor Summary
Constructors Constructor Description GPD()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(weka.core.Instances insts)Method for building the classifier.protected double[][]choleskyDecomposition(double[][] A)Cholesky decomposition.doubleclassifyInstance(weka.core.Instance inst)Classifies a given instance.voiddisableChecks()Disables the checks.voidenableChecks()Enables the checks.StringfilterTypeTipText()Returns the tip text for this property.StringgammaTipText()Returns the tip text for this property.weka.core.CapabilitiesgetCapabilities()Returns default capabilities of the classifier.weka.core.SelectedTaggetFilterType()Gets how the training data will be transformed.doublegetGamma()Returns the gamma for the RBF kernel.doublegetNoise()Get the value of noise.String[]getOptions()Gets the current settings of the classifier.StringgetRevision()Returns the revision string.weka.core.TechnicalInformationgetTechnicalInformation()Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.StringglobalInfo()Returns a string describing classifierbooleanisChecksTurnedOff()Returns whether checks are turned off or not.EnumerationlistOptions()Returns an enumeration describing the available options.static voidmain(String[] args)Main method for testing this class.StringnoiseTipText()Returns the tip text for this property.protected doublerbfKernel(double[] x, double[] y, double gamma)Computes the RBF kernel.voidsetFilterType(weka.core.SelectedTag newType)Sets how the training data will be transformed.voidsetGamma(double v)Set the gamma for the RBF kernel.voidsetNoise(double v)Set the level of Gaussian Noise.voidsetOptions(String[] options)Parses a given list of options.protected double[]solveChol(double[][] L, double[] b)specialised to solve A * x = b, where x and b are one-dimensionalprotected doublesquaredDistance(double[] x, double[] y)Computes the squared distance.StringtoString()Prints out the classifier.-
Methods inherited from class weka.classifiers.StoppableClassifier
isStopped, stopExecution
-
Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
-
-
-
Field Detail
-
m_NominalToBinary
protected weka.filters.unsupervised.attribute.NominalToBinary m_NominalToBinary
The filter used to make attributes numeric.
-
FILTER_NORMALIZE
public static final int FILTER_NORMALIZE
normalizes the data- See Also:
- Constant Field Values
-
FILTER_STANDARDIZE
public static final int FILTER_STANDARDIZE
standardizes the data- See Also:
- Constant Field Values
-
FILTER_NONE
public static final int FILTER_NONE
no filter- See Also:
- Constant Field Values
-
TAGS_FILTER
public static final weka.core.Tag[] TAGS_FILTER
The filter to apply to the training data
-
m_Filter
protected weka.filters.Filter m_Filter
The filter used to standardize/normalize all values.
-
m_filterType
protected int m_filterType
Whether to normalize/standardize/neither
-
m_Missing
protected weka.filters.unsupervised.attribute.ReplaceMissingValues m_Missing
The filter used to get rid of missing values.
-
m_checksTurnedOff
protected boolean m_checksTurnedOff
Turn off all checks and conversions? Turning them off assumes that data is purely numeric, doesn't contain any missing values, and has a numeric class.
-
m_delta
protected double m_delta
Gaussian Noise Value.
-
m_classIndex
protected int m_classIndex
The class index from the training data
-
m_data
protected double[][] m_data
-
m_gamma
protected double m_gamma
-
m_Alin
protected double m_Alin
The parameters of the linear transforamtion realized by the filter on the class attribute
-
m_Blin
protected double m_Blin
-
m_NumTrain
protected int m_NumTrain
The number of training instances
-
m_avg_target
protected double m_avg_target
The training data.
-
m_t
protected double[] m_t
The vector of target values.
-
m_FallBack
protected GaussianProcessesNoWeights m_FallBack
the fallback model.
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
getTechnicalInformation
public weka.core.TechnicalInformation getTechnicalInformation()
Returns an instance of a TechnicalInformation object, containing detailed information about the technical background of this class, e.g., paper reference or book this class is based on.- Specified by:
getTechnicalInformationin interfaceweka.core.TechnicalInformationHandler- Returns:
- the technical information about this class
-
listOptions
public Enumeration listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptionsin interfaceweka.core.OptionHandler- Overrides:
listOptionsin classweka.classifiers.AbstractClassifier- Returns:
- an enumeration of all the available options.
-
setOptions
public void setOptions(String[] options) throws Exception
Parses a given list of options.- Specified by:
setOptionsin interfaceweka.core.OptionHandler- Overrides:
setOptionsin classweka.classifiers.AbstractClassifier- 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:
getOptionsin interfaceweka.core.OptionHandler- Overrides:
getOptionsin classweka.classifiers.AbstractClassifier- Returns:
- an array of strings suitable for passing to setOptions
-
setFilterType
public void setFilterType(weka.core.SelectedTag newType)
Sets how the training data will be transformed. Should be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Parameters:
newType- the new filtering mode
-
getFilterType
public weka.core.SelectedTag getFilterType()
Gets how the training data will be transformed. Will be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.2200Instances- Returns:
- the filtering mode
-
filterTypeTipText
public String filterTypeTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setNoise
public void setNoise(double v)
Set the level of Gaussian Noise.- Parameters:
v- Value to assign to noise.
-
getNoise
public double getNoise()
Get the value of noise.- Returns:
- Value of noise.
-
noiseTipText
public String noiseTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setGamma
public void setGamma(double v)
Set the gamma for the RBF kernel.- Parameters:
v- the gamma
-
getGamma
public double getGamma()
Returns the gamma for the RBF kernel.- Returns:
- the gamma
-
gammaTipText
public String gammaTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getCapabilities
public weka.core.Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilitiesin interfaceweka.core.CapabilitiesHandler- Specified by:
getCapabilitiesin interfaceweka.classifiers.Classifier- Overrides:
getCapabilitiesin classweka.classifiers.AbstractClassifier- Returns:
- the capabilities of this classifier
-
choleskyDecomposition
protected double[][] choleskyDecomposition(double[][] A) throws ExceptionCholesky decomposition.- Parameters:
A- the matrix.- Returns:
- the decomposition
- Throws:
Exception
-
solveChol
protected double[] solveChol(double[][] L, double[] b)specialised to solve A * x = b, where x and b are one-dimensional
-
squaredDistance
protected double squaredDistance(double[] x, double[] y)Computes the squared distance.- Parameters:
x-y-- Returns:
-
rbfKernel
protected double rbfKernel(double[] x, double[] y, double gamma)Computes the RBF kernel.- Parameters:
x-y-gamma-- Returns:
-
enableChecks
public void enableChecks()
Enables the checks.
-
disableChecks
public void disableChecks()
Disables the checks.
-
isChecksTurnedOff
public boolean isChecksTurnedOff()
Returns whether checks are turned off or not.- Returns:
- true if disabled
-
buildClassifier
public void buildClassifier(weka.core.Instances insts) throws ExceptionMethod for building the classifier.- Specified by:
buildClassifierin interfaceweka.classifiers.Classifier- Parameters:
insts- the set of training instances- Throws:
Exception- if the classifier can't be built successfully
-
classifyInstance
public double classifyInstance(weka.core.Instance inst) throws ExceptionClassifies a given instance.- Specified by:
classifyInstancein interfaceweka.classifiers.Classifier- Overrides:
classifyInstancein classweka.classifiers.AbstractClassifier- Parameters:
inst- the instance to be classified- Returns:
- the classification
- Throws:
Exception- if instance could not be classified successfully
-
toString
public String toString()
Prints out the classifier.
-
getRevision
public String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceweka.core.RevisionHandler- Overrides:
getRevisionin classweka.classifiers.AbstractClassifier- Returns:
- the revision
-
main
public static void main(String[] args)
Main method for testing this class.- Parameters:
args- the commandline parameters
-
-