CompactRegressionSVM
statistics: CompactRegressionSVM
Compact Support Vector Machine regression
A CompactRegressionSVM object holds a support vector regression
model that has dropped its training data.
Create a CompactRegressionSVM object by using the compact
method of a RegressionSVM object.
The compact model keeps what is needed to answer about new data, the
support vectors and their coefficients, the intercept, the kernel, the
standardization and the response transform, and drops what only describes
the fit: the predictor and response data, the observation weights, the
rows used, the observation count, and which training rows became support
vectors. predict and loss therefore agree with the full
model to the last digit, while resubPredict and resubLoss
do not exist here, there being no training data left to resubstitute.
See also: RegressionSVM, fitrsvm
Source Code: CompactRegressionSVM
The CompactRegressionSVM class contains the following properties:
A positive integer scalar. This property is read-only.
A cell array of character vectors. This property is read-only.
A character vector. This property is read-only.
A non-negative scalar, carried over from the model this one was
compacted from. It is what the 'epsiloninsensitive' loss
charges against. This property is read-only.
A row vector with one entry per predictor, used for standardization. Empty when the predictor data were not standardized. This property is read-only.
A row vector with one entry per predictor, used for standardization. Empty when the predictor data were not standardized. This property is read-only.
A numeric column vector with one entry per support vector, signed, as in the model this one was compacted from. This property is read-only.
A numeric column vector, equal to
(obj.SupportVectors / s)' * obj.Alpha, where s is the
kernel scale, so that a prediction is (x / s) * Beta + Bias,
as in MATLAB. It is empty for any kernel other than linear. This
property is read-only.
A numeric scalar. With a linear kernel the prediction is
X * obj.Beta + obj.Bias. This property is read-only.
A numeric matrix with one row per support vector, on the scale the model was trained on. This property is read-only.
A structure with fields Function and Scale, and
Order for a polynomial kernel. Function names the
kernel as MATLAB names it, so a radial basis kernel reports
'gaussian' whichever spelling was given. This property is
read-only.
A numeric vector of column indices, and empty when none is. This property is read-only.
A cell array of character vectors. This property is read-only.
A function handle, applied by predict to the model’s output. It
may be set after construction, either to a handle or to the name of a
supported transformation.
The CompactRegressionSVM class offers the following public methods:
CompactRegressionSVM: obj = discardSupportVectors (obj)
obj = discardSupportVectors (obj) empties
Alpha and SupportVectors, leaving Beta and
Bias to decide every prediction. A linear kernel needs
nothing else, so the returned model predicts what it predicted
before while carrying one vector in place of many.
The kernel must be linear. Under any other the support vectors are part of the decision function and cannot be dropped. Discarding twice is not an error and changes nothing.
See also: fitrsvm, RegressionSVM, CompactRegressionSVM
CompactRegressionSVM: yFit = predict (obj, XC)
yFit = predict (obj, XC) returns a column
vector holding the predicted response for each row of XC. It
agrees with the full model this object was compacted from.
CompactRegressionSVM class object.
The new data may be a table, whose variables are matched to the predictors the model was fitted on by name and not by position: one the model was not fitted on is passed over, one it needs and cannot find is named, and a value holding a level is coded as that level was coded at fitting.
See also: CompactRegressionSVM, RegressionSVM
CompactRegressionSVM: L = loss (obj, X, Y)
CompactRegressionSVM: L = loss (obj, Tbl, ResponseVarName)
CompactRegressionSVM: L = loss (obj, Tbl)
CompactRegressionSVM: L = loss (…, name, value)
L = loss (obj, X, Y) returns the
weighted mean squared error between the response Y and the
response the model predicts for X.
CompactRegressionSVM class object.
X may also be a table Tbl, whose variables are matched to
the predictors the model was fitted on by name and not by position.
loss (obj, Tbl, ResponseVarName) takes the
response from the variable ResponseVarName names, and
loss (obj, Tbl) from the variable the model was
fitted on. The response may also be given beside the table as
Y.
L = loss (…, name, value) accepts the
following Name-Value pairs.
| Name | Value |
|---|---|
'LossFun' | 'mse', the default,
'epsiloninsensitive', or a function handle called as
lossfun (Y, yFit, W) returning a scalar. |
'Weights' | A numeric vector of observation weights with one entry per row of X. It defaults to a uniform weight. The weights are normalized to sum to one before the loss is formed. |
See also: CompactRegressionSVM, RegressionSVM
CompactRegressionSVM: savemodel (obj, filename)
savemodel (obj, filename) saves every property of
the CompactRegressionSVM object obj into filename
in binary format, so that it can be read back with loadmodel.
See also: loadmodel, CompactRegressionSVM