Class RDA

All Implemented Interfaces:
Serializable, ToDoubleFunction<double[]>, ToIntFunction<double[]>, Classifier<double[]>

public class RDA extends QDA
Regularized discriminant analysis. RDA is a compromise between LDA and QDA, which allows one to shrink the separate covariances of QDA toward a common variance as in LDA. This method is very similar in flavor to ridge regression. The regularized covariance matrices of each class is Σk(α) = α Σk + (1 - α) Σ. The quadratic discriminant function is defined using the shrunken covariance matrices Σk(α). The parameter α in [0, 1] controls the complexity of the model. When α is one, RDA becomes QDA. While α is zero, RDA is equivalent to LDA. Therefore, the regularization factor α allows a continuum of models between LDA and QDA.
See Also:
  • Constructor Details

    • RDA

      public RDA(double[] priori, double[][] mu, double[][] eigen, Matrix[] scaling)
      Constructor.
      Parameters:
      priori - a priori probabilities of each class.
      mu - the mean vectors of each class.
      eigen - the eigen values of each variance matrix.
      scaling - the eigen vectors of each covariance matrix.
    • RDA

      public RDA(double[] priori, double[][] mu, double[][] eigen, Matrix[] scaling, IntSet labels)
      Constructor.
      Parameters:
      priori - a priori probabilities of each class.
      mu - the mean vectors of each class.
      eigen - the eigen values of each variance matrix.
      scaling - the eigen vectors of each covariance matrix.
      labels - the class label encoder.
  • Method Details

    • fit

      public static RDA fit(double[][] x, int[] y, Properties params)
      Fits regularized discriminant analysis.
      Parameters:
      x - training samples.
      y - training labels.
      params - the hyperparameters.
      Returns:
      the model.
    • fit

      public static RDA fit(double[][] x, int[] y, double alpha)
      Fits regularized discriminant analysis.
      Parameters:
      x - training samples.
      y - training labels in [0, k), where k is the number of classes.
      alpha - regularization factor in [0, 1] allows a continuum of models between LDA and QDA.
      Returns:
      the model.
    • fit

      public static RDA fit(double[][] x, int[] y, double alpha, double[] priori, double tol)
      Fits regularized discriminant analysis.
      Parameters:
      x - training samples.
      y - training labels in [0, k), where k is the number of classes.
      alpha - regularization factor in [0, 1] allows a continuum of models between LDA and QDA.
      priori - the priori probability of each class. If null, it will be estimated from the training data.
      tol - a tolerance to decide if a covariance matrix is singular; it will reject variables whose variance is less than tol2.
      Returns:
      the model.