Documentation of 'smile.classification.QDA' Java class
QDA
smile.classification

Class QDA

  • All Implemented Interfaces:
    java.io.Serializable, Classifier<double[]>, SoftClassifier<double[]>


    public class QDA
    extends java.lang.Object
    implements SoftClassifier<double[]>, java.io.Serializable
    Quadratic discriminant analysis. QDA is closely related to linear discriminant analysis (LDA). Like LDA, QDA models the conditional probability density functions as a Gaussian distribution, then uses the posterior distributions to estimate the class for a given test data. Unlike LDA, however, in QDA there is no assumption that the covariance of each of the classes is identical. Therefore, the resulting separating surface between the classes is quadratic.

    The Gaussian parameters for each class can be estimated from training data with maximum likelihood (ML) estimation. However, when the number of training instances is small compared to the dimension of input space, the ML covariance estimation can be ill-posed. One approach to resolve the ill-posed estimation is to regularize the covariance estimation. One of these regularization methods is regularized discriminant analysis.

    See Also:
    LDA, RDA, NaiveBayes, Serialized Form
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class and Description
      static class  QDA.Trainer
      Trainer for quadratic discriminant analysis.
    • Constructor Summary

      Constructors 
      Constructor and Description
      QDA(double[][] x, int[] y)
      Learn quadratic discriminant analysis.
      QDA(double[][] x, int[] y, double tol)
      Learn quadratic discriminant analysis.
      QDA(double[][] x, int[] y, double[] priori)
      Learn quadratic discriminant analysis.
      QDA(double[][] x, int[] y, double[] priori, double tol)
      Learn quadratic discriminant analysis.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      double[] getPriori()
      Returns a priori probabilities.
      int predict(double[] x)
      Predicts the class label of an instance.
      int predict(double[] x, double[] posteriori)
      Predicts the class label of an instance and also calculate a posteriori probabilities.
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • QDA

        public QDA(double[][] x,
                   int[] y)
        Learn quadratic discriminant analysis.
        Parameters:
        x - training samples.
        y - training labels in [0, k), where k is the number of classes.
      • QDA

        public QDA(double[][] x,
                   int[] y,
                   double[] priori)
        Learn quadratic discriminant analysis.
        Parameters:
        x - training samples.
        y - training labels in [0, k), where k is the number of classes.
        priori - the priori probability of each class.
      • QDA

        public QDA(double[][] x,
                   int[] y,
                   double tol)
        Learn quadratic discriminant analysis.
        Parameters:
        x - training samples.
        y - training labels in [0, k), where k is the number of classes.
        tol - a tolerance to decide if a covariance matrix is singular; it will reject variables whose variance is less than tol2.
      • QDA

        public QDA(double[][] x,
                   int[] y,
                   double[] priori,
                   double tol)
        Learn quadratic discriminant analysis.
        Parameters:
        x - training samples.
        y - training labels in [0, k), where k is the number of classes.
        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.
    • Method Detail

      • getPriori

        public double[] getPriori()
        Returns a priori probabilities.
      • predict

        public int predict(double[] x)
        Description copied from interface: Classifier
        Predicts the class label of an instance.
        Specified by:
        predict in interface Classifier<double[]>
        Parameters:
        x - the instance to be classified.
        Returns:
        the predicted class label.
      • predict

        public int predict(double[] x,
                           double[] posteriori)
        Description copied from interface: SoftClassifier
        Predicts the class label of an instance and also calculate a posteriori probabilities. Classifiers may NOT support this method since not all classification algorithms are able to calculate such a posteriori probabilities.
        Specified by:
        predict in interface SoftClassifier<double[]>
        Parameters:
        x - the instance to be classified.
        posteriori - the array to store a posteriori probabilities on output.
        Returns:
        the predicted class label

DataMelt 3.0 © DataMelt by jWork.ORG

You see the box below because you did not login.