Package org.tribuo.regression.libsvm
Class LibSVMRegressionModel
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>
,Serializable
,ONNXExportable
,ProtoSerializable<org.tribuo.protos.core.ModelProto>
A regression model that uses an underlying libSVM model to make the
predictions. Contains an independent model for each output dimension.
See:
Chang CC, Lin CJ. "LIBSVM: a library for Support Vector Machines" ACM transactions on intelligent systems and technology (TIST), 2011.for the nu-svr algorithm:
Schölkopf B, Smola A, Williamson R, Bartlett P L. "New support vector algorithms" Neural Computation, 2000, 1207-1245.and for the original algorithm:
Cortes C, Vapnik V. "Support-Vector Networks" Machine Learning, 1995.
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
Protobuf serialization version.Fields inherited from class org.tribuo.common.libsvm.LibSVMModel
models
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 TypeMethodDescriptionprotected LibSVMRegressionModel
copy
(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.static LibSVMRegressionModel
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.protected double[]
getMeans()
Accessor used in the tests.Returns the support vectors used for each dimension.protected double[]
Accessor used in the tests.Uses the model to predict the output for a single example.org.tribuo.protos.core.ModelProto
Serializes this object to a protobuf.writeONNXGraph
(ONNXRef<?> input) Methods inherited from class org.tribuo.common.libsvm.LibSVMModel
copyModel, deserializeModel, deserializeParameters, getExcuse, getInnerModels, getModel, getTopFeatures, modelEquals, serializeModel, serializeParameters
Methods inherited from class org.tribuo.Model
castModel, copy, 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 LibSVMRegressionModel 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
.
-
getNumberOfSupportVectors
Returns the support vectors used for each dimension.- Returns:
- The support vectors.
-
predict
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. -
getMeans
protected double[] getMeans()Accessor used in the tests. May be considered to be made public.- Returns:
- The means used for standardization.
-
getVariances
protected double[] getVariances()Accessor used in the tests. May be considered to be made public.- Returns:
- The variances used for standardization.
-
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.
-
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.
-
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.
-