Class PLSFilter

All Implemented Interfaces:
Serializable, CapabilitiesHandler, OptionHandler, RevisionHandler, TechnicalInformationHandler, SupervisedFilter

public class PLSFilter extends SimpleBatchFilter implements SupervisedFilter, TechnicalInformationHandler
Runs Partial Least Square Regression over the given instances and computes the resulting beta matrix for prediction.
By default it replaces missing values and centers the data.

For more information see:

Tormod Naes, Tomas Isaksson, Tom Fearn, Tony Davies (2002). A User Friendly Guide to Multivariate Calibration and Classification. NIR Publications.

StatSoft, Inc.. Partial Least Squares (PLS).

Bent Jorgensen, Yuri Goegebeur. Module 7: Partial least squares regression I.

S. de Jong (1993). SIMPLS: an alternative approach to partial least squares regression. Chemometrics and Intelligent Laboratory Systems. 18:251-263.

BibTeX:

 @book{Naes2002,
    author = {Tormod Naes and Tomas Isaksson and Tom Fearn and Tony Davies},
    publisher = {NIR Publications},
    title = {A User Friendly Guide to Multivariate Calibration and Classification},
    year = {2002},
    ISBN = {0-9528666-2-5}
 }
 
 @misc{missing_id,
    author = {StatSoft, Inc.},
    booktitle = {Electronic Textbook StatSoft},
    title = {Partial Least Squares (PLS)},
    HTTP = {http://www.statsoft.com/textbook/stpls.html}
 }
 
 @misc{missing_id,
    author = {Bent Jorgensen and Yuri Goegebeur},
    booktitle = {ST02: Multivariate Data Analysis and Chemometrics},
    title = {Module 7: Partial least squares regression I},
    HTTP = {http://statmaster.sdu.dk/courses/ST02/module07/}
 }
 
 @article{Jong1993,
    author = {S. de Jong},
    journal = {Chemometrics and Intelligent Laboratory Systems},
    pages = {251-263},
    title = {SIMPLS: an alternative approach to partial least squares regression},
    volume = {18},
    year = {1993}
 }
 

Valid options are:

 -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: 5541 $
Author:
FracPete (fracpete at waikato dot ac dot nz)
See Also:
  • Field Details

    • ALGORITHM_SIMPLS

      public static final int ALGORITHM_SIMPLS
      the type of algorithm: SIMPLS
      See Also:
    • ALGORITHM_PLS1

      public static final int ALGORITHM_PLS1
      the type of algorithm: PLS1
      See Also:
    • TAGS_ALGORITHM

      public static final Tag[] TAGS_ALGORITHM
      the types of algorithm
    • PREPROCESSING_NONE

      public static final int PREPROCESSING_NONE
      the type of preprocessing: None
      See Also:
    • PREPROCESSING_CENTER

      public static final int PREPROCESSING_CENTER
      the type of preprocessing: Center
      See Also:
    • PREPROCESSING_STANDARDIZE

      public static final int PREPROCESSING_STANDARDIZE
      the type of preprocessing: Standardize
      See Also:
    • TAGS_PREPROCESSING

      public static final Tag[] TAGS_PREPROCESSING
      the types of preprocessing
  • Constructor Details

    • PLSFilter

      public PLSFilter()
      default constructor
  • Method Details

    • globalInfo

      public String globalInfo()
      Returns a string describing this classifier.
      Specified by:
      globalInfo in class SimpleFilter
      Returns:
      a description of the classifier suitable for displaying in the explorer/experimenter gui
    • getTechnicalInformation

      public 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 interface TechnicalInformationHandler
      Returns:
      the technical information about this class
    • listOptions

      public Enumeration listOptions()
      Gets an enumeration describing the available options.
      Specified by:
      listOptions in interface OptionHandler
      Overrides:
      listOptions in class SimpleFilter
      Returns:
      an enumeration of all the available options.
    • getOptions

      public String[] getOptions()
      returns the options of the current setup
      Specified by:
      getOptions in interface OptionHandler
      Overrides:
      getOptions in class SimpleFilter
      Returns:
      the current options
    • setOptions

      public void setOptions(String[] options) throws Exception
      Parses the options for this object.

      Valid options are:

       -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:
      setOptions in interface OptionHandler
      Overrides:
      setOptions in class SimpleFilter
      Parameters:
      options - the options to use
      Throws:
      Exception - if the option setting fails
      See Also:
      • SimpleFilter.reset()
    • numComponentsTipText

      public String numComponentsTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setNumComponents

      public void setNumComponents(int value)
      sets the maximum number of attributes to use.
      Parameters:
      value - the maximum number of attributes
    • getNumComponents

      public int getNumComponents()
      returns the maximum number of attributes to use.
      Returns:
      the current maximum number of attributes
    • performPredictionTipText

      public String performPredictionTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setPerformPrediction

      public void setPerformPrediction(boolean value)
      Sets whether to update the class attribute with the predicted value.
      Parameters:
      value - if true the class value will be replaced by the predicted value.
    • getPerformPrediction

      public boolean getPerformPrediction()
      Gets whether the class attribute is updated with the predicted value.
      Returns:
      true if the class attribute is updated
    • algorithmTipText

      public String algorithmTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setAlgorithm

      public void setAlgorithm(SelectedTag value)
      Sets the type of algorithm to use
      Parameters:
      value - the algorithm type
    • getAlgorithm

      public SelectedTag getAlgorithm()
      Gets the type of algorithm to use
      Returns:
      the current algorithm type.
    • replaceMissingTipText

      public String replaceMissingTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setReplaceMissing

      public void setReplaceMissing(boolean value)
      Sets whether to replace missing values.
      Parameters:
      value - if true missing values are replaced with the ReplaceMissingValues filter.
    • getReplaceMissing

      public boolean getReplaceMissing()
      Gets whether missing values are replace.
      Returns:
      true if missing values are replaced with the ReplaceMissingValues filter
    • preprocessingTipText

      public String preprocessingTipText()
      Returns the tip text for this property
      Returns:
      tip text for this property suitable for displaying in the explorer/experimenter gui
    • setPreprocessing

      public void setPreprocessing(SelectedTag value)
      Sets the type of preprocessing to use
      Parameters:
      value - the preprocessing type
    • getPreprocessing

      public SelectedTag getPreprocessing()
      Gets the type of preprocessing to use
      Returns:
      the current preprocessing type.
    • getCapabilities

      public Capabilities getCapabilities()
      Returns the Capabilities of this filter.
      Specified by:
      getCapabilities in interface CapabilitiesHandler
      Overrides:
      getCapabilities in class Filter
      Returns:
      the capabilities of this object
      See Also:
    • getRevision

      public String getRevision()
      Returns the revision string.
      Specified by:
      getRevision in interface RevisionHandler
      Overrides:
      getRevision in class Filter
      Returns:
      the revision
    • main

      public static void main(String[] args)
      runs the filter with the given arguments.
      Parameters:
      args - the commandline arguments