Class KernelPLS

  • All Implemented Interfaces:
    adams.core.Destroyable, adams.core.GlobalInfoSupporter, adams.core.logging.LoggingLevelHandler, adams.core.logging.LoggingSupporter, adams.core.option.OptionHandler, adams.core.SizeOfHandler, adams.core.TechnicalInformationHandler, Serializable, weka.core.CapabilitiesHandler, GenericPLSMatrixAccess

    public class KernelPLS
    extends AbstractMultiClassPLS
    Kernel Partial Least Squares Regression in Reproducing Kernel Hilbert Space

    For more information see:
    Roman Rosipal, Leonard J. Trejo (2001). Kernel Partial Least Squares Regression in Reproducing Kernel Hilbert Space. Journal of Machine Learning Research. 2:97-123. URL http://www.jmlr.org/papers/volume2/rosipal01a/rosipal01a.pdf

     @article{Rosipal2001,
        author = {Roman Rosipal and Leonard J. Trejo},
        journal = {Journal of Machine Learning Research},
        pages = {97-123},
        title = {Kernel Partial Least Squares Regression in Reproducing Kernel Hilbert Space},
        volume = {2},
        year = {2001},
        URL = {http://www.jmlr.org/papers/volume2/rosipal01a/rosipal01a.pdf}
     }
     


    -logging-level <OFF|SEVERE|WARNING|INFO|CONFIG|FINE|FINER|FINEST> (property: loggingLevel)
        The logging level for outputting errors and debugging output.
        default: WARNING
        min-user-mode: Expert
     
    -preprocessing-type <NONE|CENTER|STANDARDIZE> (property: preprocessingType)
        The type of preprocessing to perform.
        default: CENTER
     
    -replace-missing <boolean> (property: replaceMissing)
        Whether to replace missing values.
        default: false
     
    -num-components <int> (property: numComponents)
        The number of components to compute.
        default: 20
        minimum: 1
     
    -prediction-type <NONE|ALL|EXCEPT_CLASS> (property: predictionType)
        The type of prediction to perform.
        default: NONE
     
    -class-attributes <adams.core.base.BaseRegExp> (property: classAttributes)
        The regular expression for identifying the class attributes (besides an
        explicitly set one).
        default:
        more: https://docs.oracle.com/javase/tutorial/essential/regex/
        https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/regex/Pattern.html
     
    -kernel <com.github.waikatodatamining.matrix.transformation.kernel.AbstractKernel> (property: kernel)
        The kernel to use
        default: com.github.waikatodatamining.matrix.transformation.kernel.RBFKernel -gamma 1.0
     
    -tol <double> (property: tol)
        The inner NIPALS loop maximum number of iterations.
        default: 1.0E-6
        minimum: 0.0
     
    -max-iter <int> (property: maxIter)
        The inner NIPALS loop improvement tolerance.
        default: 500
        minimum: 1
     
    Author:
    FracPete (fracpete at waikato dot ac dot nz)
    See Also:
    Serialized Form
    • Field Detail

      • m_Kernel

        protected com.github.waikatodatamining.matrix.transformation.kernel.AbstractKernel m_Kernel
        the kernel to use.
      • m_Tol

        protected double m_Tol
        Inner NIPALS loop improvement tolerance
      • m_MaxIter

        protected int m_MaxIter
        Inner NIPALS loop maximum number of iterations
      • m_KernelPLS

        protected com.github.waikatodatamining.matrix.algorithm.pls.KernelPLS m_KernelPLS
        the actual algorithm.
    • Constructor Detail

      • KernelPLS

        public KernelPLS()
    • Method Detail

      • globalInfo

        public String globalInfo()
        Returns a string describing the object.
        Specified by:
        globalInfo in interface adams.core.GlobalInfoSupporter
        Specified by:
        globalInfo in class adams.core.option.AbstractOptionHandler
        Returns:
        a description suitable for displaying in the gui
      • getTechnicalInformation

        public adams.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 interface adams.core.TechnicalInformationHandler
        Specified by:
        getTechnicalInformation in class AbstractPLS
        Returns:
        the technical information about this class
      • defineOptions

        public void defineOptions()
        Adds options to the internal list of options.
        Specified by:
        defineOptions in interface adams.core.option.OptionHandler
        Overrides:
        defineOptions in class AbstractMultiClassPLS
      • setKernel

        public void setKernel​(com.github.waikatodatamining.matrix.transformation.kernel.AbstractKernel value)
        Sets the kernel to use.
        Parameters:
        value - the kernel
      • getKernel

        public com.github.waikatodatamining.matrix.transformation.kernel.AbstractKernel getKernel()
        Sets the kernel to use.
        Returns:
        the kernel
      • 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
      • setTol

        public void setTol​(double value)
        Sets the inner NIPALS loop maximum number of iterations.
        Parameters:
        value - the iterations
      • getTol

        public double getTol()
        Sets the inner NIPALS loop maximum number of iterations.
        Returns:
        the iterations
      • tolTipText

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

        public void setMaxIter​(int value)
        Sets the inner NIPALS loop improvement tolerance.
        Parameters:
        value - the tolerance
      • getMaxIter

        public int getMaxIter()
        Sets the inner NIPALS loop improvement tolerance.
        Returns:
        the tolerance
      • maxIterTipText

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

        public weka.core.matrix.Matrix getMatrix​(String name)
        Returns the matrix with the specified name.
        Specified by:
        getMatrix in interface GenericPLSMatrixAccess
        Specified by:
        getMatrix in class AbstractPLS
        Parameters:
        name - the name of the matrix
        Returns:
        the matrix, null if not available
      • doTransform

        protected weka.core.Instances doTransform​(weka.core.Instances data,
                                                  Map<String,​Object> params)
                                           throws Exception
        Transforms the data, initializes if necessary.
        Specified by:
        doTransform in class AbstractPLS
        Parameters:
        data - the data to use
        params - additional parameters
        Returns:
        the transformed data
        Throws:
        Exception