Class Maxent.Multinomial
java.lang.Object
smile.classification.AbstractClassifier<int[]>
smile.classification.Maxent
smile.classification.Maxent.Multinomial
- All Implemented Interfaces:
Serializable, ToDoubleFunction<int[]>, ToIntFunction<int[]>, Classifier<int[]>
- Enclosing class:
Maxent
Multinomial maximum entropy classifier. The dependent variable is nominal with more than two levels.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class Maxent
Maxent.Binomial, Maxent.Multinomial, Maxent.OptionsNested classes/interfaces inherited from interface Classifier
Classifier.Trainer<T,M> -
Field Summary
Fields inherited from class AbstractClassifier
classes -
Constructor Summary
ConstructorsConstructorDescriptionMultinomial(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.intpredict(int[] x) Predicts the class label of an instance.intpredict(int[] x, double[] posteriori) Predicts the class label of an instance and also calculate a posteriori probabilities.voidupdate(int[] x, int y) Online update the classifier with a new training instance.Methods inherited from class Maxent
AIC, binomial, binomial, dimension, fit, fit, getLearningRate, loglikelihood, multinomial, multinomial, online, setLearningRate, softMethods 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, 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 > 0gives 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(int[] x) Description copied from interface:ClassifierPredicts the class label of an instance.- Parameters:
x- the instance to be classified.- Returns:
- the predicted class label.
-
predict
public int predict(int[] x, double[] posteriori) Description copied from interface:ClassifierPredicts 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(int[] x, int y) Description copied from interface:ClassifierOnline 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.
-