Package smile.classification
Class LogisticRegression.Multinomial
java.lang.Object
smile.classification.AbstractClassifier<double[]>
smile.classification.LogisticRegression
smile.classification.LogisticRegression.Multinomial
- All Implemented Interfaces:
Serializable
,ToDoubleFunction<double[]>
,ToIntFunction<double[]>
,Classifier<double[]>
- Enclosing class:
LogisticRegression
Multinomial logistic regression. The dependent variable is nominal with more than two levels.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class smile.classification.LogisticRegression
LogisticRegression.Binomial, LogisticRegression.Multinomial
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
ConstructorDescriptionMultinomial
(double[][] w, double L, double lambda, IntSet labels) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiondouble[][]
Returns a 2d-array of size (k-1) x (p+1), containing the linear weights of multi-class logistic regression, where k is the number of classes and p is the dimension of feature vectors.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.void
update
(double[] x, int y) Online update the classifier with a new training instance.Methods inherited from class smile.classification.LogisticRegression
AIC, binomial, binomial, binomial, fit, fit, fit, getLearningRate, loglikelihood, multinomial, multinomial, multinomial, online, setLearningRate, soft
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, predict, predict, predict, predict, predict, predict, score, update, update
-
Constructor Details
-
Multinomial
Constructor.- Parameters:
w
- the weights.L
- the log-likelihood of learned model.lambda
-lambda > 0
gives a "regularized" estimate of linear weights which often has superior generalization performance, especially when the dimensionality is high.labels
- the class label encoder.
-
-
Method Details
-
coefficients
public double[][] coefficients()Returns a 2d-array of size (k-1) x (p+1), containing the linear weights of multi-class logistic regression, where k is the number of classes and p is the dimension of feature vectors. The last element of each row is the weight of bias.- Returns:
- the linear weights.
-
predict
public int predict(double[] x) Description copied from interface:Classifier
Predicts the class label of an instance.- Parameters:
x
- the instance to be classified.- Returns:
- the predicted class label.
-
predict
public int predict(double[] x, double[] posteriori) Description copied from interface:Classifier
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.- Parameters:
x
- an instance to be classified.posteriori
- a posteriori probabilities on output.- Returns:
- the predicted class label
-
update
public void update(double[] x, int y) Description copied from interface:Classifier
Online update the classifier with a new training instance. In general, this method may be NOT multi-thread safe.- Parameters:
x
- the training instance.y
- the training label.
-