Class SparseLogisticRegression

java.lang.Object
smile.classification.AbstractClassifier<SparseArray>
smile.classification.SparseLogisticRegression
All Implemented Interfaces:
Serializable, ToDoubleFunction<SparseArray>, ToIntFunction<SparseArray>, Classifier<SparseArray>
Direct Known Subclasses:
SparseLogisticRegression.Binomial, SparseLogisticRegression.Multinomial

public abstract class SparseLogisticRegression extends AbstractClassifier<SparseArray>
Logistic regression on sparse data.
See Also:
  • Constructor Details

    • SparseLogisticRegression

      public SparseLogisticRegression(int p, double L, double lambda, IntSet labels)
      Constructor.
      Parameters:
      p - the dimension of input data.
      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

    • binomial

      Fits binomial logistic regression.
      Parameters:
      data - training data.
      Returns:
      the model.
    • binomial

      public static SparseLogisticRegression.Binomial binomial(SparseDataset<Integer> data, Properties params)
      Fits binomial logistic regression.
      Parameters:
      data - training data.
      params - the hyper-parameters.
      Returns:
      the model.
    • binomial

      public static SparseLogisticRegression.Binomial binomial(SparseDataset<Integer> data, double lambda, double tol, int maxIter)
      Fits binomial logistic regression.
      Parameters:
      data - training data.
      lambda - lambda > 0 gives a "regularized" estimate of linear weights which often has superior generalization performance, especially when the dimensionality is high.
      tol - the tolerance for stopping iterations.
      maxIter - the maximum number of iterations.
      Returns:
      the model.
    • multinomial

      public static SparseLogisticRegression.Multinomial multinomial(SparseDataset<Integer> data)
      Fits multinomial logistic regression.
      Parameters:
      data - training data.
      Returns:
      the model.
    • multinomial

      public static SparseLogisticRegression.Multinomial multinomial(SparseDataset<Integer> data, Properties params)
      Fits multinomial logistic regression.
      Parameters:
      data - training data.
      params - the hyper-parameters.
      Returns:
      the model.
    • multinomial

      public static SparseLogisticRegression.Multinomial multinomial(SparseDataset<Integer> data, double lambda, double tol, int maxIter)
      Fits multinomial logistic regression.
      Parameters:
      data - training data.
      lambda - lambda > 0 gives a "regularized" estimate of linear weights which often has superior generalization performance, especially when the dimensionality is high.
      tol - the tolerance for stopping iterations.
      maxIter - the maximum number of iterations.
      Returns:
      the model.
    • fit

      public static SparseLogisticRegression fit(SparseDataset<Integer> data)
      Fits logistic regression.
      Parameters:
      data - training data.
      Returns:
      the model.
    • fit

      public static SparseLogisticRegression fit(SparseDataset<Integer> data, Properties params)
      Fits logistic regression.
      Parameters:
      data - training data.
      params - the hyper-parameters.
      Returns:
      the model.
    • fit

      public static SparseLogisticRegression fit(SparseDataset<Integer> data, double lambda, double tol, int maxIter)
      Fits logistic regression.
      Parameters:
      data - training data.
      lambda - lambda > 0 gives a "regularized" estimate of linear weights which often has superior generalization performance, especially when the dimensionality is high.
      tol - the tolerance for stopping iterations.
      maxIter - the maximum number of iterations.
      Returns:
      the model.
    • soft

      public boolean soft()
      Description copied from interface: Classifier
      Returns true if this is a soft classifier that can estimate the posteriori probabilities of classification.
      Returns:
      true if soft classifier.
    • online

      public boolean online()
      Description copied from interface: Classifier
      Returns true if this is an online learner.
      Returns:
      true if online learner.
    • setLearningRate

      public void setLearningRate(double rate)
      Sets the learning rate of stochastic gradient descent. It is a good practice to adapt the learning rate for different data sizes. For example, it is typical to set the learning rate to eta/n, where eta is in [0.1, 0.3] and n is the size of the training data.
      Parameters:
      rate - the learning rate.
    • getLearningRate

      public double getLearningRate()
      Returns the learning rate of stochastic gradient descent.
      Returns:
      the learning rate of stochastic gradient descent.
    • loglikelihood

      public double loglikelihood()
      Returns the log-likelihood of model.
      Returns:
      the log-likelihood of model.
    • AIC

      public double AIC()
      Returns the AIC score.
      Returns:
      the AIC score.