Package weka.classifiers.functions
Class GaussianProcessesNoWeights
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.RandomizableClassifier
-
- weka.classifiers.functions.GaussianProcessesNoWeights
-
- All Implemented Interfaces:
Serializable
,Cloneable
,weka.classifiers.Classifier
,weka.classifiers.ConditionalDensityEstimator
,weka.classifiers.IntervalEstimator
,weka.core.BatchPredictor
,weka.core.CapabilitiesHandler
,weka.core.CapabilitiesIgnorer
,weka.core.CommandlineRunnable
,weka.core.OptionHandler
,weka.core.Randomizable
,weka.core.RevisionHandler
,weka.core.TechnicalInformationHandler
,weka.core.WeightedInstancesHandler
public class GaussianProcessesNoWeights extends weka.classifiers.RandomizableClassifier implements weka.classifiers.IntervalEstimator, weka.classifiers.ConditionalDensityEstimator, weka.core.TechnicalInformationHandler, weka.core.WeightedInstancesHandler
* Implements Gaussian processes for regression without hyperparameter-tuning. To make choosing an appropriate noise level easier, this implementation applies normalization/standardization to the target attribute as well as the other attributes (if normalization/standardizaton is turned on). Missing values are replaced by the global mean/mode. Nominal attributes are converted to binary ones. Note that kernel caching is turned off if the kernel used implements CachedKernel. *
* 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:* *
-L <double> * Level of Gaussian Noise wrt transformed target. (default 1)
* *-N * Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
* *-K <classname and parameters> * The Kernel to use. * (default: weka.classifiers.functions.supportVector.PolyKernel)
* *-S <num> * Random number seed. * (default 1)
* *-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).
* *-num-decimal-places * The number of decimal places for the output of numbers in the model (default 2).
* ** Options specific to kernel weka.classifiers.functions.supportVector.PolyKernel: *
* *-E <num> * The Exponent to use. * (default: 1.0)
* *-L * Use lower-order terms. * (default: no)
* *-C <num> * The size of the cache (a prime number), 0 for full cache and * -1 to turn it off. * (default: 250007)
* *-output-debug-info * Enables debugging output (if available) to be printed. * (default: off)
* *-no-checks * Turns off all checks - use with caution! * (default: checks on)
*- Version:
- $Revision: 12227 $
- Author:
- Kurt Driessens ([email protected]), Remco Bouckaert ([email protected])
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
FILTER_NONE
no filterstatic int
FILTER_NORMALIZE
normalizes the datastatic int
FILTER_STANDARDIZE
standardizes the dataprotected double
m_Alin
The parameters of the linear transformation realized by the filter on the class attributeprotected double
m_avg_target
The training data.protected double
m_Blin
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.protected double
m_delta
Gaussian Noise Value.protected double
m_deltaSquared
The squared noise value.protected weka.filters.Filter
m_Filter
The filter used to standardize/normalize all values.protected int
m_filterType
Whether to normalize/standardize/neitherprotected weka.classifiers.functions.supportVector.Kernel
m_kernel
Kernel to use *double[][]
m_L
(negative) covariance matrix in symmetric matrix representationprotected weka.filters.unsupervised.attribute.ReplaceMissingValues
m_Missing
The filter used to get rid of missing values.protected weka.filters.unsupervised.attribute.NominalToBinary
m_NominalToBinary
The filter used to make attributes numeric.protected int
m_NumTrain
The number of training instancesprotected weka.core.matrix.Matrix
m_t
The vector of target values.static weka.core.Tag[]
TAGS_FILTER
The filter to apply to the training data
-
Constructor Summary
Constructors Constructor Description GaussianProcessesNoWeights()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
buildClassifier(weka.core.Instances insts)
Method for building the classifier.double
classifyInstance(weka.core.Instance inst)
Classifies a given instance.protected double
computeStdDev(weka.core.Instance inst, weka.core.matrix.Matrix k)
Computes standard deviation for given instance, without transforming target back into original space.protected weka.core.Instance
filterInstance(weka.core.Instance inst)
Filters an instance.String
filterTypeTipText()
Returns the tip text for this propertyweka.core.Capabilities
getCapabilities()
Returns default capabilities of the classifier.weka.core.SelectedTag
getFilterType()
Gets how the training data will be transformed.weka.classifiers.functions.supportVector.Kernel
getKernel()
Gets the kernel to use.double
getNoise()
Get the value of noise.String[]
getOptions()
Gets the current settings of the classifier.double
getStandardDeviation(weka.core.Instance inst)
Gives standard deviation of the prediction at the given instance.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.String
globalInfo()
Returns a string describing classifierString
kernelTipText()
Returns the tip text for this propertyEnumeration<weka.core.Option>
listOptions()
Returns an enumeration describing the available options.double
logDensity(weka.core.Instance inst, double value)
Returns natural logarithm of density estimate for given value based on given instance.static void
main(String[] argv)
Main method for testing this class.String
noiseTipText()
Returns the tip text for this propertydouble[][]
predictIntervals(weka.core.Instance inst, double confidenceLevel)
Computes a prediction interval for the given instance and confidence level.void
setFilterType(weka.core.SelectedTag newType)
Sets how the training data will be transformed.void
setKernel(weka.classifiers.functions.supportVector.Kernel value)
Sets the kernel to use.void
setNoise(double v)
Set the level of Gaussian Noise.void
setOptions(String[] options)
Parses a given list of options.String
toString()
Prints out the classifier.-
Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionForInstance, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, getRevision, 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_deltaSquared
protected double m_deltaSquared
The squared noise value.
-
m_Alin
protected double m_Alin
The parameters of the linear transformation realized by the filter on the class attribute
-
m_Blin
protected double m_Blin
-
m_kernel
protected weka.classifiers.functions.supportVector.Kernel m_kernel
Kernel to use *
-
m_NumTrain
protected int m_NumTrain
The number of training instances
-
m_avg_target
protected double m_avg_target
The training data.
-
m_L
public double[][] m_L
(negative) covariance matrix in symmetric matrix representation
-
m_t
protected weka.core.matrix.Matrix m_t
The vector of target values.
-
-
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:
getTechnicalInformation
in interfaceweka.core.TechnicalInformationHandler
- Returns:
- the technical information about this class
-
getCapabilities
public weka.core.Capabilities getCapabilities()
Returns default capabilities of the classifier.- Specified by:
getCapabilities
in interfaceweka.core.CapabilitiesHandler
- Specified by:
getCapabilities
in interfaceweka.classifiers.Classifier
- Overrides:
getCapabilities
in classweka.classifiers.AbstractClassifier
- Returns:
- the capabilities of this classifier
-
buildClassifier
public void buildClassifier(weka.core.Instances insts) throws Exception
Method for building the classifier.- Specified by:
buildClassifier
in 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 Exception
Classifies a given instance.- Specified by:
classifyInstance
in interfaceweka.classifiers.Classifier
- Overrides:
classifyInstance
in classweka.classifiers.AbstractClassifier
- Parameters:
inst
- the instance to be classified- Returns:
- the classification
- Throws:
Exception
- if instance could not be classified successfully
-
filterInstance
protected weka.core.Instance filterInstance(weka.core.Instance inst) throws Exception
Filters an instance.- Throws:
Exception
-
computeStdDev
protected double computeStdDev(weka.core.Instance inst, weka.core.matrix.Matrix k) throws Exception
Computes standard deviation for given instance, without transforming target back into original space.- Throws:
Exception
-
predictIntervals
public double[][] predictIntervals(weka.core.Instance inst, double confidenceLevel) throws Exception
Computes a prediction interval for the given instance and confidence level.- Specified by:
predictIntervals
in interfaceweka.classifiers.IntervalEstimator
- Parameters:
inst
- the instance to make the prediction forconfidenceLevel
- the percentage of cases the interval should cover- Returns:
- a 1*2 array that contains the boundaries of the interval
- Throws:
Exception
- if interval could not be estimated successfully
-
getStandardDeviation
public double getStandardDeviation(weka.core.Instance inst) throws Exception
Gives standard deviation of the prediction at the given instance.- Parameters:
inst
- the instance to get the standard deviation for- Returns:
- the standard deviation
- Throws:
Exception
- if computation fails
-
logDensity
public double logDensity(weka.core.Instance inst, double value) throws Exception
Returns natural logarithm of density estimate for given value based on given instance.- Specified by:
logDensity
in interfaceweka.classifiers.ConditionalDensityEstimator
- Parameters:
inst
- the instance to make the prediction for.value
- the value to make the prediction for.- Returns:
- the natural logarithm of the density estimate
- Throws:
Exception
- if the density cannot be computed
-
listOptions
public Enumeration<weka.core.Option> listOptions()
Returns an enumeration describing the available options.- Specified by:
listOptions
in interfaceweka.core.OptionHandler
- Overrides:
listOptions
in classweka.classifiers.RandomizableClassifier
- 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:* *
-L <double> * Level of Gaussian Noise wrt transformed target. (default 1)
* *-N * Whether to 0=normalize/1=standardize/2=neither. (default 0=normalize)
* *-K <classname and parameters> * The Kernel to use. * (default: weka.classifiers.functions.supportVector.PolyKernel)
* *-S <num> * Random number seed. * (default 1)
* *-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).
* *-num-decimal-places * The number of decimal places for the output of numbers in the model (default 2).
* ** Options specific to kernel weka.classifiers.functions.supportVector.PolyKernel: *
* *-E <num> * The Exponent to use. * (default: 1.0)
* *-L * Use lower-order terms. * (default: no)
* *-C <num> * The size of the cache (a prime number), 0 for full cache and * -1 to turn it off. * (default: 250007)
* *-output-debug-info * Enables debugging output (if available) to be printed. * (default: off)
* *-no-checks * Turns off all checks - use with caution! * (default: checks on)
*- Specified by:
setOptions
in interfaceweka.core.OptionHandler
- Overrides:
setOptions
in classweka.classifiers.RandomizableClassifier
- 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 interfaceweka.core.OptionHandler
- Overrides:
getOptions
in classweka.classifiers.RandomizableClassifier
- Returns:
- an array of strings suitable for passing to setOptions
-
kernelTipText
public String kernelTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
getKernel
public weka.classifiers.functions.supportVector.Kernel getKernel()
Gets the kernel to use.- Returns:
- the kernel
-
setKernel
public void setKernel(weka.classifiers.functions.supportVector.Kernel value)
Sets the kernel to use.- Parameters:
value
- the new kernel
-
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
-
getFilterType
public weka.core.SelectedTag getFilterType()
Gets how the training data will be transformed. Will be one of FILTER_NORMALIZE, FILTER_STANDARDIZE, FILTER_NONE.- Returns:
- the filtering mode
-
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
-
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
-
getNoise
public double getNoise()
Get the value of noise.- Returns:
- Value of noise.
-
setNoise
public void setNoise(double v)
Set the level of Gaussian Noise.- Parameters:
v
- Value to assign to noise.
-
toString
public String toString()
Prints out the classifier.
-
main
public static void main(String[] argv)
Main method for testing this class.- Parameters:
argv
- the commandline parameters
-
-