Class MultinomialNaiveBayesModel
- All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>,Serializable,ProtoSerializable<org.tribuo.protos.core.ModelProto>
Model for multinomial Naive Bayes with Laplace smoothing.
All feature values must be non-negative, otherwise it will throw IllegalArgumentException.
See:
Wang S, Manning CD. "Baselines and Bigrams: Simple, Good Sentiment and Topic Classification" Proceedings of the 50th Annual Meeting of the Association for Computational Linguistics, 2012.
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intProtobuf serialization version.Fields 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 -
Method Summary
Modifier and TypeMethodDescriptionprotected MultinomialNaiveBayesModelcopy(String newName, ModelProvenance newProvenance) Copies a model, replacing its provenance and name with the supplied values.static MultinomialNaiveBayesModeldeserializeFromProto(int version, String className, com.google.protobuf.Any message) Deserialization factory.Generates an excuse for an example.getTopFeatures(int n) Gets the topnfeatures associated with this model.Uses the model to predict the output for a single example.org.tribuo.protos.core.ModelProtoSerializes this object to a protobuf.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
-
Field Details
-
CURRENT_VERSION
public static final int CURRENT_VERSIONProtobuf serialization version.- See Also:
-
-
Method Details
-
deserializeFromProto
public static MultinomialNaiveBayesModel 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.
-
predict
Description copied from class:ModelUses the model to predict the output for a single example.predict does not mutate the example.
Throws
IllegalArgumentExceptionif the example has no features or no feature overlap with the model. -
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<Label>- 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.
-
copy
Description copied from class:ModelCopies a model, replacing its provenance and name with the supplied values.Used to provide the provenance removal functionality.
-
serialize
public org.tribuo.protos.core.ModelProto serialize()Description copied from interface:ProtoSerializableSerializes this object to a protobuf.- Specified by:
serializein interfaceProtoSerializable<org.tribuo.protos.core.ModelProto>- Overrides:
serializein classModel<Label>- Returns:
- The protobuf.
-