API Reference - Models - SupportVectorMachine
SupportVectorMachine is a supervised machine learning model that predicts values of -1 and 1 only.
Stored Model Parameters
Contains a matrix.
- ModelParameters[I][J]: Value of matrix at row I and column J. The rows represent the features.
Constructors
new()
Create new model object. If any of the arguments are nil, default argument values for that argument will be used.
SupportVectorMachine.new(maximumNumberOfIterations: integer, cValue: number, kernelFunction: string, kernelParameters: table): ModelObject
Parameters:
-
maximumNumberOfIterations: How many times should the model needed to be trained.
-
learningRate: The speed at which the model learns. Recommended that the value is set between (0 to 1).
-
cValue: How strict should the model can classify the data correctly. Higher the cValue, the closer the data points to the decision boundary.
-
kernelFunction: The kernel function to be used to train the model. Available options are:
-
Linear
-
Polynomial
-
RadialBasisFunction
-
Sigmoid
-
Cosine
-
-
kernelParameters: A table containg the required parameters
Returns:
- ModelObject: The generated model object.
Functions
setParameters()
Set model’s parameters. When any of the arguments are nil, previous argument values for that argument will be used.
SupportVectorMachine:setParameters(maximumNumberOfIterations: integer, cValue: number, kernelFunction: string, kernelParameters: table)
Parameters:
-
maximumNumberOfIterations: How many times should the model needed to be trained.
-
learningRate: The speed at which the model learns. Recommended that the value is set between (0 to 1).
-
cValue: How strict should the model can classify the data correctly. Higher the cValue, the closer the data points to the decision boundary.
-
kernelFunction: The kernel function to be used to train the model. Available options are:
-
Linear
-
Polynomial
-
RadialBasisFunction
-
Sigmoid
-
Cosine
-
-
kernelParameters: A table containg the required parameters
setCValue()
Set how hard the margin should be.
SupportVectorMachine:setCValue(cValue: number)
Parameters:
- cValue: The value of c to be used.
train()
Train the model.
SupportVectorMachine:train(featureMatrix: Matrix, labelVector: Matrix): number[]
Parameters:
-
featureMatrix: Matrix containing all data.
-
labelVector: A (n x 1) matrix containing values related to featureMatrix.
Returns:
- costArray: An array containing cost values.
predict()
Predict the values for given data.
SupportVectorMachine:predict(featureMatrix: Matrix, returnOriginalOutput): Matrix -OR- Matrix
Parameters:
- featureMatrix: Matrix containing all data.
Returns:
- predictedVector: A vector that is predicted by the model.
-OR-
- originalPredictedVector: A vector that contains the original predicted values.
Inherited From
References
- Kernel Methods and Support Vector Machines by Zhiyuan Chen from University Of Nottingham Malaysia (2022/2023). It is the university that Aqwam got his Bachelor’s degree in.