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

public static class LogisticRegression.Multinomial extends LogisticRegression
Multinomial logistic regression. The dependent variable is nominal with more than two levels.
See Also:
  • Constructor Details

    • Multinomial

      public Multinomial(double[][] w, double L, double lambda, IntSet labels)
      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.