Package weka.classifiers.functions
Class ClassificationViaPLS
- java.lang.Object
-
- weka.classifiers.AbstractClassifier
-
- weka.classifiers.functions.ClassificationViaPLS
-
- All Implemented Interfaces:
Serializable,Cloneable,weka.classifiers.Classifier,weka.core.BatchPredictor,weka.core.CapabilitiesHandler,weka.core.CapabilitiesIgnorer,weka.core.CommandlineRunnable,weka.core.OptionHandler,PLSMatrixAccess,weka.core.RevisionHandler
public class ClassificationViaPLS extends weka.classifiers.AbstractClassifier implements PLSMatrixAccess
Performs ClassificationViaRegression using PLSClassifierWeightedWithLoadings as base classifier, allowing access to the PLS matrices.
Valid options are:
-filter <filter specification> The PLS filter to use. Full classname of filter to include, followed by scheme options. (default: weka.filters.supervised.attribute.PLSFilterWithLoadings)
-label-index <num> The label index (of the class attribute) to return the PLS matrices for. 'first' and 'last' are accepted as well. (default: first)
-label-string <label> The label string (of the class attribute) to return the PLS matrices for. Overrides the '-label-index' option if non-empty. (default: '')
-D If set, classifier is run in debug mode and may output additional info to the console
Options specific to filter weka.filters.supervised.attribute.PLSFilterWithLoadings ('-filter'):-D Turns on output of debugging information.
-C <num> The number of components to compute. (default: 20)
-U Updates the class attribute as well. (default: off)
-M Turns replacing of missing values on. (default: off)
-A <SIMPLS|PLS1> The algorithm to use. (default: PLS1)
-P <none|center|standardize> The type of preprocessing that is applied to the data. (default: center)
- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected ClassificationViaRegressionDm_CVRtheClassificationViaRegressionused internally.protected weka.core.Instancesm_Headerthe header of the training set.protected weka.core.SingleIndexm_LabelIndexThe label index to get the PLS matrices for.protected Stringm_LabelStringthe label string to get the PLS matrices for (overrides the label index).
-
Constructor Summary
Constructors Constructor Description ClassificationViaPLS()Initializes the classifier.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidbuildClassifier(weka.core.Instances data)Generates a classifier.doubleclassifyInstance(weka.core.Instance instance)Classifies the given test instance.double[]distributionForInstance(weka.core.Instance instance)Predicts the class memberships for a given instance.StringfilterTipText()Returns the tip text for this propertyweka.core.CapabilitiesgetCapabilities()Returns the Capabilities of this classifier.weka.filters.FiltergetFilter()Get the PLS filter.StringgetLabelIndex()Get the label index of the class attribute to get the PLS matrices for.StringgetLabelString()Get the class attribute's label to get the PLS matrices for.String[]getOptions()returns the options of the current setupweka.core.matrix.MatrixgetPLS1bHat()Returns the PLS1 b "hat" matrix.weka.core.matrix.MatrixgetPLS1P()Returns the PLS1 P matrix.weka.core.matrix.MatrixgetPLS1RegVector()Returns the reg vector.weka.core.matrix.MatrixgetPLS1W()Returns the PLS1 W matrix.StringgetRevision()Returns the revision string.protected PLSClassifierWeightedWithLoadingsgetSelectedClassifier()Returns the specified base classifier.weka.core.matrix.MatrixgetSimplsB()Returns the SIMPLS B matrix.weka.core.matrix.MatrixgetSimplsW()Returns the SIMPLS W matrix.StringglobalInfo()Returns a string describing classifierStringlabelIndexTipText()Returns the tip text for this property.StringlabelStringTipText()Returns the tip text for this property.EnumerationlistOptions()Gets an enumeration describing the available options.static voidmain(String[] args)Main method for running this class.voidsetFilter(weka.filters.Filter value)Set the PLS filter (only used for setup).voidsetLabelIndex(String value)Set the label index to get the PLS matrices for.voidsetLabelString(String value)Set the class attribute's label to get the PLS matrices for.voidsetOptions(String[] options)Parses the options for this object.StringtoString()Returns a string representation of the built model.-
Methods inherited from class weka.classifiers.AbstractClassifier
batchSizeTipText, debugTipText, distributionsForInstances, doNotCheckCapabilitiesTipText, forName, getBatchSize, getDebug, getDoNotCheckCapabilities, getNumDecimalPlaces, implementsMoreEfficientBatchPrediction, makeCopies, makeCopy, numDecimalPlacesTipText, postExecution, preExecution, run, runClassifier, setBatchSize, setDebug, setDoNotCheckCapabilities, setNumDecimalPlaces
-
-
-
-
Field Detail
-
m_Header
protected weka.core.Instances m_Header
the header of the training set.
-
m_CVR
protected ClassificationViaRegressionD m_CVR
theClassificationViaRegressionused internally.
-
m_LabelIndex
protected weka.core.SingleIndex m_LabelIndex
The label index to get the PLS matrices for.
-
m_LabelString
protected String m_LabelString
the label string to get the PLS matrices for (overrides the label index).
-
-
Method Detail
-
globalInfo
public String globalInfo()
Returns a string describing classifier- Returns:
- a description suitable for displaying in the explorer/experimenter gui
-
listOptions
public Enumeration listOptions()
Gets 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.
-
getOptions
public String[] getOptions()
returns the options of the current setup- Specified by:
getOptionsin interfaceweka.core.OptionHandler- Overrides:
getOptionsin classweka.classifiers.AbstractClassifier- Returns:
- the current options
-
setOptions
public void setOptions(String[] options) throws Exception
Parses the options for this object.
Valid options are:
-filter <filter specification> The PLS filter to use. Full classname of filter to include, followed by scheme options. (default: weka.filters.supervised.attribute.PLSFilterWithLoadings)
-label-index <num> The label index (of the class attribute) to return the PLS matrices for. 'first' and 'last' are accepted as well. (default: first)
-label-string <label> The label string (of the class attribute) to return the PLS matrices for. Overrides the '-label-index' option if non-empty. (default: '')
-D If set, classifier is run in debug mode and may output additional info to the console
Options specific to filter weka.filters.supervised.attribute.PLSFilterWithLoadings ('-filter'):-D Turns on output of debugging information.
-C <num> The number of components to compute. (default: 20)
-U Updates the class attribute as well. (default: off)
-M Turns replacing of missing values on. (default: off)
-A <SIMPLS|PLS1> The algorithm to use. (default: PLS1)
-P <none|center|standardize> The type of preprocessing that is applied to the data. (default: center)
- Specified by:
setOptionsin interfaceweka.core.OptionHandler- Overrides:
setOptionsin classweka.classifiers.AbstractClassifier- Parameters:
options- the options to use- Throws:
Exception- if setting of options fails
-
setFilter
public void setFilter(weka.filters.Filter value) throws ExceptionSet the PLS filter (only used for setup).- Parameters:
value- the kernel filter.- Throws:
Exception- if not PLSFilter
-
getFilter
public weka.filters.Filter getFilter()
Get the PLS filter.- Returns:
- the PLS filter
-
filterTipText
public String filterTipText()
Returns the tip text for this property- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setLabelIndex
public void setLabelIndex(String value)
Set the label index to get the PLS matrices for.- Parameters:
value- the label index of the class attribute
-
getLabelIndex
public String getLabelIndex()
Get the label index of the class attribute to get the PLS matrices for.- Returns:
- the label index of the class attribute
-
labelIndexTipText
public String labelIndexTipText()
Returns the tip text for this property.- Returns:
- tip text for this property suitable for displaying in the explorer/experimenter gui
-
setLabelString
public void setLabelString(String value)
Set the class attribute's label to get the PLS matrices for. Overridesm_LabelIndexif non-empty.- Parameters:
value- the label string of the class attribute
-
getLabelString
public String getLabelString()
Get the class attribute's label to get the PLS matrices for. Overridesm_LabelIndexif non-empty.- Returns:
- the label string of the class attribute
-
labelStringTipText
public String labelStringTipText()
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 the Capabilities of this classifier. Maximally permissive capabilities are allowed by default. Derived classifiers should override this method and first disable all capabilities and then enable just those capabilities that make sense for the scheme.- Specified by:
getCapabilitiesin interfaceweka.core.CapabilitiesHandler- Specified by:
getCapabilitiesin interfaceweka.classifiers.Classifier- Overrides:
getCapabilitiesin classweka.classifiers.AbstractClassifier- Returns:
- the capabilities of this object
- See Also:
Capabilities
-
buildClassifier
public void buildClassifier(weka.core.Instances data) throws ExceptionGenerates a classifier.- Specified by:
buildClassifierin interfaceweka.classifiers.Classifier- Parameters:
data- set of instances serving as training data- Throws:
Exception- if the classifier has not been generated successfully
-
classifyInstance
public double classifyInstance(weka.core.Instance instance) throws ExceptionClassifies the given test instance. The instance has to belong to a dataset when it's being classified.- Specified by:
classifyInstancein interfaceweka.classifiers.Classifier- Overrides:
classifyInstancein classweka.classifiers.AbstractClassifier- Parameters:
instance- the instance to be classified- Returns:
- the predicted most likely class for the instance or Instance.missingValue() if no prediction is made
- Throws:
Exception- if an error occurred during the prediction
-
distributionForInstance
public double[] distributionForInstance(weka.core.Instance instance) throws ExceptionPredicts the class memberships for a given instance. If an instance is unclassified, the returned array elements must be all zero. If the class is numeric, the array must consist of only one element, which contains the predicted value.- Specified by:
distributionForInstancein interfaceweka.classifiers.Classifier- Overrides:
distributionForInstancein classweka.classifiers.AbstractClassifier- Parameters:
instance- the instance to be classified- Returns:
- an array containing the estimated membership probabilities of the test instance in each class or the numeric prediction
- Throws:
Exception- if distribution could not be computed successfully
-
getSelectedClassifier
protected PLSClassifierWeightedWithLoadings getSelectedClassifier()
Returns the specified base classifier. Either using the label index or the class label string to identify the classifier.- Returns:
- the specified classifier, the default classifier if failed to locate
-
getPLS1RegVector
public weka.core.matrix.Matrix getPLS1RegVector()
Returns the reg vector.- Specified by:
getPLS1RegVectorin interfacePLSMatrixAccess- Returns:
- the vector
-
getPLS1P
public weka.core.matrix.Matrix getPLS1P()
Returns the PLS1 P matrix.- Specified by:
getPLS1Pin interfacePLSMatrixAccess- Returns:
- the matrix
-
getPLS1W
public weka.core.matrix.Matrix getPLS1W()
Returns the PLS1 W matrix.- Specified by:
getPLS1Win interfacePLSMatrixAccess- Returns:
- the matrix
-
getPLS1bHat
public weka.core.matrix.Matrix getPLS1bHat()
Returns the PLS1 b "hat" matrix.- Specified by:
getPLS1bHatin interfacePLSMatrixAccess- Returns:
- the matrix
-
getSimplsW
public weka.core.matrix.Matrix getSimplsW()
Returns the SIMPLS W matrix.- Specified by:
getSimplsWin interfacePLSMatrixAccess- Returns:
- the matrix
-
getSimplsB
public weka.core.matrix.Matrix getSimplsB()
Returns the SIMPLS B matrix.- Specified by:
getSimplsBin interfacePLSMatrixAccess- Returns:
- the matrix
-
getRevision
public String getRevision()
Returns the revision string.- Specified by:
getRevisionin interfaceweka.core.RevisionHandler- Overrides:
getRevisionin classweka.classifiers.AbstractClassifier- Returns:
- the revision
-
toString
public String toString()
Returns a string representation of the built model.
-
main
public static void main(String[] args)
Main method for running this class.- Parameters:
args- the commandline parameters
-
-