Package smile.classification
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 smile.classification.Classifier
Classifier.Trainer<T,
M extends Classifier<T>> -
Field Summary
Fields inherited from class smile.classification.AbstractClassifier
classes
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionstatic RDA
fit
(double[][] x, int[] y, double alpha) Fits regularized discriminant analysis.static RDA
fit
(double[][] x, int[] y, double alpha, double[] priori, double tol) Fits regularized discriminant analysis.static RDA
fit
(double[][] x, int[] y, Properties params) Fits regularized discriminant analysis.Methods inherited from class smile.classification.AbstractClassifier
classes, numClasses
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface smile.classification.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.
-