Class RDA
java.lang.Object
smile.classification.AbstractClassifier<double[]>
smile.classification.QDA
smile.classification.RDA
- All Implemented Interfaces:
Serializable, ToDoubleFunction<double[]>, ToIntFunction<double[]>, Classifier<double[]>
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:
-
Nested Class Summary
Nested classes/interfaces inherited from interface Classifier
Classifier.Trainer<T,M> -
Field Summary
Fields inherited from class AbstractClassifier
classes -
Constructor Summary
ConstructorsConstructorDescriptionRDA(double[] priori, double[][] mu, Vector[] eigen, DenseMatrix[] scaling) Constructor.RDA(double[] priori, double[][] mu, Vector[] eigen, DenseMatrix[] scaling, IntSet labels) Constructor. -
Method Summary
Modifier and TypeMethodDescriptionstatic RDAfit(double[][] x, int[] y, double alpha) Fits regularized discriminant analysis.static RDAfit(double[][] x, int[] y, double alpha, double[] priori, double tol) Fits regularized discriminant analysis.static RDAfit(double[][] x, int[] y, Properties params) Fits regularized discriminant analysis.Methods inherited from class AbstractClassifier
classes, numClassesMethods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface Classifier
applyAsDouble, applyAsInt, online, predict, predict, predict, predict, predict, predict, score, update, update, update
-
Constructor Details
-
RDA
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
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
Fits regularized discriminant analysis.- Parameters:
x- training samples.y- training labels.params- the hyperparameters.- Returns:
- the model.
-
fit
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
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.
-