Package org.tribuo.regression.slm
Class SparseLinearModel
java.lang.Object
org.tribuo.Model<T>
org.tribuo.SparseModel<Regressor>
org.tribuo.regression.impl.SkeletalIndependentRegressionSparseModel
org.tribuo.regression.slm.SparseLinearModel
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
,ONNXExportable
,ProtoSerializable<org.tribuo.protos.core.ModelProto>
public class SparseLinearModel
extends SkeletalIndependentRegressionSparseModel
implements ONNXExportable
The inference time version of a sparse linear regression model.
The type of the model depends on the trainer used.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Protobuf serialization version.Fields inherited from class org.tribuo.regression.impl.SkeletalIndependentRegressionSparseModel
dimensions
Fields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutput
Fields inherited from interface org.tribuo.ONNXExportable
PROVENANCE_METADATA_FIELD, SERIALIZER
Fields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER
-
Method Summary
Modifier and TypeMethodDescriptioncopy
(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.protected SparseVector
createFeatures
(Example<Regressor> example) Creates the feature vector.static SparseLinearModel
deserializeFromProto
(int version, String className, com.google.protobuf.Any message) Deserialization factory.ai.onnx.proto.OnnxMl.ModelProto
exportONNXModel
(String domain, long modelVersion) Exports thisModel
as an ONNX protobuf.Generates an excuse for an example.getTopFeatures
(int n) Gets the topn
features associated with this model.Gets a copy of the model parameters.protected Regressor.DimensionTuple
scoreDimension
(int dimensionIdx, SparseVector features) Makes a prediction for a single dimension.org.tribuo.protos.core.ModelProto
Serializes this object to a protobuf.writeONNXGraph
(ONNXRef<?> input) Methods inherited from class org.tribuo.regression.impl.SkeletalIndependentRegressionSparseModel
predict
Methods inherited from class org.tribuo.SparseModel
copy, getActiveFeatures
Methods inherited from class org.tribuo.Model
castModel, createDataCarrier, deserialize, deserializeFromFile, deserializeFromStream, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, serializeToFile, serializeToStream, setName, toString, validate
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.tribuo.ONNXExportable
saveONNXModel, serializeProvenance
-
Field Details
-
CURRENT_VERSION
public static final int CURRENT_VERSIONProtobuf serialization version.- See Also:
-
-
Method Details
-
deserializeFromProto
public static SparseLinearModel deserializeFromProto(int version, String className, com.google.protobuf.Any message) throws com.google.protobuf.InvalidProtocolBufferException Deserialization factory.- Parameters:
version
- The serialized object version.className
- The class name.message
- The serialized data.- Returns:
- The deserialized object.
- Throws:
com.google.protobuf.InvalidProtocolBufferException
- If the protobuf could not be parsed from themessage
.
-
createFeatures
Creates the feature vector. Includes a bias term if the model requires it.- Overrides:
createFeatures
in classSkeletalIndependentRegressionSparseModel
- Parameters:
example
- The example to convert.- Returns:
- The feature vector.
-
scoreDimension
Description copied from class:SkeletalIndependentRegressionSparseModel
Makes a prediction for a single dimension.- Specified by:
scoreDimension
in classSkeletalIndependentRegressionSparseModel
- Parameters:
dimensionIdx
- The dimension index to predict.features
- The features to use.- Returns:
- A single dimension prediction.
-
getTopFeatures
Description copied from class:Model
Gets the topn
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 classModel<Regressor>
- Parameters:
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.- Returns:
- a map from string outputs to an ordered list of pairs of feature names and weights associated with that feature in the model
-
getExcuse
Description copied from class:Model
Generates an excuse for an example.This attempts to explain a classification result. Generating an excuse may be quite an expensive operation.
This excuse either contains per class information or an entry with key Model.ALL_OUTPUTS.
The optional is empty if the model does not provide excuses.
-
copy
Description copied from class:Model
Copies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality.
-
getWeights
Gets a copy of the model parameters.- Returns:
- A map from the dimension name to the model parameters.
-
serialize
public org.tribuo.protos.core.ModelProto serialize()Description copied from interface:ProtoSerializable
Serializes this object to a protobuf.- Specified by:
serialize
in interfaceProtoSerializable<org.tribuo.protos.core.ModelProto>
- Overrides:
serialize
in classModel<Regressor>
- Returns:
- The protobuf.
-
exportONNXModel
Description copied from interface:ONNXExportable
Exports thisModel
as an ONNX protobuf.- Specified by:
exportONNXModel
in interfaceONNXExportable
- Parameters:
domain
- A reverse-DNS name to namespace the model (e.g., org.tribuo.classification.sgd.linear).modelVersion
- A version number for this model.- Returns:
- The ONNX ModelProto representing this Tribuo Model.
-
writeONNXGraph
Description copied from interface:ONNXExportable
- Specified by:
writeONNXGraph
in interfaceONNXExportable
- Parameters:
input
- The input to the model graph.- Returns:
- the output node of the model graph.
-