Class LibSVMAnomalyModel

java.lang.Object
org.tribuo.Model<T>
org.tribuo.common.libsvm.LibSVMModel<Event>
org.tribuo.anomaly.libsvm.LibSVMAnomalyModel
All Implemented Interfaces:
com.oracle.labs.mlrg.olcut.provenance.Provenancable<ModelProvenance>, Serializable, ProtoSerializable<org.tribuo.protos.core.ModelProto>

public class LibSVMAnomalyModel extends LibSVMModel<Event>
An anomaly detection model that uses an underlying libSVM model to make the predictions.

See:

 Chang CC, Lin CJ.
 "LIBSVM: a library for Support Vector Machines"
 ACM transactions on intelligent systems and technology (TIST), 2011.
 

and for the anomaly detection algorithm:

 Schölkopf B, Platt J, Shawe-Taylor J, Smola A J, Williamson R C.
 "Estimating the support of a high-dimensional distribution"
 Neural Computation, 2001, 1443-1471.
 
See Also:
  • Field Details

    • CURRENT_VERSION

      public static final int CURRENT_VERSION
      Protobuf serialization version.
      See Also:
  • Method Details

    • deserializeFromProto

      public static LibSVMAnomalyModel 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 the message.
    • getNumberOfSupportVectors

      public int getNumberOfSupportVectors()
      Returns the number of support vectors.
      Returns:
      The number of support vectors.
    • predict

      public Prediction<Event> predict(Example<Event> 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<Event>
      Parameters:
      example - the example to predict.
      Returns:
      the result of the prediction.
    • copy

      protected LibSVMAnomalyModel 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<Event>
      Parameters:
      newName - The new name.
      newProvenance - The new provenance.
      Returns:
      A copy of the model.
    • serialize

      public org.tribuo.protos.core.ModelProto serialize()
      Description copied from interface: ProtoSerializable
      Serializes this object to a protobuf.
      Specified by:
      serialize in interface ProtoSerializable<org.tribuo.protos.core.ModelProto>
      Overrides:
      serialize in class Model<Event>
      Returns:
      The protobuf.