Class AbstractLinearSGDModel<T extends Output<T>>
java.lang.Object
org.tribuo.Model<T>
org.tribuo.common.sgd.AbstractSGDModel<T>
org.tribuo.common.sgd.AbstractLinearSGDModel<T>
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>,Serializable,ProtoSerializable<org.tribuo.protos.core.ModelProto>
- Direct Known Subclasses:
LinearSGDModel,LinearSGDModel,LinearSGDModel
A linear model trained using SGD.
It's an AbstractSGDModel containing a LinearParameters, with
the bias folded into the features.
See:
Bottou L. "Large-Scale Machine Learning with Stochastic Gradient Descent" Proceedings of COMPSTAT, 2010.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.tribuo.common.sgd.AbstractSGDModel
AbstractSGDModel.PredAndActive -
Field Summary
Fields inherited from class org.tribuo.common.sgd.AbstractSGDModel
addBias, modelParametersFields inherited from class org.tribuo.Model
ALL_OUTPUTS, BIAS_FEATURE, featureIDMap, generatesProbabilities, name, outputIDInfo, provenance, provenanceOutputFields inherited from interface org.tribuo.protos.ProtoSerializable
DESERIALIZATION_METHOD_NAME, PROVENANCE_SERIALIZER -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedAbstractLinearSGDModel(String name, ModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, LinearParameters parameters, boolean generatesProbabilities) Constructs a linear model trained via SGD. -
Method Summary
Modifier and TypeMethodDescriptionai.onnx.proto.OnnxMl.ModelProtoexportONNXModel(String domain, long modelVersion) Exports thisModelas an ONNX protobuf.protected abstract StringgetDimensionName(int index) Gets the name of the indexed output dimension.Generates an excuse for an example.getTopFeatures(int n) Gets the topnfeatures associated with this model.Returns a copy of the weights.protected abstract Stringprotected abstract ONNXNodeonnxOutput(ONNXNode input) Takes the unnormalized ONNX output of this model and applies an appropriate normalizer from the concrete class.writeONNXGraph(ONNXRef<?> input) Methods inherited from class org.tribuo.common.sgd.AbstractSGDModel
getModelParameters, predictSingleMethods inherited from class org.tribuo.Model
castModel, copy, copy, createDataCarrier, deserialize, deserializeFromFile, deserializeFromStream, generatesProbabilities, getExcuses, getFeatureIDMap, getName, getOutputIDInfo, getProvenance, innerPredict, predict, predict, predict, serialize, serializeToFile, serializeToStream, setName, toString, validate
-
Constructor Details
-
AbstractLinearSGDModel
protected AbstractLinearSGDModel(String name, ModelProvenance provenance, ImmutableFeatureMap featureIDMap, ImmutableOutputInfo<T> outputIDInfo, LinearParameters parameters, boolean generatesProbabilities) Constructs a linear model trained via SGD.- Parameters:
name- The model name.provenance- The model provenance.featureIDMap- The feature domain.outputIDInfo- The output domain.parameters- The model parameters.generatesProbabilities- Does this model generate probabilities?
-
-
Method Details
-
getTopFeatures
Description copied from class:ModelGets the topnfeatures 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:
getTopFeaturesin classModel<T extends Output<T>>- 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:ModelGenerates 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.
-
getDimensionName
Gets the name of the indexed output dimension.- Parameters:
index- The output dimension index.- Returns:
- The name of the requested output dimension.
-
getWeightsCopy
-
onnxOutput
-
onnxModelName
- Returns:
- Name to write into the ONNX Model.
-
writeONNXGraph
- Parameters:
input- The input to the model graph.- Returns:
- the output node of the model graph.
-
exportONNXModel
Exports thisModelas an ONNX protobuf.- 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.
-