Linear SVM (Support Vector Machine) | Ignite Documentation
Edit

Linear SVM (Support Vector Machine)

Support Vector Machines (SVMs) are supervised learning models with associated learning algorithms that analyze data used for classification and regression analysis.

Given a set of training examples, each marked as belonging to one or the other of two categories, an SVM training algorithm builds a model that assigns new examples to one category or the other, making it a non-probabilistic binary linear classifier.

Apache Ignite Machine Learning module only supports Linear SVM. For more information look at SVM in Wikipedia.

Model

A Model in the case of SVM is represented by the class SVMLinearClassificationModel. It enables a prediction to be made for a given vector of features, in the following way:

SVMLinearClassificationModel model = ...;

double prediction = model.predict(observation);

Presently Ignite supports a few parameters for SVMLinearClassificationModel:

  • isKeepingRawLabels - controls the output label format: -1 and +1 for false value and raw distances from the separating hyperplane (default value: false)

  • threshold - a threshold to assign +1 label to the observation if the raw value is more than this threshold (default value: 0.0)

SVMLinearClassificationModel model = ...;

double prediction = model
  .withRawLabels(true)
  .withThreshold(5)
  .predict(observation);