Class LibLinearRegressionModel

All Implemented Interfaces:<ModelProvenance>, Serializable, ONNXExportable

public class LibLinearRegressionModel extends LibLinearModel<Regressor> implements ONNXExportable
A Model which wraps a LibLinear-java model.

It disables the LibLinear debug output as it's very chatty.

It contains an independent liblinear model for each regression dimension.


 Fan RE, Chang KW, Hsieh CJ, Wang XR, Lin CJ.
 "LIBLINEAR: A library for Large Linear Classification"
 Journal of Machine Learning Research, 2008.
and for the original algorithm:
 Cortes C, Vapnik V.
 "Support-Vector Networks"
 Machine Learning, 1995.
See Also:
  • Method Details

    • predict

      public Prediction<Regressor> predict(Example<Regressor> example)
      Description copied from class: Model
      Uses the model to predict the output for a single example.

      predict does not mutate the example.

      Throws IllegalArgumentException if the example has no features or no feature overlap with the model.

      Specified by:
      predict in class Model<Regressor>
      example - the example to predict.
      the result of the prediction.
    • getTopFeatures

      public Map<String,List<<String,Double>>> getTopFeatures(int n)
      Description copied from class: Model
      Gets the top n features associated with this model.

      If the model does not produce per output feature lists, it returns a map with a single element with key Model.ALL_OUTPUTS.

      If the model cannot describe it's top features then it returns Collections.emptyMap().

      Specified by:
      getTopFeatures in class Model<Regressor>
      n - the number of features to return. If this value is less than 0, all features should be returned for each class, unless the model cannot score it's features.
      a map from string outputs to an ordered list of pairs of feature names and weights associated with that feature in the model
    • copy

      protected LibLinearRegressionModel copy(String newName, ModelProvenance newProvenance)
      Description copied from class: Model
      Copies a model, replacing its provenance and name with the supplied values.

      Used to provide the provenance removal functionality.

      Specified by:
      copy in class Model<Regressor>
      newName - The new name.
      newProvenance - The new provenance.
      A copy of the model.
    • getFeatureWeights

      protected double[][] getFeatureWeights()
      Description copied from class: LibLinearModel
      Extracts the feature weights from the models. The first dimension corresponds to the model index.
      Specified by:
      getFeatureWeights in class LibLinearModel<Regressor>
      The feature weights.
    • innerGetExcuse

      protected Excuse<Regressor> innerGetExcuse(Example<Regressor> e, double[][] allFeatureWeights)
      The call to model.getFeatureWeights in the public methods copies the weights array so this inner method exists to save the copy in getExcuses.

      If it becomes a problem then we could cache the feature weights in the model.

      Specified by:
      innerGetExcuse in class LibLinearModel<Regressor>
      e - The example.
      allFeatureWeights - The feature weights.
      An excuse for this example.
    • exportONNXModel

      public OnnxMl.ModelProto exportONNXModel(String domain, long modelVersion)
      Description copied from interface: ONNXExportable
      Exports this Model as an ONNX protobuf.
      Specified by:
      exportONNXModel in interface ONNXExportable
      domain - A reverse-DNS name to namespace the model (e.g., org.tribuo.classification.sgd.linear).
      modelVersion - A version number for this model.
      The ONNX ModelProto representing this Tribuo Model.
    • writeONNXGraph

      public ONNXNode writeONNXGraph(ONNXRef<?> input)
      Description copied from interface: ONNXExportable
      Writes this Model into OnnxMl.GraphProto.Builder inside the input's ONNXContext.
      Specified by:
      writeONNXGraph in interface ONNXExportable
      input - The input to the model graph.
      the output node of the model graph.